Flecs: flecs::term_builder_i< Base > Struct Template Reference
Description: A fast entity component system (ECS) for C & C++

| Flecs v4.0 A fast entity component system (ECS) for C & C++

Loading...
Searching...
No Matches
flecs::term_builder_i< Base > Struct Template Referenceabstract
C++ API » Core » Queries

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::flags32_t flags)

## Public Attributes
ecs_term_t * | term_
Public Attributes inherited from flecs::term_ref_builder_i< Base >
ecs_term_ref_t * | term_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 389 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 399 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

Implements flecs::term_ref_builder_i< Base >.

## ◆ 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 394 of file builder_i.hpp.

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

- include/flecs/addons/cpp/mixins/term/builder_i.hpp