![]() |
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.