Using custom RemoveReference instead of relying on the standard library

This commit is contained in:
Pavel Kirienko
2014-08-28 16:37:32 +04:00
parent 62db10d9aa
commit acf45e3e6b
2 changed files with 11 additions and 2 deletions
@@ -90,6 +90,15 @@ struct UAVCAN_EXPORT Select<false, TrueType, FalseType>
typedef FalseType Result;
};
/**
* Remove reference as in <type_traits>
*/
template <class T> struct RemoveReference { typedef T Type; };
template <class T> struct RemoveReference<T&> { typedef T Type; };
#if UAVCAN_CPP_VERSION > UAVCAN_CPP03
template <class T> struct RemoveReference<T&&> { typedef T Type; };
#endif
/**
* Value types
*/