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 & 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)
 

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 99 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 100 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 102 of file builder_i.hpp.

Member Function Documentation

◆ and_()

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

Definition at line 354 of file builder_i.hpp.

◆ and_from()

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

Definition at line 374 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 250 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 239 of file builder_i.hpp.

◆ desc()

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

Definition at line 255 of file builder_i.hpp.

◆ filter()

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

Definition at line 410 of file builder_i.hpp.

◆ first() [1/4]

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

Definition at line 120 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 170 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 177 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 162 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 275 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 327 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 337 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 282 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 342 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 296 of file builder_i.hpp.

◆ not_()

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

Definition at line 364 of file builder_i.hpp.

◆ not_from()

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

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

◆ optional()

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

Definition at line 369 of file builder_i.hpp.

◆ or_()

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

Definition at line 359 of file builder_i.hpp.

◆ or_from()

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

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

◆ parent()

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

Definition at line 262 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 315 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 322 of file builder_i.hpp.

◆ second() [1/4]

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

Definition at line 128 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 197 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 204 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 189 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 420 of file builder_i.hpp.

◆ singleton()

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

Match singleton.

Definition at line 389 of file builder_i.hpp.

◆ src() [1/4]

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

Definition at line 111 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 143 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 150 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 135 of file builder_i.hpp.

◆ term()

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

Definition at line 106 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 267 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 233 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 218 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 308 of file builder_i.hpp.

Member Data Documentation

◆ term_

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

Definition at line 415 of file builder_i.hpp.


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