Flecs v3.1
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 >:
flecs::term_id_builder_i< Base > flecs::filter_builder_i< Base, Components ... > flecs::filter_builder_i< Base, Components > flecs::query_builder_i< Base > flecs::query_builder_i< Base, Components ... > flecs::observer_builder_i< Base, Components > flecs::query_builder_i< Base, Components > flecs::pipeline_builder_i< Base > flecs::system_builder_i< Base, Components >

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 & role (id_t role)
 Set role of 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_id_builder_i< Base >
Base & self ()
 
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 & parent ()
 
Base & trav (flecs::entity_t trav, flecs::flags32_t flags=0)
 
Base & id (flecs::entity_t id)
 
Base & entity (flecs::entity_t entity)
 
Base & name (const char *name)
 
Base & var (const char *var_name)
 

Public Attributes

ecs_term_tm_term
 
- Public Attributes inherited from flecs::term_id_builder_i< Base >
ecs_term_id_tm_term_id
 

Protected Member Functions

virtual flecs::world_t * world_v ()=0
 
void set_term (ecs_term_t *term)
 
virtual flecs::world_t * world_v ()=0
 

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 141 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 142 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 144 of file builder_i.hpp.

Member Function Documentation

◆ and_()

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

Definition at line 337 of file builder_i.hpp.

◆ and_from()

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

Definition at line 357 of file builder_i.hpp.

◆ filter()

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

Definition at line 388 of file builder_i.hpp.

◆ first() [1/4]

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

Definition at line 162 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 212 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 219 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 204 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 310 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 320 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 265 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 325 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 279 of file builder_i.hpp.

◆ not_()

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

Definition at line 347 of file builder_i.hpp.

◆ not_from()

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

Definition at line 367 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 330 of file builder_i.hpp.

◆ optional()

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

Definition at line 352 of file builder_i.hpp.

◆ or_()

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

Definition at line 342 of file builder_i.hpp.

◆ or_from()

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

Definition at line 362 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 315 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 298 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 get_mut.

Definition at line 305 of file builder_i.hpp.

◆ role()

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

Set role of term.

Definition at line 258 of file builder_i.hpp.

◆ second() [1/4]

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

Definition at line 170 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 239 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 246 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 231 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 398 of file builder_i.hpp.

◆ singleton()

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

Match singleton.

Definition at line 372 of file builder_i.hpp.

◆ src() [1/4]

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

Definition at line 153 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 185 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 192 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 177 of file builder_i.hpp.

◆ term()

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

Definition at line 148 of file builder_i.hpp.

◆ world_v()

template<typename Base >
virtual flecs::world_t * flecs::term_builder_i< Base >::world_v ( )
protectedpure 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 291 of file builder_i.hpp.

Member Data Documentation

◆ m_term

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

Definition at line 393 of file builder_i.hpp.


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