Flecs: include/flecs/addons/cpp/pair.hpp File Reference
Description: A fast entity component system (ECS) for C & C++

| Flecs v4.1 A fast entity component system (ECS) for C & C++

Loading...
Searching...
No Matches
pair.hpp File Reference

Utilities for working with compile-time pairs. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes
struct | flecs::_::pair_base
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, 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...

## Namespaces
namespace | flecs::_
| Int to enum.

## 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.

## Detailed Description

Utilities for working with compile-time pairs.

Definition in file pair.hpp.