Flecs v3.2
A fast entity component system (ECS) for C & C++
|
Rule query engine addon. More...
Go to the source code of this file.
Macros | |
#define | ecs_rule(world, ...) ecs_rule_init(world, &(ecs_filter_desc_t) __VA_ARGS__ ) |
Convenience macro for rule creation. | |
Functions | |
FLECS_API ecs_rule_t * | ecs_rule_init (ecs_world_t *world, const ecs_filter_desc_t *desc) |
Create a rule. | |
FLECS_API void | ecs_rule_fini (ecs_rule_t *rule) |
Delete a rule. | |
FLECS_API const ecs_filter_t * | ecs_rule_get_filter (const ecs_rule_t *rule) |
Obtain filter from rule. | |
FLECS_API int32_t | ecs_rule_var_count (const ecs_rule_t *rule) |
Return number of variables in rule. | |
FLECS_API int32_t | ecs_rule_find_var (const ecs_rule_t *rule, const char *name) |
Find variable index. | |
FLECS_API const char * | ecs_rule_var_name (const ecs_rule_t *rule, int32_t var_id) |
Get variable name. | |
FLECS_API bool | ecs_rule_var_is_entity (const ecs_rule_t *rule, int32_t var_id) |
Test if variable is an entity. | |
FLECS_API ecs_iter_t | ecs_rule_iter (const ecs_world_t *world, const ecs_rule_t *rule) |
Iterate a rule. | |
FLECS_API bool | ecs_rule_next (ecs_iter_t *it) |
Progress rule iterator. | |
FLECS_API bool | ecs_rule_next_instanced (ecs_iter_t *it) |
Progress instanced iterator. | |
FLECS_API char * | ecs_rule_str (const ecs_rule_t *rule) |
Convert rule to a string. | |
FLECS_API char * | ecs_rule_str_w_profile (const ecs_rule_t *rule, const ecs_iter_t *it) |
Convert rule to string with profile. | |
FLECS_API const char * | ecs_rule_parse_vars (ecs_rule_t *rule, ecs_iter_t *it, const char *expr) |
Populate variables from key-value string. | |
Rule query engine addon.
Rules are advanced queries that in addition to the capabilities of regular queries and filters have the following features:
Definition in file rules.h.