Compile time utilities for working with relationship pairs.
More...
|
using | flecs::pair< First, Second >::type = conditional_t<!is_empty<First>::value || is_empty<Second>::value, First, Second> |
|
using | flecs::pair< First, Second >::first = First |
|
using | flecs::pair< First, Second >::second = Second |
|
template<typename First , typename Second , if_t< is_empty< First >::value > = 0> |
using | flecs::pair_object = pair<First, Second> |
|
template<typename T > |
using | flecs::raw_type_t = remove_pointer_t<remove_reference_t<T>> |
|
template<typename P > |
using | flecs::pair_first_t = transcribe_cv_t<remove_reference_t<P>, typename raw_type_t<P>::first> |
| Get pair::first from pair while preserving cv qualifiers.
|
|
template<typename P > |
using | flecs::pair_second_t = transcribe_cv_t<remove_reference_t<P>, typename raw_type_t<P>::second> |
| Get pair::second from pair while preserving cv qualifiers.
|
|
template<typename P > |
using | flecs::pair_type_t = transcribe_cvp_t<remove_reference_t<P>, typename raw_type_t<P>::type> |
| Get pair::type type from pair while preserving cv qualifiers and pointer type.
|
|
using | flecs::actual_type< T, if_not_t< is_pair< T >::value > >::type = T |
|
using | flecs::actual_type< T, if_t< is_pair< T >::value > >::type = pair_type_t<T> |
|
template<typename T > |
using | flecs::actual_type_t = typename actual_type<T>::type |
|
using | flecs::base_type< T >::type = decay_t< actual_type_t<T> > |
|
template<typename T > |
using | flecs::base_type_t = typename base_type<T>::type |
|
using | flecs::base_arg_type< T >::type = remove_pointer_t< remove_reference_t< actual_type_t<T> > > |
|
template<typename T > |
using | flecs::base_arg_type_t = typename base_arg_type<T>::type |
|
Compile time utilities for working with relationship pairs.
◆ actual_type_t
template<typename T >
using flecs::actual_type_t = typename actual_type<T>::type |
◆ base_arg_type_t
◆ base_type_t
template<typename T >
using flecs::base_type_t = typename base_type<T>::type |
◆ first
template<typename First , typename Second >
◆ pair_first_t
template<typename P >
using flecs::pair_first_t = transcribe_cv_t<remove_reference_t<P>, typename raw_type_t<P>::first> |
Get pair::first from pair while preserving cv qualifiers.
Definition at line 88 of file pair.hpp.
◆ pair_object
template<typename First , typename Second , if_t< is_empty< First >::value > = 0>
◆ pair_second_t
Get pair::second from pair while preserving cv qualifiers.
Definition at line 92 of file pair.hpp.
◆ pair_type_t
template<typename P >
using flecs::pair_type_t = transcribe_cvp_t<remove_reference_t<P>, typename raw_type_t<P>::type> |
Get pair::type type from pair while preserving cv qualifiers and pointer type.
Definition at line 96 of file pair.hpp.
◆ raw_type_t
template<typename T >
using flecs::raw_type_t = remove_pointer_t<remove_reference_t<T>> |
◆ second
template<typename First , typename Second >
◆ type [1/5]
template<typename First , typename Second >
using flecs::pair< First, Second >::type = conditional_t<!is_empty<First>::value || is_empty<Second>::value, First, Second> |
◆ type [2/5]
◆ type [3/5]
◆ type [4/5]
◆ type [5/5]
◆ operator const type &()
template<typename First , typename Second >
flecs::pair< First, Second >::operator const type & |
( |
| ) |
const |
|
inline |
◆ operator type &()
template<typename First , typename Second >
◆ operator*() [1/2]
template<typename First , typename Second >
◆ operator*() [2/2]
template<typename First , typename Second >
const type & flecs::pair< First, Second >::operator* |
( |
| ) |
const |
|
inline |
◆ operator->() [1/2]
template<typename First , typename Second >
◆ operator->() [2/2]
template<typename First , typename Second >
const type * flecs::pair< First, Second >::operator-> |
( |
| ) |
const |
|
inline |
◆ pair() [1/2]
template<typename First , typename Second >
◆ pair() [2/2]
template<typename First , typename Second >
◆ value [1/2]
◆ value [2/2]
Initial value:=
std::is_same<T, actual_type_t<T> >::value && !is_enum<T>::value
Definition at line 139 of file pair.hpp.