Flecs: include/flecs/addons/flecs_c.h File Reference
Description: A fast entity component system (ECS) for C & C++

| Flecs v4.0 A fast entity component system (ECS) for C & C++

Loading...
Searching...
No Matches
flecs_c.h File Reference

Extends the core API with convenience macros for C applications. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Macros
#define | ECS_DECLARE(id)
#define | ECS_ENTITY_DECLARE ECS_DECLARE
| Forward declare an entity.
#define | ECS_ENTITY_DEFINE(world, id_, ...)
| Define a forward declared entity.
#define | ECS_ENTITY(world, id, ...)
| Declare & define an entity.
#define | ECS_TAG_DECLARE ECS_DECLARE
| Forward declare a tag.
#define | ECS_TAG_DEFINE(world, id)
| Define a forward declared tag.
#define | ECS_TAG(world, id)
| Declare & define a tag.
#define | ECS_PREFAB_DECLARE ECS_DECLARE
| Forward declare a prefab.
#define | ECS_PREFAB_DEFINE(world, id, ...)
| Define a forward declared prefab.
#define | ECS_PREFAB(world, id, ...)
| Declare & define a prefab.
#define | ECS_COMPONENT_DECLARE(id)
| Forward declare a component.
#define | ECS_COMPONENT_DEFINE(world, id_)
| Define a forward declared component.
#define | ECS_COMPONENT(world, id)
| Declare & define a component.
#define | ECS_OBSERVER_DECLARE(id)
#define | ECS_OBSERVER_DEFINE(world, id_, kind, ...)
| Define a forward declared observer.
#define | ECS_OBSERVER(world, id, kind, ...)
| Declare & define an observer.
#define | ECS_QUERY_DECLARE(name)
#define | ECS_QUERY_DEFINE(world, name_, ...)
| Define a forward declared observer.
#define | ECS_QUERY(world, name, ...)
| Declare & define an observer.
#define | ecs_entity(world, ...)
| Shorthand for creating an entity with ecs_entity_init().
#define | ecs_component(world, ...)
| Shorthand for creating a component with ecs_component_init().
#define | ecs_component_t(world, T)
| Shorthand for creating a component from a type.
#define | ecs_query(world, ...)
| Shorthand for creating a query with ecs_query_cache_init.
#define | ecs_observer(world, ...)
| Shorthand for creating an observer with ecs_observer_init().
#define | ecs_new_w(world, T)
#define | ecs_new_w_pair(world, first, second)
#define | ecs_bulk_new(world, component, count)
#define | ecs_add(world, entity, T)
#define | ecs_add_pair(world, subject, first, second)
#define | ecs_remove(world, entity, T)
#define | ecs_remove_pair(world, subject, first, second)
#define | ecs_auto_override(world, entity, T)
#define | ecs_auto_override_pair(world, subject, first, second)
#define | ecs_insert(world, ...)
#define | ecs_set_ptr(world, entity, component, ptr)
#define | ecs_set(world, entity, component, ...)
#define | ecs_set_pair(world, subject, First, second, ...)
#define | ecs_set_pair_second(world, subject, first, Second, ...)
#define | ecs_set_override(world, entity, T, ...)
#define | ecs_emplace(world, entity, T, is_new)
#define | ecs_emplace_pair(world, entity, First, second, is_new)
#define | ecs_get(world, entity, T)
#define | ecs_get_pair(world, subject, First, second)
#define | ecs_get_pair_second(world, subject, first, Second)
#define | ecs_get_mut(world, entity, T)
#define | ecs_get_mut_pair(world, subject, First, second)
#define | ecs_get_mut_pair_second(world, subject, first, Second)
#define | ecs_get_mut(world, entity, T)
#define | ecs_ensure(world, entity, T)
#define | ecs_ensure_pair(world, subject, First, second)
#define | ecs_ensure_pair_second(world, subject, first, Second)
#define | ecs_ensure(world, entity, T)
#define | ecs_ensure_pair(world, subject, First, second)
#define | ecs_ensure_pair_second(world, subject, first, Second)
#define | ecs_modified(world, entity, component)
#define | ecs_modified_pair(world, subject, first, second)
#define | ecs_record_get(world, record, T)
#define | ecs_record_has(world, record, T)
#define | ecs_record_get_pair(world, record, First, second)
#define | ecs_record_get_pair_second(world, record, first, Second)
#define | ecs_record_ensure(world, record, T)
#define | ecs_record_ensure_pair(world, record, First, second)
#define | ecs_record_ensure_pair_second(world, record, first, Second)
#define | ecs_ref_init(world, entity, T)
#define | ecs_ref_get(world, ref, T)
#define | ecs_singleton_add(world, comp)
#define | ecs_singleton_remove(world, comp)
#define | ecs_singleton_get(world, comp)
#define | ecs_singleton_get_mut(world, comp)
#define | ecs_singleton_set_ptr(world, comp, ptr)
#define | ecs_singleton_set(world, comp, ...)
#define | ecs_singleton_ensure(world, comp)
#define | ecs_singleton_emplace(world, comp, is_new)
#define | ecs_singleton_modified(world, comp)
#define | ecs_has(world, entity, T)
#define | ecs_has_pair(world, entity, first, second)
#define | ecs_owns_pair(world, entity, first, second)
#define | ecs_owns(world, entity, T)
#define | ecs_shares_id(world, entity, id)
#define | ecs_shares_pair(world, entity, first, second)
#define | ecs_shares(world, entity, T)
#define | ecs_get_target_for(world, entity, rel, T)
#define | ecs_enable_component(world, entity, T, enable)
#define | ecs_is_enabled(world, entity, T)
#define | ecs_enable_pair(world, entity, First, second, enable)
#define | ecs_is_enabled_pair(world, entity, First, second)
#define | ecs_lookup_from(world, parent, path)
#define | ecs_get_path_from(world, parent, child)
#define | ecs_get_path(world, child)
#define | ecs_get_path_buf(world, child, buf)
#define | ecs_new_from_path(world, parent, path)
#define | ecs_add_path(world, entity, parent, path)
#define | ecs_add_fullpath(world, entity, path)
#define | ecs_set_hooks(world, T, ...)
#define | ecs_get_hooks(world, T)
#define | ECS_CTOR(type, var, ...)
| Declare a constructor.
#define | ECS_DTOR(type, var, ...)
| Declare a destructor.
#define | ECS_COPY(type, dst_var, src_var, ...)
| Declare a copy action.
#define | ECS_MOVE(type, dst_var, src_var, ...)
| Declare a move action.
#define | ECS_ON_ADD(type, ptr, ...)
| Declare component hooks.
#define | ECS_ON_REMOVE(type, ptr, ...)
#define | ECS_ON_SET(type, ptr, ...)
#define | ecs_ctor(type)
#define | ecs_dtor(type)
#define | ecs_copy(type)
#define | ecs_move(type)
#define | ecs_on_set(type)
#define | ecs_on_add(type)
#define | ecs_on_remove(type)
#define | ecs_count(world, type)
#define | ecs_field(it, T, index)
#define | ecs_field_self(it, T, index)
#define | ecs_field_at(it, T, index, row)
#define | ecs_table_get(world, table, T, offset)
#define | ecs_table_get_pair(world, table, First, second, offset)
#define | ecs_table_get_pair_second(world, table, first, Second, offset)
#define | ecs_ids(...)
| Convenience macro for creating compound literal id array.
#define | ecs_values(...)
| Convenience macro for creating compound literal values array.
#define | ecs_value_ptr(T, ptr)
| Convenience macro for creating compound literal value.
#define | ecs_value_pair(R, t, ...)
| Convenience macro for creating compound literal pair value.
#define | ecs_value_pair_2nd(r, T, ...)
| Convenience macro for creating compound literal pair value.
#define | ecs_value_new_t(world, T)
| Convenience macro for creating heap allocated value.
#define | ecs_value(T, ...)
| Convenience macro for creating compound literal value literal.
#define | ecs_sort_table(id)
#define | ecs_compare(id)
#define | ECS_SORT_TABLE_WITH_COMPARE(id, op_name, compare_fn, ...)
#define | ECS_SORT_TABLE(id, ...)
#define | ECS_COMPARE(id, ...)
#define | ecs_isa(e)
#define | ecs_childof(e)
#define | ecs_dependson(e)
#define | ecs_with(e)
#define | ecs_each(world, id)
#define | ecs_each_pair(world, r, t)
#define | ecs_each_pair_t(world, R, t)

## Detailed Description

Extends the core API with convenience macros for C applications.

Definition in file flecs_c.h.