|
fennec
|
Part of the fennec metaprogramming library. This header defines structures for accessing traits of types at compile time.
| Syntax | Description | ||
|---|---|---|---|
is_void<TypeT>::value is_void_v<TypeT> |
Stores a boolean value in
| ||
is_null_pointer<TypeT>::value is_null_pointer_v<TypeT> |
Stores a boolean value in
| ||
is_bool<TypeT>::value is_bool_v<TypeT> |
Stores a boolean value in
| ||
is_integral<TypeT>::value is_integral_v<TypeT> |
Stores a boolean value in
| ||
is_floating_point<TypeT>::value is_floating_point_v<TypeT> |
Stores a boolean value in
| ||
is_array<TypeT>::value is_array_v<TypeT> |
| ||
is_enum<TypeT>::value is_enum_v<TypeT> |
| ||
is_union<TypeT>::value is_union_v<TypeT> |
| ||
is_class<TypeT>::value is_class_v<TypeT> |
| ||
is_function<TypeT>::value is_function_v<TypeT> |
| ||
is_pointer<TypeT>::value is_pointer_v<TypeT> |
Stores a boolean value in
| ||
is_lvalue_reference<TypeT>::value is_lvalue_reference_v<TypeT> |
Checks if type
| ||
is_rvalue_reference<TypeT>::value is_rvalue_reference_v<TypeT> |
Checks if type
| ||
is_member_object_pointer<TypeT>::value is_member_object_pointer_v<TypeT> |
Checks if type
| ||
is_member_function_pointer<TypeT>::value is_member_function_pointer_v<TypeT> |
Checks if type
|
| Syntax | Description | ||
|---|---|---|---|
is_arithmetic<TypeT>::value is_arithmetic_v<TypeT> |
Checks if type
| ||
is_fundamental<TypeT>::value is_fundamental_v<TypeT> |
| ||
is_scalar<TypeT>::value is_scalar_v<TypeT> |
Checks if type
| ||
is_object<TypeT>::value is_object_v<TypeT> |
Checks if type
| ||
is_compound<TypeT>::value is_compound_v<TypeT> |
Checks if type
| ||
is_reference<TypeT>::value is_reference_v<TypeT> |
Checks if type
| ||
is_member_pointer<TypeT>::value is_member_pointer_v<TypeT> |
Checks if type
|
| Syntax | Description | ||
|---|---|---|---|
is_const<TypeT>::value is_const_v<TypeT> | |||
is_volatile<TypeT>::value is_volatile_v<TypeT> | |||
is_trivial<TypeT>::value is_trivial_v<TypeT> |
Checks if
| ||
is_trivially_copyable<TypeT>::value is_trivially_copyable_v<TypeT> |
Checks if
| ||
is_standard_layout<TypeT>::value is_standard_layout_v<TypeT> |
Checks if
| ||
has_unique_object_representations<TypeT>::value has_unique_object_representations_v<TypeT> |
Checks if
| ||
is_empty<TypeT>::value is_empty_v<TypeT> |
Checks if
| ||
is_polymorphic<TypeT>::value is_polymorphic_v<TypeT> |
Checks if
| ||
is_abstract<TypeT>::value is_abstract_v<TypeT> |
Checks if
| ||
is_complete<TypeT>::value is_complete_v<TypeT> |
Checks if
| ||
is_final<TypeT>::value is_final_v<TypeT> |
Checks if
| ||
is_aggregate<TypeT>::value is_aggregate_v<TypeT> |
Checks if
| ||
is_signed<TypeT>::value is_signed_v<TypeT> |
Checks if type
| ||
is_unsigned<TypeT>::value is_unsigned_v<TypeT> |
Checks if type
| ||
is_bounded_array<TypeT>::value is_bounded_array_v<TypeT> | |||
is_unbounded_array<TypeT>::value is_unbounded_array_v<TypeT> | |||
is_scoped_enum<TypeT>::value is_scoped_enum_v<TypeT> |
| Syntax | Description | ||||
|---|---|---|---|---|---|
is_convertible<TypeT0, TypeT1>::value is_convertible_v<TypeT> |
Checks if
| ||||
is_constructible<ClassT, ArgsT...>::value is_constructible_v<ClassT, ArgsT...> is_trivially_constructible<ClassT, ArgsT...>::value is_trivially_constructible_v<ClassT, ArgsT...> is_nothrow_constructible<ClassT, ArgsT...>::value is_nothrow_constructible_v<ClassT, ArgsT...> |
| ||||
is_default_constructible<ClassT, ArgsT...>::value is_default_constructible_v<ClassT, ArgsT...> is_trivially_default_constructible<ClassT, ArgsT...>::value is_trivially_default_constructible_v<ClassT, ArgsT...> is_nothrow_default_constructible<ClassT, ArgsT...>::value is_nothrow_default_constructible_v<ClassT, ArgsT...> |
| ||||
is_copy_constructible<ClassT, ArgsT...>::value is_copy_constructible_v<ClassT, ArgsT...> is_trivially_copy_constructible<ClassT, ArgsT...>::value is_trivially_copy_constructible_v<ClassT, ArgsT...> is_nothrow_copy_constructible<ClassT, ArgsT...>::value is_nothrow_copy_constructible_v<ClassT, ArgsT...> |
| ||||
is_move_constructible<ClassT, ArgsT...>::value is_move_constructible_v<ClassT, ArgsT...> is_trivially_move_constructible<ClassT, ArgsT...>::value is_trivially_move_constructible_v<ClassT, ArgsT...> is_nothrow_move_constructible<ClassT, ArgsT...>::value is_nothrow_move_constructible_v<ClassT, ArgsT...> |
| ||||
is_assignable<ClassT, ArgsT...>::value is_assignable_v<ClassT, ArgsT...> is_trivially_assignable<ClassT, ArgsT...>::value is_trivially_assignable_v<ClassT, ArgsT...> is_nothrow_assignable<ClassT, ArgsT...>::value is_nothrow_assignable_v<ClassT, ArgsT...> |
| ||||
is_copy_assignable<ClassT, ArgsT...>::value is_copy_assignable_v<ClassT, ArgsT...> is_trivially_copy_assignable<ClassT, ArgsT...>::value is_trivially_copy_assignable_v<ClassT, ArgsT...> is_nothrow_copy_assignable<ClassT, ArgsT...>::value is_nothrow_copy_assignable_v<ClassT, ArgsT...> |
| ||||
is_move_assignable<ClassT, ArgsT...>::value is_move_assignable_v<ClassT, ArgsT...> is_trivially_move_assignable<ClassT, ArgsT...>::value is_trivially_move_assignable_v<ClassT, ArgsT...> is_nothrow_move_assignable<ClassT, ArgsT...>::value is_nothrow_move_assignable_v<ClassT, ArgsT...> |
| ||||
is_destructible<ClassT, ArgsT...>::value is_destructible_v<ClassT, ArgsT...> is_trivially_destructible<ClassT, ArgsT...>::value is_trivially_destructible_v<ClassT, ArgsT...> is_nothrow_destructible<ClassT, ArgsT...>::value is_nothrow_destructible_v<ClassT, ArgsT...> |
| ||||
has_virtual_destructor<ClassT, ArgsT...>::value has_virtual_destructor_v<ClassT, ArgsT...> |
| Syntax | Description | ||||
|---|---|---|---|---|---|
is_same<TypeT>::value is_same_v<TypeT> |
Checks if
|