utility.hpp
Go to the documentation of this file.
constexpr auto get(span< E, S > s) -> decltype(s[N])
Definition: span.h:492
typename std::conditional< std::is_reference< T >::value, reference_error, invalid_type >::type error_type
Definition: utility.hpp:28
typename std::tuple_element< I, Tup >::type at
Definition: utility.hpp:45
sfinae_try< T, fail_when_same< U, invalid_type, ErrorType >, fail_when_same< U, reference_error, reference_type_not_supported_by_this_metafunction > > try_but_fail_if_invalid
Definition: utility.hpp:58
typename std::remove_cv< typename std::remove_reference< T >::type >::type shallow_decay
Definition: utility.hpp:79
T Class::* add_member_pointer
Definition: utility.hpp:48
typename std::conditional< std::is_same< T, invalid_type >::value, Fallback, T >::type fallback_if_invalid
Definition: utility.hpp:70
std::integral_constant< bool, Value > bool_type
Definition: utility.hpp:41
typename is_reference_wrapper_t< shallow_decay< T > >::type is_reference_wrapper
Definition: utility.hpp:93
typename unwrap_reference_t< T >::type unwrap_reference
Definition: utility.hpp:107
typename BOOST_CLBL_TRTS_DISJUNCTION(FailIfs..., success< T >)::_::type sfinae_try
Definition: sfinae_errors.hpp:34
Definition: add_member_const.hpp:14
invalid_type()=delete
std::true_type type
Definition: utility.hpp:88
std::false_type type
Definition: utility.hpp:83
reference_error()=delete
decltype(std::declval< T >().get()) type
Definition: utility.hpp:102