40template <
typename T,
typename ElemType =
void>
57 reinterpret_cast<decltype(
65 reinterpret_cast<decltype(
73 reinterpret_cast<decltype(
81 reinterpret_cast<decltype(
89 reinterpret_cast<decltype(
97 reinterpret_cast<decltype(
105 reinterpret_cast<decltype(
113 reinterpret_cast<decltype(
121 reinterpret_cast<decltype(
131 reinterpret_cast<decltype(
141 reinterpret_cast<decltype(
149 reinterpret_cast<decltype(
157 reinterpret_cast<decltype(
165 reinterpret_cast<decltype(
173 reinterpret_cast<decltype(
181 reinterpret_cast<decltype(
189 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.
ecs_meta_serialize_member_t serialize_member
Serialize member action.
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.
ecs_meta_serialize_element_t serialize_element
Serialize element action.
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 & serialize_element(flecs::serialize_element< T > func)
Serialize element function.
opaque & ensure_member(void *(*func)(T *dst, const char *member))
Ensure & get element.
opaque & clear(void(*func)(T *dst))
Clear collection elements.
opaque & serialize_member(flecs::serialize_member< T > func)
Serialize member function.
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.