Flecs v3.2
A fast entity component system (ECS) for C & C++
Loading...
Searching...
No Matches
journal.h
Go to the documentation of this file.
1
13#ifdef FLECS_JOURNAL
14
15#ifndef FLECS_LOG
16#define FLECS_LOG
17#endif
18
19#ifndef FLECS_JOURNAL_H
20#define FLECS_JOURNAL_H
21
31/* Trace when log level is at or higher than level */
32#define FLECS_JOURNAL_LOG_LEVEL (0)
33
34#ifdef __cplusplus
35extern "C" {
36#endif
37
38/* Journaling API, meant to be used by internals. */
39
40typedef enum ecs_journal_kind_t {
41 EcsJournalNew,
42 EcsJournalMove,
43 EcsJournalClear,
44 EcsJournalDelete,
45 EcsJournalDeleteWith,
46 EcsJournalRemoveAll,
47 EcsJournalTableEvents
48} ecs_journal_kind_t;
49
50FLECS_DBG_API
51void flecs_journal_begin(
52 ecs_world_t *world,
53 ecs_journal_kind_t kind,
54 ecs_entity_t entity,
55 ecs_type_t *add,
56 ecs_type_t *remove);
57
58FLECS_DBG_API
59void flecs_journal_end(void);
60
61#define flecs_journal(...)\
62 flecs_journal_begin(__VA_ARGS__);\
63 flecs_journal_end();
64
65#ifdef __cplusplus
66}
67#endif // __cplusplus
69#endif // FLECS_JOURNAL_H
70#else
71#define flecs_journal_begin(...)
72#define flecs_journal_end(...)
73#define flecs_journal(...)
74
75#endif // FLECS_JOURNAL
ecs_id_t ecs_entity_t
An entity identifier.
Definition flecs.h:318
struct ecs_world_t ecs_world_t
A world is the container for all ECS data and supporting features.
Definition flecs.h:362
A type is a list of (component) ids.
Definition flecs.h:335