Flecs v4.0
A fast entity component system (ECS) for C & C++
Loading...
Searching...
No Matches
flecs::system_builder< Components > Struct Template Referencefinal

System builder. More...

#include <builder.hpp>

Inheritance diagram for flecs::system_builder< Components >:
[legend]

Public Member Functions

 system_builder (flecs::world_t *world, const char *name=nullptr)
template<typename Func>
system each (Func &&func)
Public Member Functions inherited from flecs::_::node_builder< system, ecs_system_desc_t, system_builder< Components... >, system_builder_i, Components ... >
 node_builder (flecs::world_t *world, const char *name=nullptr)
system run (Func &&func)
system run (Func &&func, EachFunc &&each_func)
system each (Func &&func)
system run_each (Func &&func)
Public Member Functions inherited from flecs::system_builder_i< Base, Components >
 system_builder_i (ecs_system_desc_t *desc)
Base & kind (entity_t phase)
 Specify in which phase the system should run.
template<typename E, if_t< is_enum< E >::value > = 0>
Base & kind (E phase)
template<typename Phase>
Base & kind ()
 Specify in which phase the system should run.
Base & multi_threaded (bool value=true)
 Specify whether system can run on multiple threads.
Base & immediate (bool value=true)
 Specify whether system should be ran in staged context.
Base & interval (ecs_ftime_t interval)
 Set system interval.
Base & rate (const entity_t tick_source, int32_t rate)
 Set system rate.
Base & rate (int32_t rate)
 Set system rate.
template<typename T>
Base & tick_source ()
 Set tick source.
Base & tick_source (flecs::entity_t tick_source)
 Set tick source.
Base & ctx (void *ptr)
 Set system context.
Base & run (ecs_iter_action_t action)
 Set system run callback.
Public Member Functions inherited from flecs::query_builder_i< Base, Components ... >
 query_builder_i (ecs_query_desc_t *desc, int32_t term_index=0)
Base & query_flags (ecs_flags32_t flags)
Base & cache_kind (query_cache_kind_t kind)
Base & cached ()
Base & detect_changes ()
Base & expr (const char *expr)
Base & with ()
Base & with (id_t component_id)
Base & with (const char *component_name)
Base & with (const char *first, const char *second)
Base & with (entity_t first, entity_t second)
Base & with (entity_t first, const char *second)
Base & with (const char *first, entity_t second)
Base & with (entity_t second)
Base & with (const char *second)
Base & with ()
Base & with (E value)
Base & with (flecs::term &term)
Base & with (flecs::term &&term)
Base & without (Args &&... args)
Base & without (Args &&... args)
Base & without ()
Base & write ()
Base & write (Args &&... args)
Base & write (Args &&... args)
Base & write ()
Base & read ()
Base & read (Args &&... args)
Base & read (Args &&... args)
Base & read ()
Base & scope_open ()
Base & scope_close ()
Base & term ()
 Sets the current term to next one in term list.
Base & term_at ()
 Sets the current term to the one with the provided type.
Base & term_at (int32_t term_index)
 Sets the current term to the one at the provided index.
Base & term_at (int32_t term_index)
 Sets the current term to the one at the provided index and asserts that the type matches.
Base & order_by (int(*compare)(flecs::entity_t, const T *, flecs::entity_t, const T *))
 Sort the output of a query.
Base & order_by (flecs::entity_t component, int(*compare)(flecs::entity_t, const void *, flecs::entity_t, const void *))
 Sort the output of a query.
Base & group_by (uint64_t(*group_by_action)(flecs::world_t *, flecs::table_t *table, flecs::id_t id, void *ctx))
 Group and sort matched tables.
Base & group_by (flecs::entity_t component, uint64_t(*group_by_action)(flecs::world_t *, flecs::table_t *table, flecs::id_t id, void *ctx))
 Group and sort matched tables.
Base & group_by ()
 Group and sort matched tables.
Base & group_by (flecs::entity_t component)
 Group and sort matched tables.
Base & group_by_ctx (void *ctx, ecs_ctx_free_t ctx_free=nullptr)
 Specify context to be passed to group_by function.
Base & on_group_create (ecs_group_create_action_t action)
 Specify on_group_create action.
Base & on_group_delete (ecs_group_delete_action_t action)
 Specify on_group_delete action.
Public Member Functions inherited from flecs::term_builder_i< Base >
 term_builder_i (ecs_term_t *term_ptr)
Base & term (id_t id)
Base & src ()
Base & first ()
Base & second ()
Base & src (flecs::entity_t id)
template<typename T>
Base & src ()
Base & src (const char *name)
Base & first (flecs::entity_t id)
template<typename T>
Base & first ()
Base & first (const char *name)
Base & second (flecs::entity_t id)
template<typename T>
Base & second ()
Base & second (const char *name)
Base & up (flecs::entity_t trav=0)
template<typename Trav>
Base & up ()
Base & cascade (flecs::entity_t trav=0)
template<typename Trav>
Base & cascade ()
Base & desc ()
Base & parent ()
Base & trav (flecs::entity_t trav, flecs::flags32_t flags=0)
Base & id_flags (id_t flags)
 Set id flags for term.
Base & inout (flecs::inout_kind_t inout)
 Set read/write access of term.
Base & inout_stage (flecs::inout_kind_t inout)
 Set read/write access for stage.
Base & write ()
 Short for inout_stage(flecs::Out).
Base & read ()
 Short for inout_stage(flecs::In).
Base & read_write ()
 Short for inout_stage(flecs::InOut).
Base & in ()
 Short for inout(flecs::In)
Base & out ()
 Short for inout(flecs::Out)
Base & inout ()
 Short for inout(flecs::InOut)
Base & inout_none ()
 Short for inout(flecs::In)
Base & oper (flecs::oper_kind_t oper)
 Set operator of term.
Base & and_ ()
Base & or_ ()
Base & not_ ()
Base & optional ()
Base & and_from ()
Base & or_from ()
Base & not_from ()
Base & singleton ()
 Match singleton.
Base & filter ()
Public Member Functions inherited from flecs::term_ref_builder_i< Base >
Base & self ()
Base & id (flecs::entity_t id)
Base & entity (flecs::entity_t entity)
Base & name (const char *name)
Base & var (const char *var_name)
Base & flags (flecs::flags32_t flags)

Additional Inherited Members

Public Types inherited from flecs::_::node_builder< system, ecs_system_desc_t, system_builder< Components... >, system_builder_i, Components ... >
using IBase
Public Attributes inherited from flecs::term_builder_i< Base >
ecs_term_tterm_
Public Attributes inherited from flecs::term_ref_builder_i< Base >
ecs_term_ref_tterm_ref_
Protected Member Functions inherited from flecs::_::node_builder< system, ecs_system_desc_t, system_builder< Components... >, system_builder_i, Components ... >
flecs::world_t * world_v () override
Protected Member Functions inherited from flecs::term_builder_i< Base >
void set_term (ecs_term_t *term)
Protected Member Functions inherited from flecs::term_ref_builder_i< Base >
void assert_term_ref ()
Protected Attributes inherited from flecs::_::node_builder< system, ecs_system_desc_t, system_builder< Components... >, system_builder_i, Components ... >
ecs_system_desc_t desc_
flecs::world_t * world_
Protected Attributes inherited from flecs::query_builder_i< Base, Components ... >
int32_t term_index_
int32_t expr_count_

Detailed Description

template<typename ... Components>
struct flecs::system_builder< Components >

System builder.

Definition at line 24 of file builder.hpp.

Constructor & Destructor Documentation

◆ system_builder()

template<typename ... Components>
flecs::system_builder< Components >::system_builder ( flecs::world_t * world,
const char * name = nullptr )
inline

Definition at line 25 of file builder.hpp.

Member Function Documentation

◆ each()

template<typename ... Components>
template<typename Func>
system flecs::system_builder< Components >::each ( Func && func)
inline

Definition at line 133 of file impl.hpp.


The documentation for this struct was generated from the following files:
  • include/flecs/addons/cpp/mixins/system/builder.hpp
  • include/flecs/addons/cpp/mixins/system/impl.hpp