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

Term builder interface. More...

#include <builder_i.hpp>

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

Public Member Functions

 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 & 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::flags64_t flags)
 

Public Attributes

ecs_term_tterm_
 
- Public Attributes inherited from flecs::term_ref_builder_i< Base >
ecs_term_ref_tterm_ref_
 

Protected Member Functions

virtual flecs::world_t * world_v () override=0
 
void set_term (ecs_term_t *term)
 
- Protected Member Functions inherited from flecs::term_ref_builder_i< Base >
void assert_term_ref ()
 

Detailed Description

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

Term builder interface.

A term is a single element of a query expression.

Definition at line 100 of file builder_i.hpp.

Constructor & Destructor Documentation

◆ term_builder_i() [1/2]

template<typename Base >
flecs::term_builder_i< Base >::term_builder_i ( )
inline

Definition at line 101 of file builder_i.hpp.

◆ term_builder_i() [2/2]

template<typename Base >
flecs::term_builder_i< Base >::term_builder_i ( ecs_term_t * term_ptr)
inline

Definition at line 103 of file builder_i.hpp.

Member Function Documentation

◆ and_()

template<typename Base >
Base & flecs::term_builder_i< Base >::and_ ( )
inline

Definition at line 355 of file builder_i.hpp.

◆ and_from()

template<typename Base >
Base & flecs::term_builder_i< Base >::and_from ( )
inline

Definition at line 375 of file builder_i.hpp.

◆ cascade() [1/2]

template<typename Base >
template<typename Trav >
Base & flecs::term_builder_i< Base >::cascade ( )
inline

Definition at line 251 of file builder_i.hpp.

◆ cascade() [2/2]

template<typename Base >
Base & flecs::term_builder_i< Base >::cascade ( flecs::entity_t trav = 0)
inline

Definition at line 240 of file builder_i.hpp.

◆ desc()

template<typename Base >
Base & flecs::term_builder_i< Base >::desc ( )
inline

Definition at line 256 of file builder_i.hpp.

◆ filter()

template<typename Base >
Base & flecs::term_builder_i< Base >::filter ( )
inline

Definition at line 390 of file builder_i.hpp.

◆ first() [1/4]

template<typename Base >
Base & flecs::term_builder_i< Base >::first ( )
inline

Definition at line 121 of file builder_i.hpp.

◆ first() [2/4]

template<typename Base >
template<typename T >
Base & flecs::term_builder_i< Base >::first ( )
inline

Definition at line 171 of file builder_i.hpp.

◆ first() [3/4]

template<typename Base >
Base & flecs::term_builder_i< Base >::first ( const char * name)
inline

Definition at line 178 of file builder_i.hpp.

◆ first() [4/4]

template<typename Base >
Base & flecs::term_builder_i< Base >::first ( flecs::entity_t id)
inline

Definition at line 163 of file builder_i.hpp.

◆ id_flags()

template<typename Base >
Base & flecs::term_builder_i< Base >::id_flags ( id_t flags)
inline

Set id flags for term.

Definition at line 276 of file builder_i.hpp.

◆ in()

template<typename Base >
Base & flecs::term_builder_i< Base >::in ( )
inline

Short for inout(flecs::In)

Definition at line 328 of file builder_i.hpp.

◆ inout() [1/2]

template<typename Base >
Base & flecs::term_builder_i< Base >::inout ( )
inline

Short for inout(flecs::InOut)

Definition at line 338 of file builder_i.hpp.

◆ inout() [2/2]

template<typename Base >
Base & flecs::term_builder_i< Base >::inout ( flecs::inout_kind_t inout)
inline

Set read/write access of term.

Definition at line 283 of file builder_i.hpp.

◆ inout_none()

template<typename Base >
Base & flecs::term_builder_i< Base >::inout_none ( )
inline

Short for inout(flecs::In)

Definition at line 343 of file builder_i.hpp.

◆ inout_stage()

template<typename Base >
Base & flecs::term_builder_i< Base >::inout_stage ( flecs::inout_kind_t inout)
inline

Set read/write access for stage.

Use this when a system reads or writes components other than the ones provided by the query. This information can be used by schedulers to insert sync/merge points between systems where deferred operations are flushed.

Setting this is optional. If not set, the value of the accessed component may be out of sync for at most one frame.

Definition at line 297 of file builder_i.hpp.

◆ not_()

template<typename Base >
Base & flecs::term_builder_i< Base >::not_ ( )
inline

Definition at line 365 of file builder_i.hpp.

◆ not_from()

template<typename Base >
Base & flecs::term_builder_i< Base >::not_from ( )
inline

Definition at line 385 of file builder_i.hpp.

◆ oper()

template<typename Base >
Base & flecs::term_builder_i< Base >::oper ( flecs::oper_kind_t oper)
inline

Set operator of term.

Definition at line 348 of file builder_i.hpp.

◆ optional()

template<typename Base >
Base & flecs::term_builder_i< Base >::optional ( )
inline

Definition at line 370 of file builder_i.hpp.

◆ or_()

template<typename Base >
Base & flecs::term_builder_i< Base >::or_ ( )
inline

Definition at line 360 of file builder_i.hpp.

◆ or_from()

template<typename Base >
Base & flecs::term_builder_i< Base >::or_from ( )
inline

Definition at line 380 of file builder_i.hpp.

◆ out()

template<typename Base >
Base & flecs::term_builder_i< Base >::out ( )
inline

Short for inout(flecs::Out)

Definition at line 333 of file builder_i.hpp.

◆ parent()

template<typename Base >
Base & flecs::term_builder_i< Base >::parent ( )
inline

Definition at line 263 of file builder_i.hpp.

◆ read()

template<typename Base >
Base & flecs::term_builder_i< Base >::read ( )
inline

Short for inout_stage(flecs::In).

Use when system uses get.

Definition at line 316 of file builder_i.hpp.

◆ read_write()

template<typename Base >
Base & flecs::term_builder_i< Base >::read_write ( )
inline

Short for inout_stage(flecs::InOut).

Use when system uses ensure.

Definition at line 323 of file builder_i.hpp.

◆ second() [1/4]

template<typename Base >
Base & flecs::term_builder_i< Base >::second ( )
inline

Definition at line 129 of file builder_i.hpp.

◆ second() [2/4]

template<typename Base >
template<typename T >
Base & flecs::term_builder_i< Base >::second ( )
inline

Definition at line 198 of file builder_i.hpp.

◆ second() [3/4]

template<typename Base >
Base & flecs::term_builder_i< Base >::second ( const char * name)
inline

Definition at line 205 of file builder_i.hpp.

◆ second() [4/4]

template<typename Base >
Base & flecs::term_builder_i< Base >::second ( flecs::entity_t id)
inline

Definition at line 190 of file builder_i.hpp.

◆ set_term()

template<typename Base >
void flecs::term_builder_i< Base >::set_term ( ecs_term_t * term)
inlineprotected

Definition at line 400 of file builder_i.hpp.

◆ src() [1/4]

template<typename Base >
Base & flecs::term_builder_i< Base >::src ( )
inline

Definition at line 112 of file builder_i.hpp.

◆ src() [2/4]

template<typename Base >
template<typename T >
Base & flecs::term_builder_i< Base >::src ( )
inline

Definition at line 144 of file builder_i.hpp.

◆ src() [3/4]

template<typename Base >
Base & flecs::term_builder_i< Base >::src ( const char * name)
inline

Definition at line 151 of file builder_i.hpp.

◆ src() [4/4]

template<typename Base >
Base & flecs::term_builder_i< Base >::src ( flecs::entity_t id)
inline

Definition at line 136 of file builder_i.hpp.

◆ term()

template<typename Base >
Base & flecs::term_builder_i< Base >::term ( id_t id)
inline

Definition at line 107 of file builder_i.hpp.

◆ trav()

template<typename Base >
Base & flecs::term_builder_i< Base >::trav ( flecs::entity_t trav,
flecs::flags32_t flags = 0 )
inline

Definition at line 268 of file builder_i.hpp.

◆ up() [1/2]

template<typename Base >
template<typename Trav >
Base & flecs::term_builder_i< Base >::up ( )
inline

Definition at line 234 of file builder_i.hpp.

◆ up() [2/2]

template<typename Base >
Base & flecs::term_builder_i< Base >::up ( flecs::entity_t trav = 0)
inline

Definition at line 219 of file builder_i.hpp.

◆ world_v()

template<typename Base >
virtual flecs::world_t * flecs::term_builder_i< Base >::world_v ( )
overrideprotectedpure virtual

◆ write()

template<typename Base >
Base & flecs::term_builder_i< Base >::write ( )
inline

Short for inout_stage(flecs::Out).

Use when system uses add, remove or set.

Definition at line 309 of file builder_i.hpp.

Member Data Documentation

◆ term_

template<typename Base >
ecs_term_t* flecs::term_builder_i< Base >::term_

Definition at line 395 of file builder_i.hpp.


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