Flecs v4.0
A fast entity component system (ECS) for C & C++
|
Defines for customizing compile time features. More...
Macros | |
#define | FLECS_VERSION_MAJOR 4 |
Flecs major version. | |
#define | FLECS_VERSION_MINOR 0 |
Flecs minor version. | |
#define | FLECS_VERSION_PATCH 4 |
Flecs patch version. | |
#define | FLECS_VERSION |
Flecs version. | |
#define | ecs_float_t float |
Customizable precision for floating point operations. | |
#define | ecs_ftime_t ecs_float_t |
Customizable precision for scalar time values. | |
#define | FLECS_DEBUG |
Used for input parameter checking and cheap sanity checks. | |
#define | FLECS_ALERTS |
Monitor conditions for errors. | |
#define | FLECS_APP |
Application addon. | |
#define | FLECS_CPP |
C++ API. | |
#define | FLECS_DOC |
Document entities & components. | |
#define | FLECS_JSON |
Parsing JSON to/from component values. | |
#define | FLECS_HTTP |
Tiny HTTP server for connecting to remote UI. | |
#define | FLECS_LOG |
When enabled ECS provides more detailed logs. | |
#define | FLECS_META |
Reflection support. | |
#define | FLECS_METRICS |
Expose component data as statistics. | |
#define | FLECS_MODULE |
Module support. | |
#define | FLECS_OS_API_IMPL |
Default implementation for OS API. | |
#define | FLECS_PIPELINE |
Pipeline support. | |
#define | FLECS_REST |
REST API for querying application data. | |
#define | FLECS_SCRIPT |
Flecs entity notation language. | |
#define | FLECS_SYSTEM |
System support. | |
#define | FLECS_STATS |
Track runtime statistics. | |
#define | FLECS_TIMER |
Timer support. | |
#define | FLECS_UNITS |
Builtin standard units. | |
#define | FLECS_HI_COMPONENT_ID (256) |
This constant can be used to balance between performance and memory utilization. | |
#define | FLECS_HI_ID_RECORD_ID (1024) |
This constant can be used to balance between performance and memory utilization. | |
#define | FLECS_SPARSE_PAGE_BITS (6) |
This constant is used to determine the number of bits of an id that is used to determine the page index when used with a sparse set. | |
#define | FLECS_ENTITY_PAGE_BITS (12) |
Same as FLECS_SPARSE_PAGE_BITS, but for the entity index. | |
#define | FLECS_ID_DESC_MAX (32) |
Maximum number of ids to add ecs_entity_desc_t / ecs_bulk_desc_t. | |
#define | FLECS_EVENT_DESC_MAX (8) |
Maximum number of events in ecs_observer_desc_t. | |
#define | FLECS_VARIABLE_COUNT_MAX (64) |
Maximum number of query variables per query. | |
#define | FLECS_TERM_COUNT_MAX 32 |
Maximum number of terms in queries. | |
#define | FLECS_TERM_ARG_COUNT_MAX (16) |
Maximum number of arguments for a term. | |
#define | FLECS_QUERY_VARIABLE_COUNT_MAX (64) |
Maximum number of query variables per query. | |
#define | FLECS_QUERY_SCOPE_NESTING_MAX (8) |
Maximum nesting depth of query scopes. | |
#define | FLECS_DAG_DEPTH_MAX (128) |
Maximum of levels in a DAG (acyclic relationship graph). | |
Defines for customizing compile time features.
#define ecs_float_t float |
#define ecs_ftime_t ecs_float_t |
#define FLECS_DAG_DEPTH_MAX (128) |
#define FLECS_DEBUG |
#define FLECS_ENTITY_PAGE_BITS (12) |
#define FLECS_EVENT_DESC_MAX (8) |
Maximum number of events in ecs_observer_desc_t.
#define FLECS_HI_COMPONENT_ID (256) |
This constant can be used to balance between performance and memory utilization.
The constant is used in two ways:
Increasing this value increases the size of the lookup array, which allows fast table traversal, which improves performance of ECS add/remove operations. Component ids that fall outside of this range use a regular map lookup, which is slower but more memory efficient.
#define FLECS_HI_ID_RECORD_ID (1024) |
This constant can be used to balance between performance and memory utilization.
The constant is used to determine the size of the id record lookup array. Id values that fall outside of this range use a regular map lookup, which is slower but more memory efficient.
#define FLECS_HTTP |
#define FLECS_ID_DESC_MAX (32) |
Maximum number of ids to add ecs_entity_desc_t / ecs_bulk_desc_t.
#define FLECS_LOG |
#define FLECS_OS_API_IMPL |
#define FLECS_QUERY_SCOPE_NESTING_MAX (8) |
#define FLECS_QUERY_VARIABLE_COUNT_MAX (64) |
#define FLECS_SPARSE_PAGE_BITS (6) |
This constant is used to determine the number of bits of an id that is used to determine the page index when used with a sparse set.
The number of bits determines the page size, which is (1 << bits). Lower values decrease memory utilization, at the cost of more allocations.
#define FLECS_TERM_ARG_COUNT_MAX (16) |
#define FLECS_TERM_COUNT_MAX 32 |
#define FLECS_VARIABLE_COUNT_MAX (64) |
#define FLECS_VERSION |
Flecs version.