12 static_assert(
false,
"declval isn't implemented to call it");
37 static constexpr auto value = val;
50template <
typename...
Types>
52 static constexpr bool value = (Types::value && ...);
56template <
typename...
Types>
60template <
typename...
Types>
62 static constexpr bool value = (Types::value || ...);
66template <
typename...
Types>
70template <
typename T,
typename U>
77template <
typename T,
typename U>
185template <
bool Cond,
typename IfTrue,
typename IfFalse>
190template <
typename IfTrue,
typename IfFalse>
196template <
bool Cond,
typename IfTrue,
typename IfFalse>
200template <
bool Cond,
typename T =
void>
209template <
bool Cond,
typename T =
void>
226template <
typename B,
typename D>
229template <
typename,
typename>
235template <
typename Base,
typename Derived>
239 decltype(detail::test_is_base_of<Base, Derived>(0))> {};
242template <
typename Base,
typename Derived>
262template <
typename F,
typename...
Args>
265template <
typename F,
typename...
Args>
268template <
typename...>
275template <
typename F,
typename...
Args>
285template <
typename F,
typename...
Args>
289template <
typename F,
typename...
Args>
293template <
typename F,
typename...
Args>
297template <
typename F,
typename...
Args>
true_type test_is_invocable(decltype(invoke< F, Args... >(), 0))
true_type test_is_class(int T::*)
auto invoke() -> decltype(declval< F >()(declval< Args >()...))
true_type test_ptr_cast(const B *)
auto test_is_base_of(int) -> decltype(test_ptr_cast< B >(static_cast< D * >(nullptr)))
Definition algo_base.h:14
constexpr bool conjunction_v
Logical AND metafunction.
Definition type_traits.h:57
constexpr bool is_lvalue_ref_v
is_lvalue_ref_v
Definition type_traits.h:89
void void_t
Definition type_traits.h:257
constexpr bool is_same_v
is_same_v
Definition type_traits.h:78
enable_if< Cond, T >::type enable_if_t
enable_if_t
Definition type_traits.h:210
type_identity< T >::type type_identity_t
type_identity_t
Definition type_traits.h:31
bool_constant< true > true_type
true_type
Definition type_traits.h:45
constexpr bool is_class_v
is_class_v
Definition type_traits.h:136
invoke_result< F, Args... >::type invoke_result_t
invoke_result_t
Definition type_traits.h:298
conditional< Cond, IfTrue, IfFalse >::type conditional_t
conditional_t
Definition type_traits.h:197
constexpr bool is_invocable_v
is_invocable_v
Definition type_traits.h:290
constexpr bool is_const_v
is_const_v
Definition type_traits.h:111
remove_const< T >::type remove_const_t
remove_const_t
Definition type_traits.h:162
constexpr bool disjunction_v
Logical OR metafunction.
Definition type_traits.h:67
remove_ref< T >::type remove_ref_t
remove_ref_t
Definition type_traits.h:182
constexpr bool is_base_of_v
is_base_of_v
Definition type_traits.h:243
constexpr T && forward(remove_ref_t< T > &value) noexcept
Forward a lvalue.
Definition move.h:33
constexpr bool is_pointer_v
is_pointer_v
Definition type_traits.h:147
constexpr bool is_rvalue_ref_v
is_rvalue_ref_v
Definition type_traits.h:100
T && declval()
declval
Definition type_traits.h:11
IfFalse type
Definition type_traits.h:192
conditional
Definition type_traits.h:186
IfTrue type
Definition type_traits.h:187
Logical AND metafunction.
Definition type_traits.h:51
static constexpr bool value
Definition type_traits.h:52
decltype(invoke< F, Args... >()) type
Definition type_traits.h:279
Definition type_traits.h:273
Logical OR metafunction.
Definition type_traits.h:61
static constexpr bool value
Definition type_traits.h:62
T type
Definition type_traits.h:205
enable_if
Definition type_traits.h:201
integral_constant
Definition type_traits.h:35
decltype(val) value_type
Definition type_traits.h:36
static constexpr auto value
Definition type_traits.h:37
invoke_result
Definition type_traits.h:294
is_base_of
Definition type_traits.h:239
is_class
Definition type_traits.h:132
is_const
Definition type_traits.h:104
is_invocable
Definition type_traits.h:286
is_lvalue_ref
Definition type_traits.h:82
is_pointer
Definition type_traits.h:140
is_lvalue_ref
Definition type_traits.h:93
is_same
Definition type_traits.h:71
T type
Definition type_traits.h:157
remove_const
Definition type_traits.h:151
T type
Definition type_traits.h:152
T type
Definition type_traits.h:172
T type
Definition type_traits.h:177
remove_ref
Definition type_traits.h:166
T type
Definition type_traits.h:167
type_identity
Definition type_traits.h:25
T type
Definition type_traits.h:26