31template <
typename T,
typename ElemType =
void>
48 reinterpret_cast<decltype(
56 reinterpret_cast<decltype(
64 reinterpret_cast<decltype(
72 reinterpret_cast<decltype(
80 reinterpret_cast<decltype(
88 reinterpret_cast<decltype(
96 reinterpret_cast<decltype(
106 reinterpret_cast<decltype(
116 reinterpret_cast<decltype(
124 reinterpret_cast<decltype(
132 reinterpret_cast<decltype(
140 reinterpret_cast<decltype(
148 reinterpret_cast<decltype(
156 reinterpret_cast<decltype(
164 reinterpret_cast<decltype(
ecs_id_t ecs_entity_t
An entity identifier.
struct ecs_world_t ecs_world_t
A world is the container for all ECS data and supporting features.
uint64_t ecs_id_t
Ids are the things that can be added to an entity.
size_t(* count)(const void *dst)
Return number of elements.
void(* assign_null)(void *dst)
Assign null value.
void(* clear)(void *dst)
Clear collection elements.
void(* assign_uint)(void *dst, uint64_t value)
Assign unsigned int value.
void *(* ensure_member)(void *dst, const char *member)
Ensure & get element.
ecs_meta_serialize_t serialize
Serialize action.
void(* assign_char)(void *dst, char value)
Assign char value.
ecs_entity_t as_type
Type that describes the serialized output.
void(* assign_bool)(void *dst, bool value)
Assign bool value.
void(* assign_string)(void *dst, const char *value)
Assign string value.
void(* resize)(void *dst, size_t count)
Resize to number of elements.
void(* assign_int)(void *dst, int64_t value)
Assign int value.
void(* assign_float)(void *dst, double value)
Assign float value.
void(* assign_entity)(void *dst, ecs_world_t *world, ecs_entity_t entity)
Assign entity value.
void(* assign_id)(void *dst, ecs_world_t *world, ecs_id_t id)
Assign (component) id value.
void *(* ensure_element)(void *dst, size_t elem)
Ensure & get collection element.
Used with ecs_opaque_init().
ecs_entity_t entity
Existing entity to use for type (optional).
EcsOpaque type
Type that the opaque type maps to.
Type safe interface for opaque types.
opaque & assign_char(void(*func)(T *dst, char value))
Assign char value.
opaque & assign_uint(void(*func)(T *dst, uint64_t value))
Assign unsigned int value.
opaque & assign_string(void(*func)(T *dst, const char *value))
Assign string value.
opaque & assign_bool(void(*func)(T *dst, bool value))
Assign bool value.
opaque & as_type(flecs::id_t func)
Type that describes the type kind/structure of the opaque type.
opaque & assign_float(void(*func)(T *dst, double value))
Assign float value.
opaque & assign_entity(void(*func)(T *dst, ecs_world_t *world, ecs_entity_t entity))
Assign entity value.
flecs::world_t * world
Opaque type descriptor.
opaque & resize(void(*func)(T *dst, size_t count))
Resize to number of elements.
opaque & assign_null(void(*func)(T *dst))
Assign null value.
opaque & assign_id(void(*func)(T *dst, ecs_world_t *world, ecs_id_t id))
Assign (component) id value.
opaque & ensure_member(void *(*func)(T *dst, const char *member))
Ensure & get element.
opaque & clear(void(*func)(T *dst))
Clear collection elements.
opaque & ensure_element(ElemType *(*func)(T *dst, size_t elem))
Ensure & get collection element.
opaque & serialize(flecs::serialize< T > func)
Serialize function.
opaque & count(size_t(*func)(const T *dst))
Return number of elements.
opaque & assign_int(void(*func)(T *dst, int64_t value))
Assign int value.