![]() |
Flecs v4.1
A fast entity component system (ECS) for C & C++
|
Flecs STL (FTL?) More...
#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::condition< false > |
| Specialization of condition for false. More... | |
| struct | flecs::condition< true > |
| Specialization of condition for true. More... | |
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<typename T > | |
| using | flecs::is_const_p = is_const< remove_pointer_t<T> > |
| Determine constness even if T is a pointer type. | |
| template<class Src , class Dst > | |
| using | flecs::transcribe_const_t = conditional_t<is_const<Src>::value, Dst const, Dst> |
| Apply const from source type to destination type. | |
| template<class Src , class Dst > | |
| using | flecs::transcribe_volatile_t = conditional_t<is_volatile<Src>::value, Dst volatile, Dst> |
| Apply volatile from source type to destination type. | |
| template<class Src , class Dst > | |
| using | flecs::transcribe_cv_t = transcribe_const_t< Src, transcribe_volatile_t< Src, Dst> > |
| Apply const and volatile from source type to destination type. | |
| template<class Src , class Dst > | |
| using | flecs::transcribe_pointer_t = conditional_t<is_pointer<Src>::value, Dst*, Dst> |
| Apply pointer from source type to destination type. | |
| template<class Src , class Dst > | |
| using | flecs::transcribe_cvp_t = transcribe_cv_t< Src, transcribe_pointer_t< Src, Dst> > |
| Apply const, volatile, and pointer from source type to destination type. | |
| template<bool V> | |
| using | flecs::if_t = enable_if_t<V, int> |
| Convenience enable_if alias using int as default type. | |
| template<bool V> | |
| using | flecs::if_not_t = enable_if_t<false == V, int> |
| Convenience enable_if alias for negated conditions. | |
Functions | |
| void * | operator new (size_t, flecs::_::placement_new_tag_t, void *_ptr) noexcept |
| void | operator delete (void *, flecs::_::placement_new_tag_t, void *) noexcept |
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::if_not_t = enable_if_t<false == V, int> |
| using flecs::if_t = enable_if_t<V, int> |
| using flecs::is_const_p = is_const< remove_pointer_t<T> > |
| using flecs::transcribe_const_t = conditional_t<is_const<Src>::value, Dst const, Dst> |
| using flecs::transcribe_cv_t = transcribe_const_t< Src, transcribe_volatile_t< Src, Dst> > |
| using flecs::transcribe_cvp_t = transcribe_cv_t< Src, transcribe_pointer_t< Src, Dst> > |
| using flecs::transcribe_pointer_t = conditional_t<is_pointer<Src>::value, Dst*, Dst> |
| using flecs::transcribe_volatile_t = conditional_t<is_volatile<Src>::value, Dst volatile, Dst> |
|
inlinenoexcept |