Flecs v4.1
A fast entity component system (ECS) for C & C++
Loading...
Searching...
No Matches
Values

Construct, destruct, copy, and move dynamically created values. More...

Collaboration diagram for Values:

Functions

int ecs_value_init (const ecs_world_t *world, ecs_entity_t type, void *ptr)
 Construct a value in existing storage.
 
int ecs_value_init_w_type_info (const ecs_world_t *world, const ecs_type_info_t *ti, void *ptr)
 Construct a value in existing storage.
 
void * ecs_value_new (ecs_world_t *world, ecs_entity_t type)
 Construct a value in new storage.
 
void * ecs_value_new_w_type_info (ecs_world_t *world, const ecs_type_info_t *ti)
 Construct a value in new storage.
 
int ecs_value_fini_w_type_info (const ecs_world_t *world, const ecs_type_info_t *ti, void *ptr)
 Destruct a value.
 
int ecs_value_fini (const ecs_world_t *world, ecs_entity_t type, void *ptr)
 Destruct a value.
 
int ecs_value_free (ecs_world_t *world, ecs_entity_t type, void *ptr)
 Destruct a value and free storage.
 
int ecs_value_copy_w_type_info (const ecs_world_t *world, const ecs_type_info_t *ti, void *dst, const void *src)
 Copy a value.
 
int ecs_value_copy (const ecs_world_t *world, ecs_entity_t type, void *dst, const void *src)
 Copy a value.
 
int ecs_value_move_w_type_info (const ecs_world_t *world, const ecs_type_info_t *ti, void *dst, void *src)
 Move a value.
 
int ecs_value_move (const ecs_world_t *world, ecs_entity_t type, void *dst, void *src)
 Move a value.
 
int ecs_value_move_ctor_w_type_info (const ecs_world_t *world, const ecs_type_info_t *ti, void *dst, void *src)
 Move-construct a value.
 
int ecs_value_move_ctor (const ecs_world_t *world, ecs_entity_t type, void *dst, void *src)
 Move-construct a value.
 

Detailed Description

Construct, destruct, copy, and move dynamically created values.

Function Documentation

◆ ecs_value_copy()

int ecs_value_copy ( const ecs_world_t * world,
ecs_entity_t type,
void * dst,
const void * src )

Copy a value.

Parameters
worldThe world.
typeThe type of the value to copy.
dstA pointer to the storage to copy to.
srcA pointer to the value to copy.
Returns
Zero if successful, nonzero if failed.

◆ ecs_value_copy_w_type_info()

int ecs_value_copy_w_type_info ( const ecs_world_t * world,
const ecs_type_info_t * ti,
void * dst,
const void * src )

Copy a value.

Parameters
worldThe world.
tiThe type info of the value to copy.
dstA pointer to the storage to copy to.
srcA pointer to the value to copy.
Returns
Zero if successful, nonzero if failed.

◆ ecs_value_fini()

int ecs_value_fini ( const ecs_world_t * world,
ecs_entity_t type,
void * ptr )

Destruct a value.

Parameters
worldThe world.
typeThe type of the value to destruct.
ptrA pointer to a constructed value of type 'type'.
Returns
Zero if successful, nonzero if failed.

◆ ecs_value_fini_w_type_info()

int ecs_value_fini_w_type_info ( const ecs_world_t * world,
const ecs_type_info_t * ti,
void * ptr )

Destruct a value.

Parameters
worldThe world.
tiThe type info of the value to destruct.
ptrA pointer to a constructed value of type 'type'.
Returns
Zero if successful, nonzero if failed.

◆ ecs_value_free()

int ecs_value_free ( ecs_world_t * world,
ecs_entity_t type,
void * ptr )

Destruct a value and free storage.

Parameters
worldThe world.
typeThe type of the value to destruct.
ptrA pointer to the value.
Returns
Zero if successful, nonzero if failed.

◆ ecs_value_init()

int ecs_value_init ( const ecs_world_t * world,
ecs_entity_t type,
void * ptr )

Construct a value in existing storage.

Parameters
worldThe world.
typeThe type of the value to create.
ptrA pointer to a value of type 'type'.
Returns
Zero if successful, nonzero if failed.

◆ ecs_value_init_w_type_info()

int ecs_value_init_w_type_info ( const ecs_world_t * world,
const ecs_type_info_t * ti,
void * ptr )

Construct a value in existing storage.

Parameters
worldThe world.
tiThe type info of the type to create.
ptrA pointer to a value of type 'type'.
Returns
Zero if successful, nonzero if failed.

◆ ecs_value_move()

int ecs_value_move ( const ecs_world_t * world,
ecs_entity_t type,
void * dst,
void * src )

Move a value.

Parameters
worldThe world.
typeThe type of the value to move.
dstA pointer to the storage to move to.
srcA pointer to the value to move.
Returns
Zero if successful, nonzero if failed.

◆ ecs_value_move_ctor()

int ecs_value_move_ctor ( const ecs_world_t * world,
ecs_entity_t type,
void * dst,
void * src )

Move-construct a value.

Parameters
worldThe world.
typeThe type of the value to move.
dstA pointer to the storage to move to.
srcA pointer to the value to move.
Returns
Zero if successful, nonzero if failed.

◆ ecs_value_move_ctor_w_type_info()

int ecs_value_move_ctor_w_type_info ( const ecs_world_t * world,
const ecs_type_info_t * ti,
void * dst,
void * src )

Move-construct a value.

Parameters
worldThe world.
tiThe type info of the value to move.
dstA pointer to the storage to move to.
srcA pointer to the value to move.
Returns
Zero if successful, nonzero if failed.

◆ ecs_value_move_w_type_info()

int ecs_value_move_w_type_info ( const ecs_world_t * world,
const ecs_type_info_t * ti,
void * dst,
void * src )

Move a value.

Parameters
worldThe world.
tiThe type info of the value to move.
dstA pointer to the storage to move to.
srcA pointer to the value to move.
Returns
Zero if successful, nonzero if failed.

◆ ecs_value_new()

void * ecs_value_new ( ecs_world_t * world,
ecs_entity_t type )

Construct a value in new storage.

Parameters
worldThe world.
typeThe type of the value to create.
Returns
A pointer to the value if successful, NULL if failed.

◆ ecs_value_new_w_type_info()

void * ecs_value_new_w_type_info ( ecs_world_t * world,
const ecs_type_info_t * ti )

Construct a value in new storage.

Parameters
worldThe world.
tiThe type info of the type to create.
Returns
A pointer to the value if successful, NULL if failed.