Skip to content
Flecs v4.1
builder.hpp
Go to the documentation of this file.
1/**
2 * @file addons/cpp/mixins/observer/builder.hpp
3 * @brief Observer builder.
4 */
5
6#pragma once
7
9#include "builder_i.hpp"
10
11namespace flecs {
12namespace _ {
13 template <typename ... Components>
14 using observer_builder_base = builder<
15 observer, ecs_observer_desc_t, observer_builder<Components...>,
16 observer_builder_i, Components ...>;
17}
18
19/** Observer builder.
20 *
21 * @ingroup cpp_observers
22 */
23template <typename ... Components>
24struct observer_builder final : _::observer_builder_base<Components...> {
25 /** Construct an observer builder. */
26 observer_builder(flecs::world_t* world, const char *name = nullptr)
27 : _::observer_builder_base<Components...>(world, name)
28 {
29 _::populate_signature<Components...>(world, this);
30 }
31};
32
33}
ecs_world_t world_t
World type.
Definition c_types.hpp:18
struct ecs_observer_desc_t ecs_observer_desc_t
Used with ecs_observer_init().
Int to enum.
Definition component.hpp:18
Observer builder interface.
observer_builder(flecs::world_t *world, const char *name=nullptr)
Construct an observer builder.
Definition builder.hpp:26
Base & name(const char *name)
Specify the value of the identifier by name.
Definition builder_i.hpp:58
The world.
Definition world.hpp:129
flecs::observer observer(flecs::entity e) const
Observer world mixin.
Builder base class.