diff --git a/type_traits.h b/type_traits.h index 2bc3ce4a..c823010c 100644 --- a/type_traits.h +++ b/type_traits.h @@ -309,6 +309,17 @@ namespace etl template struct rank : public integral_constant::value + 1> {}; template struct rank : public integral_constant::value + 1> {}; + /// decay + ///\ingroup type_traits + template + struct decay + { + typedef typename etl::remove_reference::type U; + typedef typename etl::conditional::value, + typename etl::remove_extent::type*, + typename etl::remove_cv::type>::type type; + }; + /// Alignment templates. /// These require compiler specific intrinsics. ///\ingroup type_traits