Flecs v4.1
A fast entity component system (ECS) for C & C++
Loading...
Searching...
No Matches
flecs::pipeline_builder_i< Base > Struct Template Reference

Pipeline builder interface. More...

#include <builder_i.hpp>

Inheritance diagram for flecs::pipeline_builder_i< Base >:
[legend]

Public Member Functions

 pipeline_builder_i (ecs_pipeline_desc_t *desc, int32_t term_index=0)
 Construct from a pipeline descriptor.
 
- Public Member Functions inherited from flecs::query_builder_i< Base >
 query_builder_i (ecs_query_desc_t *desc, int32_t term_index=0)
 Construct from a query descriptor.
 
Base & query_flags (ecs_flags32_t flags)
 Set the query flags.
 
Base & cache_kind (query_cache_kind_t kind)
 Set the cache kind for the query.
 
Base & cached ()
 Enable auto-caching for the query.
 
Base & detect_changes ()
 Enable change detection for the query.
 
Base & expr (const char *expr)
 Set the query expression string.
 
Base & scope_open ()
 Open a query scope.
 
Base & scope_close ()
 Close a query scope.
 
Base & term ()
 Set the current term to the next one in the term list.
 
Base & term_at ()
 Set the current term to the one with the provided type.
 
Base & term_at (int32_t term_index)
 Set the current term to the one at the provided index.
 
Base & term_at (int32_t term_index)
 Set the current term to the one at the provided index and assert 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 the group_by() function.
 
Base & on_group_create (ecs_group_create_action_t action)
 Specify the on_group_create() action.
 
Base & on_group_delete (ecs_group_delete_action_t action)
 Specify the on_group_delete() action.
 
Base & with ()
 Add a term for the specified type.
 
Base & with (id_t component_id)
 Add a term for the specified component ID.
 
Base & with (const char *component_name)
 Add a term for the specified component name.
 
Base & with (const char *first, const char *second)
 Add a term for a pair specified by name.
 
Base & with (entity_t first, entity_t second)
 Add a term for a pair specified by entity IDs.
 
Base & with (entity_t first, const char *second)
 Add a term for a pair with an entity ID first and a name second.
 
Base & with (const char *first, entity_t second)
 Add a term for a pair with a name first and an entity ID second.
 
Base & with (entity_t second)
 Add a term for a pair with type First and an entity ID second.
 
Base & with (const char *second)
 Add a term for a pair with type First and name second.
 
Base & with ()
 Add a term for a pair with types First and Second.
 
Base & with (E value)
 Add a term for an enum value.
 
Base & with (flecs::term &term)
 Add a term from an existing term reference.
 
Base & with (flecs::term &&term)
 Add a term from an existing term (move).
 
Base & without (Args &&... args)
 Add a negated term.
 
Base & without (Args &&... args)
 Add a negated term for the specified type.
 
Base & without ()
 Add a negated term for a pair of types.
 
Base & write ()
 Short for inout_stage(flecs::Out).
 
Base & write (Args &&... args)
 Add a write term with the specified arguments.
 
Base & write (Args &&... args)
 Add a write term for the specified type.
 
Base & write ()
 Add a write term for a pair of types.
 
Base & read ()
 Short for inout_stage(flecs::In).
 
Base & read (Args &&... args)
 Add a read term with the specified arguments.
 
Base & read (Args &&... args)
 Add a read term for the specified type.
 
Base & read ()
 Add a read term for a pair of types.
 
- Public Member Functions inherited from flecs::term_builder_i< Base >
 term_builder_i ()
 Default constructor.
 
 term_builder_i (ecs_term_t *term_ptr)
 Construct from a term pointer.
 
Base & term (id_t id)
 Set the term ID.
 
Base & src ()
 Call prior to setting values for the src identifier.
 
Base & first ()
 Call prior to setting values for the first identifier.
 
Base & second ()
 Call prior to setting values for the second identifier.
 
Base & src (flecs::entity_t id)
 Select the src identifier, initialize it with an entity ID.
 
template<typename T >
Base & src ()
 Select the src identifier, initialize it with the ID associated with the type.
 
Base & src (const char *name)
 Select the src identifier, initialize it with a name.
 
Base & first (flecs::entity_t id)
 Select the first identifier, initialize it with an entity ID.
 
template<typename T >
Base & first ()
 Select the first identifier, initialize it with the ID associated with the type.
 
Base & first (const char *name)
 Select the first identifier, initialize it with a name.
 
Base & second (flecs::entity_t id)
 Select the second identifier, initialize it with an entity ID.
 
template<typename T >
Base & second ()
 Select the second identifier, initialize it with the ID associated with the type.
 
Base & second (const char *name)
 Select the second identifier, initialize it with a name.
 
Base & up (flecs::entity_t trav=0)
 The up flag indicates that the term identifier may be substituted by traversing a relationship upwards.
 
template<typename Trav >
Base & up ()
 Traverse upwards using the specified relationship type.
 
Base & cascade (flecs::entity_t trav=0)
 The cascade flag is like up(), but returns results in breadth-first order.
 
template<typename Trav >
Base & cascade ()
 Cascade using the specified relationship type.
 
Base & desc ()
 Use with cascade() to iterate results in descending (bottom-to-top) order.
 
Base & parent ()
 Same as up().
 
Base & trav (flecs::entity_t trav, flecs::flags32_t flags=0)
 Specify the relationship to traverse, and flags to indicate direction.
 
Base & id_flags (id_t flags)
 Set ID flags for the term.
 
Base & inout (flecs::inout_kind_t inout)
 Set read/write access of the term.
 
Base & inout_stage (flecs::inout_kind_t inout)
 Set read/write access for a 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::InOutNone).
 
Base & oper (flecs::oper_kind_t oper)
 Set the operator of the term.
 
Base & and_ ()
 Short for oper(flecs::And).
 
Base & or_ ()
 Short for oper(flecs::Or).
 
Base & not_ ()
 Short for oper(flecs::Not).
 
Base & optional ()
 Short for oper(flecs::Optional).
 
Base & and_from ()
 Short for oper(flecs::AndFrom).
 
Base & or_from ()
 Short for oper(flecs::OrFrom).
 
Base & not_from ()
 Short for oper(flecs::NotFrom).
 
Base & filter ()
 Mark the term as a filter.
 
- Public Member Functions inherited from flecs::term_ref_builder_i< Base >
 term_ref_builder_i ()
 Default constructor.
 
virtual ~term_ref_builder_i ()
 Destructor.
 
Base & self ()
 The self flag indicates that the term identifier itself is used.
 
Base & id (flecs::entity_t id)
 Specify the value of the identifier by ID.
 
Base & entity (flecs::entity_t entity)
 Specify the value of the identifier by ID.
 
Base & name (const char *name)
 Specify the value of the identifier by name.
 
Base & var (const char *var_name)
 Specify that the identifier is a variable (resolved at query evaluation time).
 
Base & flags (flecs::flags64_t flags)
 Override the term ID flags.
 

Additional Inherited Members

- Public Attributes inherited from flecs::term_builder_i< Base >
ecs_term_tterm_
 Pointer to the current term.
 
- Public Attributes inherited from flecs::term_ref_builder_i< Base >
ecs_term_ref_tterm_ref_
 Pointer to the current term reference.
 
- Protected Member Functions inherited from flecs::query_builder_i< Base >
virtual flecs::world_tworld_v () override=0
 
- Protected Member Functions inherited from flecs::term_builder_i< Base >
void set_term (ecs_term_t *term)
 Set the current term pointer.
 
- Protected Member Functions inherited from flecs::term_ref_builder_i< Base >
void assert_term_ref ()
 
- Protected Attributes inherited from flecs::query_builder_i< Base >
int32_t term_index_
 
int32_t expr_count_
 

Detailed Description

template<typename Base>
struct flecs::pipeline_builder_i< Base >

Pipeline builder interface.

Definition at line 17 of file builder_i.hpp.

Constructor & Destructor Documentation

◆ pipeline_builder_i()

template<typename Base >
flecs::pipeline_builder_i< Base >::pipeline_builder_i ( ecs_pipeline_desc_t * desc,
int32_t term_index = 0 )
inline

Construct from a pipeline descriptor.

Definition at line 19 of file builder_i.hpp.


The documentation for this struct was generated from the following file: