Flecs v3.2
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 & 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 & desc ()
 
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)
 
Base & flags (flecs::flags32_t flags)
 

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)
 

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 155 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 156 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 158 of file builder_i.hpp.

Member Function Documentation

◆ and_()

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

Definition at line 351 of file builder_i.hpp.

◆ and_from()

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

Definition at line 371 of file builder_i.hpp.

◆ filter()

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

Definition at line 407 of file builder_i.hpp.

◆ first() [1/4]

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

Definition at line 176 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 226 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 233 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 218 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 324 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 334 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 279 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 339 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 293 of file builder_i.hpp.

◆ not_()

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

Definition at line 361 of file builder_i.hpp.

◆ not_from()

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

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

◆ optional()

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

Definition at line 366 of file builder_i.hpp.

◆ or_()

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

Definition at line 356 of file builder_i.hpp.

◆ or_from()

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

Definition at line 376 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 329 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 312 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 319 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 272 of file builder_i.hpp.

◆ second() [1/4]

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

Definition at line 184 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 253 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 260 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 245 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 417 of file builder_i.hpp.

◆ singleton()

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

Match singleton.

Definition at line 386 of file builder_i.hpp.

◆ src() [1/4]

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

Definition at line 167 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 199 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 206 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 191 of file builder_i.hpp.

◆ term()

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

Definition at line 162 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 305 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 412 of file builder_i.hpp.


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