27 #ifndef typeTraits_hpp
28 #define typeTraits_hpp
36 template <
typename... Ts>
using void_t = void;
38 template <
typename T,
typename =
void>
39 struct has_value_type : trueFalseT<false> {};
55 struct has_value_type<T, void_t<typename T::value_type>> :
trueFalseT<true> {};
69 template <typename T, bool if_value_type = has_value_type<T>::value >
78 static const bool value = std::is_same< T, std::vector< typename T::value_type> >::value;
87 static const bool value =
false;