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

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

Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions
lifecycle_traits.hpp File Reference

Utilities for discovering and registering component lifecycle hooks. More...

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

Go to the source code of this file.

## Classes
struct | flecs::is_flecs_constructible< T >
struct | flecs::_::has_operator_less< T, typename >
struct | flecs::_::has_operator_less< T, void_t< decltype(std::declval< const T & >()< std::declval< const T & >())> >
struct | flecs::_::has_operator_greater< T, typename >
struct | flecs::_::has_operator_greater< T, void_t< decltype(std::declval< const T & >() > std::declval< const T & >())> >
struct | flecs::_::has_operator_equal< T, typename >
struct | flecs::_::has_operator_equal< T, void_t< decltype(std::declval< const T & >()==std::declval< const T & >())> >

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

## Typedefs
template<typename...>
using | flecs::_::void_t = void

## Functions
template<typename T>
void | flecs::_::ctor_impl (void *ptr, int32_t count, const ecs_type_info_t *info)
template<typename T>
void | flecs::_::dtor_impl (void *ptr, int32_t count, const ecs_type_info_t *info)
template<typename T>
void | flecs::_::copy_impl (void *dst_ptr, const void *src_ptr, int32_t count, const ecs_type_info_t *info)
template<typename T>
void | flecs::_::move_impl (void *dst_ptr, void *src_ptr, int32_t count, const ecs_type_info_t *info)
template<typename T>
void | flecs::_::copy_ctor_impl (void *dst_ptr, const void *src_ptr, int32_t count, const ecs_type_info_t *info)
template<typename T>
void | flecs::_::move_ctor_impl (void *dst_ptr, void *src_ptr, int32_t count, const ecs_type_info_t *info)
template<typename T>
void | flecs::_::ctor_move_dtor_impl (void *dst_ptr, void *src_ptr, int32_t count, const ecs_type_info_t *info)
template<typename T, if_not_t< std::is_trivially_move_assignable< T >::value > = 0>
void | flecs::_::move_dtor_impl (void *dst_ptr, void *src_ptr, int32_t count, const ecs_type_info_t *info)
template<typename T, if_t< std::is_trivially_constructible< T >::value > = 0>
ecs_xtor_t | flecs::_::ctor (ecs_flags32_t &)
template<typename T, if_t< std::is_trivially_destructible< T >::value > = 0>
ecs_xtor_t | flecs::_::dtor (ecs_flags32_t &)
template<typename T, if_t< std::is_trivially_copyable< T >::value > = 0>
ecs_copy_t | flecs::_::copy (ecs_flags32_t &)
template<typename T, if_t< std::is_trivially_move_assignable< T >::value > = 0>
ecs_move_t | flecs::_::move (ecs_flags32_t &)
template<typename T, if_t< std::is_trivially_copy_constructible< T >::value > = 0>
ecs_copy_t | flecs::_::copy_ctor (ecs_flags32_t &)
template<typename T, if_t< std::is_trivially_move_constructible< T >::value > = 0>
ecs_move_t | flecs::_::move_ctor (ecs_flags32_t &)
template<typename T, if_t< std::is_trivially_move_constructible< T >::value &&std::is_trivially_destructible< T >::value > = 0>
ecs_move_t | flecs::_::ctor_move_dtor (ecs_flags32_t &)
template<typename T, if_t< std::is_trivially_move_assignable< T >::value &&std::is_trivially_destructible< T >::value > = 0>
ecs_move_t | flecs::_::move_dtor (ecs_flags32_t &)
template<typename T, if_t< has_operator_less< T >::value &&has_operator_greater< T >::value &&!has_operator_equal< T >::value > = 0>
int | flecs::_::compare_impl (const void *a, const void *b, const ecs_type_info_t *)
template<typename T, if_t< has_operator_less< T >::value||has_operator_greater< T >::value > = 0>
ecs_cmp_t | flecs::_::compare ()
template<typename T, if_t< has_operator_equal< T >::value > = 0>
bool | flecs::_::equals_impl (const void *a, const void *b, const ecs_type_info_t *)
template<typename T, if_t< has_operator_equal< T >::value > = 0>
ecs_equals_t | flecs::_::equals ()

## Detailed Description

Utilities for discovering and registering component lifecycle hooks.

Definition in file lifecycle_traits.hpp.