![]() |
Flecs v4.1
A fast entity component system (ECS) for C & C++
|
Compile-time utilities for working with relationship pairs. More...
Classes | |
| struct | flecs::pair< First, Second > |
| Type that represents a pair. More... | |
| struct | flecs::is_pair< T > |
| Test if a type is a pair. More... | |
| struct | flecs::actual_type< T, U > |
| Get the actual type from a regular type or pair. More... | |
| struct | flecs::actual_type< T, if_not_t< is_pair< T >::value > > |
| struct | flecs::actual_type< T, if_t< is_pair< T >::value > > |
| struct | flecs::base_type< T > |
| Get the type without const, *, and &. More... | |
| struct | flecs::base_arg_type< T > |
| Get the type without * and & (retains const, which is useful for function args). More... | |
| struct | flecs::is_actual< T > |
| Test if a type is the same as its actual type. More... | |
Typedefs | |
| template<typename First , typename Second , if_t< is_empty< First >::value > = 0> | |
| using | flecs::pair_object = pair<First, Second> |
| Alias for pair when First is empty (tag). | |
| template<typename T > | |
| using | flecs::raw_type_t = remove_pointer_t<remove_reference_t<T>> |
| Get the raw type by removing pointer and reference qualifiers. | |
| 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 a 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 a 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 the pair::type type from a pair while preserving cv qualifiers and pointer type. | |
| template<typename T > | |
| using | flecs::actual_type_t = typename actual_type<T>::type |
| template<typename T > | |
| using | flecs::base_type_t = typename base_type<T>::type |
| Convenience alias for base_type. | |
| template<typename T > | |
| using | flecs::base_arg_type_t = typename base_arg_type<T>::type |
| Convenience alias for base_arg_type. | |
Variables | |
| template<typename T > | |
| constexpr bool | flecs::is_pair_v = is_pair<T>::value |
| Convenience variable template to check if a type is a pair. | |
| template<typename T > | |
| constexpr bool | flecs::is_actual_v = is_actual<T>::value |
| Convenience variable template to check if a type is its own actual type. | |
Compile-time utilities for working with relationship pairs.
| using flecs::actual_type_t = typename actual_type<T>::type |
| using flecs::base_arg_type_t = typename base_arg_type<T>::type |
Convenience alias for base_arg_type.
| using flecs::base_type_t = typename base_type<T>::type |
| using flecs::pair_first_t = transcribe_cv_t<remove_reference_t<P>, typename raw_type_t<P>::first> |
Get pair::first from a pair while preserving cv qualifiers.
| using flecs::pair_object = pair<First, Second> |
| using flecs::pair_second_t = transcribe_cv_t<remove_reference_t<P>, typename raw_type_t<P>::second> |
Get pair::second from a pair while preserving cv qualifiers.
| using flecs::pair_type_t = transcribe_cvp_t<remove_reference_t<P>, typename raw_type_t<P>::type> |
Get the pair::type type from a pair while preserving cv qualifiers and pointer type.
| using flecs::raw_type_t = remove_pointer_t<remove_reference_t<T>> |
|
inlineconstexpr |