Flecs
v4.1
A fast entity component system (ECS) for C & C++
Toggle main menu visibility
Loading...
Searching...
No Matches
flecs.hpp
Go to the documentation of this file.
1
5
6
#pragma once
7
8
// STL includes
9
#include <type_traits>
10
15
16
namespace
flecs
17
{
18
19
struct
world
;
20
struct
world_async_stage;
21
struct
iter
;
22
struct
entity_view
;
23
struct
entity
;
24
struct
type
;
25
struct
table
;
26
struct
table_range
;
27
struct
untyped_component
;
28
29
template
<
typename
T>
30
struct
component
;
31
32
struct
untyped_ref
;
33
template
<
typename
T>
34
struct
ref
;
35
36
namespace
_
37
{
38
template
<
typename
T,
typename
U =
int
>
39
struct
type
;
40
41
template
<
typename
Func,
typename
... Components>
42
struct
each_delegate
;
43
44
}
// namespace _
45
}
// namespace flecs
46
47
// Types imported from C API
48
#include "
c_types.hpp
"
49
50
// C++ utilities
51
#include "
utils/utils.hpp
"
52
#include "
utils/map.hpp
"
53
54
// Mixin forward declarations
55
#include "
mixins/id/decl.hpp
"
56
#include "
mixins/term/decl.hpp
"
57
#include "
mixins/query/decl.hpp
"
58
#include "
mixins/event/decl.hpp
"
59
#include "
mixins/observer/decl.hpp
"
60
#ifdef FLECS_SYSTEM
61
#include "
mixins/system/decl.hpp
"
62
#endif
63
#ifdef FLECS_PIPELINE
64
#include "
mixins/pipeline/decl.hpp
"
65
#endif
66
#ifdef FLECS_TIMER
67
#include "
mixins/timer/decl.hpp
"
68
#endif
69
#ifdef FLECS_DOC
70
#include "
mixins/doc/decl.hpp
"
71
#endif
72
#ifdef FLECS_REST
73
#include "
mixins/rest/decl.hpp
"
74
#endif
75
#ifdef FLECS_META
76
#include "
mixins/meta/decl.hpp
"
77
#endif
78
#ifdef FLECS_UNITS
79
#include "
mixins/units/decl.hpp
"
80
#endif
81
#ifdef FLECS_STATS
82
#include "
mixins/stats/decl.hpp
"
83
#endif
84
#ifdef FLECS_METRICS
85
#include "
mixins/metrics/decl.hpp
"
86
#endif
87
#ifdef FLECS_ALERTS
88
#include "
mixins/alerts/decl.hpp
"
89
#endif
90
#ifdef FLECS_JSON
91
#include "
mixins/json/decl.hpp
"
92
#endif
93
#ifdef FLECS_APP
94
#include "
mixins/app/decl.hpp
"
95
#endif
96
#ifdef FLECS_SCRIPT
97
#include "
mixins/script/decl.hpp
"
98
#endif
99
100
#include "
log.hpp
"
101
#include "
pair.hpp
"
102
#include "
lifecycle_traits.hpp
"
103
#include "
world.hpp
"
104
#include "
field.hpp
"
105
#include "
iter.hpp
"
106
#include "
ref.hpp
"
107
#include "
entity.hpp
"
108
#include "
delegate.hpp
"
109
#include "
component.hpp
"
110
#include "
type.hpp
"
111
#include "
table.hpp
"
112
#include "
utils/iterable.hpp
"
113
114
// Mixin implementations
115
#include "
mixins/id/impl.hpp
"
116
#include "
mixins/entity/impl.hpp
"
117
#include "
mixins/component/impl.hpp
"
118
#include "
mixins/term/impl.hpp
"
119
#include "
mixins/query/impl.hpp
"
120
#include "
mixins/observer/impl.hpp
"
121
#include "
mixins/event/impl.hpp
"
122
#include "
mixins/enum/impl.hpp
"
123
#ifdef FLECS_MODULE
124
#include "
mixins/module/impl.hpp
"
125
#endif
126
#ifdef FLECS_SYSTEM
127
#include "
mixins/system/impl.hpp
"
128
#endif
129
#ifdef FLECS_PIPELINE
130
#include "
mixins/pipeline/impl.hpp
"
131
#endif
132
#ifdef FLECS_TIMER
133
#include "
mixins/timer/impl.hpp
"
134
#endif
135
#ifdef FLECS_DOC
136
#include "
mixins/doc/impl.hpp
"
137
#endif
138
#ifdef FLECS_REST
139
#include "
mixins/rest/impl.hpp
"
140
#endif
141
#ifdef FLECS_META
142
#include "
mixins/meta/impl.hpp
"
143
#endif
144
#ifdef FLECS_UNITS
145
#include "
mixins/units/impl.hpp
"
146
#endif
147
#ifdef FLECS_STATS
148
#include "
mixins/stats/impl.hpp
"
149
#endif
150
#ifdef FLECS_METRICS
151
#include "
mixins/metrics/impl.hpp
"
152
#endif
153
#ifdef FLECS_ALERTS
154
#include "
mixins/alerts/impl.hpp
"
155
#endif
156
#ifdef FLECS_SCRIPT
157
#include "
mixins/script/impl.hpp
"
158
#endif
159
160
#include "
impl/field.hpp
"
161
#include "
impl/iter.hpp
"
162
#include "
impl/world.hpp
"
163
171
179
decl.hpp
Alert declarations.
impl.hpp
Alerts module implementation.
decl.hpp
App addon declarations.
c_types.hpp
Aliases for types/constants from C API.
impl.hpp
Component mixin implementation.
component.hpp
Registering/obtaining info from components.
delegate.hpp
Wrappers around C++ functions that provide callbacks for C APIs.
decl.hpp
Doc mixin declarations.
impl.hpp
Doc mixin implementation.
impl.hpp
Entity implementation.
entity.hpp
Entity class.
impl.hpp
Enum implementation.
decl.hpp
Event declarations.
impl.hpp
Event implementation.
field.hpp
Wrapper classes for fields returned by flecs::iter.
decl.hpp
ID class.
impl.hpp
ID class implementation.
field.hpp
Field implementation.
iter.hpp
Iterator implementation.
world.hpp
World implementation.
iter.hpp
Wrapper classes for ecs_iter_t and component arrays.
iterable.hpp
Base class for iterable objects, like queries.
decl.hpp
JSON addon declarations.
lifecycle_traits.hpp
Utilities for discovering and registering component lifecycle hooks.
log.hpp
Logging functions.
map.hpp
Minimal C++ wrapper for ecs_map_t iteration.
decl.hpp
Meta declarations.
impl.hpp
Meta implementation.
decl.hpp
Metrics declarations.
impl.hpp
Metrics module implementation.
impl.hpp
Module implementation.
flecs::_
Int to enum.
Definition
component.hpp:18
decl.hpp
Observer declarations.
impl.hpp
Observer implementation.
pair.hpp
Utilities for working with compile-time pairs.
decl.hpp
Pipeline module declarations.
impl.hpp
Pipeline module implementation.
decl.hpp
Query declarations.
impl.hpp
Query implementation.
ref.hpp
Class that caches data to speed up get operations.
decl.hpp
Rest module declarations.
impl.hpp
Rest module implementation.
decl.hpp
Script declarations.
impl.hpp
Script implementation.
decl.hpp
Stats module declarations.
impl.hpp
Stats module implementation.
flecs::_::each_delegate
Definition
delegate.hpp:220
flecs::_::type
Definition
flecs.hpp:39
flecs::component
Component class.
Definition
component.hpp:444
flecs::entity_view
Entity view.
Definition
entity_view.hpp:30
flecs::entity
Entity.
Definition
entity.hpp:30
flecs::iter
Class for iterating over query results.
Definition
iter.hpp:68
flecs::ref
Component reference.
Definition
ref.hpp:109
flecs::table_range
Table range.
Definition
table.hpp:449
flecs::table
Table.
Definition
table.hpp:23
flecs::type
Type class.
Definition
type.hpp:21
flecs::untyped_component
Untyped component class.
Definition
component.hpp:313
flecs::untyped_ref
Untyped component reference.
Definition
ref.hpp:22
flecs::world
The world.
Definition
world.hpp:246
decl.hpp
System module declarations.
impl.hpp
System module implementation.
table.hpp
Direct access to table data.
decl.hpp
Term declarations.
impl.hpp
Term implementation.
decl.hpp
Timer module declarations.
impl.hpp
Timer module implementation.
type.hpp
Utility functions for ID vector.
decl.hpp
Units module declarations.
impl.hpp
Units module implementation.
utils.hpp
Flecs STL (FTL?).
world.hpp
World class.