![]() |
Flecs v3.2
A fast entity component system (ECS) for C & C++
|
Flecs STL (FTL?) More...
#include <stdlib.h>#include "array.hpp"#include "string.hpp"#include "enum.hpp"#include "stringstream.hpp"#include "function_traits.hpp"Go to the source code of this file.
Classes | |
| struct | flecs::_::placement_new_tag_t |
| struct | flecs::_::always_false< T > |
Namespaces | |
| namespace | flecs::_ |
| Int to enum. | |
Macros | |
| #define | FLECS_PLACEMENT_NEW(_ptr, _type) ::new(flecs::_::placement_new_tag, _ptr) _type |
| #define | FLECS_NEW(_type) FLECS_PLACEMENT_NEW(ecs_os_malloc(sizeof(_type)), _type) |
| #define | FLECS_DELETE(_ptr) |
| #define | FLECS_MOV(...) static_cast<flecs::remove_reference_t<decltype(__VA_ARGS__)>&&>(__VA_ARGS__) |
| #define | FLECS_FWD(...) static_cast<decltype(__VA_ARGS__)&&>(__VA_ARGS__) |
| #define | flecs_static_assert(cond, str) static_assert(cond, str) |
Typedefs | |
| template<bool V, typename T , typename F > | |
| using | flecs::conditional_t = typename std::conditional< V, T, F >::type |
| template<typename T > | |
| using | flecs::decay_t = typename std::decay< T >::type |
| template<bool V, typename T = void> | |
| using | flecs::enable_if_t = typename std::enable_if< V, T >::type |
| template<typename T > | |
| using | flecs::remove_pointer_t = typename std::remove_pointer< T >::type |
| template<typename T > | |
| using | flecs::remove_reference_t = typename std::remove_reference< T >::type |
| template<typename T > | |
| using | flecs::is_const_p = is_const< remove_pointer_t< T > > |
| template<class Src , class Dst > | |
| using | flecs::transcribe_const_t = conditional_t< is_const< Src >::value, Dst const, Dst > |
| template<class Src , class Dst > | |
| using | flecs::transcribe_volatile_t = conditional_t< is_volatile< Src >::value, Dst volatile, Dst > |
| template<class Src , class Dst > | |
| using | flecs::transcribe_cv_t = transcribe_const_t< Src, transcribe_volatile_t< Src, Dst > > |
| template<class Src , class Dst > | |
| using | flecs::transcribe_pointer_t = conditional_t< is_pointer< Src >::value, Dst *, Dst > |
| template<class Src , class Dst > | |
| using | flecs::transcribe_cvp_t = transcribe_cv_t< Src, transcribe_pointer_t< Src, Dst > > |
| template<bool V> | |
| using | flecs::if_t = enable_if_t< V, int > |
| template<bool V> | |
| using | flecs::if_not_t = enable_if_t< false==V, int > |
Functions | |
| template<class Ty > | |
| void | flecs::_::destruct_obj (Ty *_ptr) |
| template<class Ty > | |
| void | flecs::_::free_obj (Ty *_ptr) |
| void * | operator new (size_t, flecs::_::placement_new_tag_t, void *_ptr) noexcept |
| void | operator delete (void *, flecs::_::placement_new_tag_t, void *) noexcept |
Variables | |
| constexpr placement_new_tag_t | flecs::_::placement_new_tag {} |
Flecs STL (FTL?)
Flecs STL (FTL?) Minimalistic utilities that allow for STL like functionality without having to depend on the actual STL.
Definition in file utils.hpp.
| #define FLECS_DELETE | ( | _ptr | ) |
| #define FLECS_FWD | ( | ... | ) | static_cast<decltype(__VA_ARGS__)&&>(__VA_ARGS__) |
| #define FLECS_MOV | ( | ... | ) | static_cast<flecs::remove_reference_t<decltype(__VA_ARGS__)>&&>(__VA_ARGS__) |
| #define FLECS_NEW | ( | _type | ) | FLECS_PLACEMENT_NEW(ecs_os_malloc(sizeof(_type)), _type) |
| #define FLECS_PLACEMENT_NEW | ( | _ptr, | |
| _type | |||
| ) | ::new(flecs::_::placement_new_tag, _ptr) _type |
| #define flecs_static_assert | ( | cond, | |
| str | |||
| ) | static_assert(cond, str) |
| using flecs::conditional_t = typedef typename std::conditional<V, T, F>::type |
| using flecs::decay_t = typedef typename std::decay<T>::type |
| using flecs::enable_if_t = typedef typename std::enable_if<V, T>::type |
| using flecs::if_not_t = typedef enable_if_t<false == V, int> |
| using flecs::if_t = typedef enable_if_t<V, int> |
| using flecs::is_const_p = typedef is_const< remove_pointer_t<T> > |
| using flecs::remove_pointer_t = typedef typename std::remove_pointer<T>::type |
| using flecs::remove_reference_t = typedef typename std::remove_reference<T>::type |
| using flecs::transcribe_const_t = typedef conditional_t<is_const<Src>::value, Dst const, Dst> |
| using flecs::transcribe_cv_t = typedef transcribe_const_t< Src, transcribe_volatile_t< Src, Dst> > |
| using flecs::transcribe_cvp_t = typedef transcribe_cv_t< Src, transcribe_pointer_t< Src, Dst> > |
| using flecs::transcribe_pointer_t = typedef conditional_t<is_pointer<Src>::value, Dst*, Dst> |
| using flecs::transcribe_volatile_t = typedef conditional_t<is_volatile<Src>::value, Dst volatile, Dst> |
|
inlinenoexcept |
|
inlinenoexcept |