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
30/* Trace when log level is at or higher than level */
31#define FLECS_JOURNAL_LOG_LEVEL (0)
32
33#ifdef __cplusplus
34extern "C" {
35#endif
36
37/* Journaling API, meant to be used by internals. */
38
39typedef enum ecs_journal_kind_t {
40 EcsJournalNew,
41 EcsJournalMove,
42 EcsJournalClear,
43 EcsJournalDelete,
44 EcsJournalDeleteWith,
45 EcsJournalRemoveAll,
46 EcsJournalTableEvents
47} ecs_journal_kind_t;
48
49FLECS_DBG_API
50void flecs_journal_begin(
51 ecs_world_t *world,
52 ecs_journal_kind_t kind,
53 ecs_entity_t entity,
54 ecs_type_t *add,
55 ecs_type_t *remove);
56
57FLECS_DBG_API
58void flecs_journal_end(void);
59
60#define flecs_journal(...)\
61 flecs_journal_begin(__VA_ARGS__);\
62 flecs_journal_end();
63
64#ifdef __cplusplus
65}
66#endif // __cplusplus
67#endif // FLECS_JOURNAL_H
68#else
69#define flecs_journal_begin(...)
70#define flecs_journal_end(...)
71#define flecs_journal(...)
72
75#endif // FLECS_JOURNAL
ecs_id_t ecs_entity_t
An entity identifier.
Definition: flecs.h:288
struct ecs_world_t ecs_world_t
A world is the container for all ECS data and supporting features.
Definition: flecs.h:332
A type is a list of (component) ids.
Definition: flecs.h:305