|
libbmb
Modern implementation of STL
|
Go to the source code of this file.
Namespaces | |
| namespace | bmb |
| namespace | bmb::detail |
Typedefs | |
| template<typename T > | |
| using | bmb::type_identity_t = type_identity< T >::type |
| type_identity_t | |
| template<bool val> | |
| using | bmb::bool_constant = integral_constant< val > |
| bool_constant | |
| using | bmb::true_type = bool_constant< true > |
| true_type | |
| using | bmb::false_type = bool_constant< false > |
| false_type | |
| template<typename T > | |
| using | bmb::remove_const_t = remove_const< T >::type |
| remove_const_t | |
| template<typename T > | |
| using | bmb::remove_ref_t = remove_ref< T >::type |
| remove_ref_t | |
| template<bool Cond, typename IfTrue , typename IfFalse > | |
| using | bmb::conditional_t = conditional< Cond, IfTrue, IfFalse >::type |
| conditional_t | |
| template<bool Cond, typename T = void> | |
| using | bmb::enable_if_t = enable_if< Cond, T >::type |
| enable_if_t | |
| template<typename... > | |
| using | bmb::void_t = void |
| template<typename F , typename... Args> | |
| using | bmb::invoke_result_t = invoke_result< F, Args... >::type |
| invoke_result_t | |
Functions | |
| template<typename T > | |
| T && | bmb::declval () |
| declval | |
| template<typename T > | |
| true_type | bmb::detail::test_is_class (int T::*) |
| template<typename > | |
| false_type | bmb::detail::test_is_class (...) |
| template<typename B > | |
| true_type | bmb::detail::test_ptr_cast (const B *) |
| template<typename > | |
| false_type | bmb::detail::test_ptr_cast (const void *) |
| template<typename B , typename D > | |
| auto | bmb::detail::test_is_base_of (int) -> decltype(test_ptr_cast< B >(static_cast< D * >(nullptr))) |
| template<typename , typename > | |
| auto | bmb::detail::test_is_base_of (...) -> true_type |
| template<typename F , typename... Args> | |
| auto | bmb::detail::invoke () -> decltype(declval< F >()(declval< Args >()...)) |
| template<typename F , typename... Args> | |
| true_type | bmb::detail::test_is_invocable (decltype(invoke< F, Args... >(), 0)) |
| template<typename... > | |
| false_type | bmb::detail::test_is_invocable (...) |
Variables | |
| template<typename... Types> | |
| constexpr bool | bmb::conjunction_v = conjunction<Types...>::value |
| Logical AND metafunction. | |
| template<typename... Types> | |
| constexpr bool | bmb::disjunction_v = disjunction<Types...>::value |
| Logical OR metafunction. | |
| template<typename T , typename U > | |
| constexpr bool | bmb::is_same_v = is_same<T, U>::value |
| is_same_v | |
| template<typename T > | |
| constexpr bool | bmb::is_lvalue_ref_v = is_lvalue_ref<T>::value |
| is_lvalue_ref_v | |
| template<typename T > | |
| constexpr bool | bmb::is_rvalue_ref_v = is_rvalue_ref<T>::value |
| is_rvalue_ref_v | |
| template<typename T > | |
| constexpr bool | bmb::is_const_v = is_const<T>::value |
| is_const_v | |
| template<typename T > | |
| constexpr bool | bmb::is_class_v = is_class<T>::value |
| is_class_v | |
| template<typename T > | |
| constexpr bool | bmb::is_pointer_v = is_pointer<T>::value |
| is_pointer_v | |
| template<typename Base , typename Derived > | |
| constexpr bool | bmb::is_base_of_v = is_base_of<Base, Derived>::value |
| is_base_of_v | |
| template<typename F , typename... Args> | |
| constexpr bool | bmb::is_invocable_v = is_invocable<F, Args...>::value |
| is_invocable_v | |