56 #ifndef LIB_META_VALUE_TYPE_BINDING_H 57 #define LIB_META_VALUE_TYPE_BINDING_H 74 template<
typename X,
typename XX =
typename X::value_type
75 ,
typename XY =
typename X::reference
76 ,
typename XZ =
typename X::pointer
84 static No_t check(...);
87 static const bool value = (
sizeof(
Yes_t)==
sizeof(check<TY>(0)));
92 : __and_<has_nested_ValueTypeBindings< remove_reference_t<X> >
93 ,__not_<is_StringLike< remove_reference_t<X> >
111 template<
typename TY,
typename SEL =
void>
115 using reference =
typename RefTraits<TY>::Reference;
116 using pointer =
typename RefTraits<TY>::Pointer;
120 template<
typename TY>
125 using value_type =
typename _SrcType::value_type;
126 using reference =
typename _SrcType::reference;
127 using pointer =
typename _SrcType::pointer;
Representation of the result of some operation, EITHER a value or a failure.
Implementation namespace for support and library code.
Helpers for type detection, type rewriting and metaprogramming.
Lumiera error handling (C++ interface).