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

Alert builder interface. More...

#include <builder_i.hpp>

Inheritance diagram for flecs::alert_builder_i< Base, Components >:
[legend]

Public Member Functions

 alert_builder_i (ecs_alert_desc_t *desc, int32_t term_index=0)
 
Base & message (const char *message)
 Set the alert message.
 
Base & brief (const char *brief)
 Set the brief description for an alert.
 
Base & doc_name (const char *doc_name)
 Set the doc name for an alert.
 
Base & severity (flecs::entity_t kind)
 Set the severity of an alert (default is Error).
 
Base & retain_period (ecs_ftime_t period)
 Set the retain period of an alert.
 
template<typename Severity >
Base & severity ()
 Set the severity of an alert (default is Error).
 
Base & severity_filter (flecs::entity_t kind, flecs::id_t with, const char *var=nullptr)
 Add a severity filter.
 
template<typename Severity >
Base & severity_filter (flecs::id_t with, const char *var=nullptr)
 Add a severity filter.
 
template<typename Severity , typename T , if_not_t< is_enum< T >::value > = 0>
Base & severity_filter (const char *var=nullptr)
 Add a severity filter.
 
template<typename Severity , typename T , if_t< is_enum< T >::value > = 0>
Base & severity_filter (T with, const char *var=nullptr)
 Add a severity filter.
 
Base & member (flecs::entity_t m)
 Set the member to create an alert for out-of-range values.
 
Base & id (flecs::id_t id)
 Set the (component) ID for the member (optional).
 
template<typename T >
Base & member (const char *m, const char *v=nullptr)
 Set the member to create an alert for out-of-range values.
 
Base & var (const char *v)
 Set the source variable for member (optional, defaults to $this).
 
- Public Member Functions inherited from flecs::query_builder_i< Base, Components ... >
 query_builder_i (ecs_query_desc_t *desc, int32_t term_index=0)
 Construct from a query descriptor.
 
Base & query_flags (ecs_flags32_t flags)
 Set the query flags.
 
Base & cache_kind (query_cache_kind_t kind)
 Set the cache kind for the query.
 
Base & cached ()
 Enable auto-caching for the query.
 
Base & detect_changes ()
 Enable change detection for the query.
 
Base & expr (const char *expr)
 Set the query expression string.
 
Base & scope_open ()
 Open a query scope.
 
Base & scope_close ()
 Close a query scope.
 
Base & term ()
 Set the current term to the next one in the term list.
 
Base & term_at ()
 Set the current term to the one with the provided type.
 
Base & term_at (int32_t term_index)
 Set the current term to the one at the provided index.
 
Base & term_at (int32_t term_index)
 Set the current term to the one at the provided index and assert that the type matches.
 
Base & order_by (int(*compare)(flecs::entity_t, const T *, flecs::entity_t, const T *))
 Sort the output of a query.
 
Base & order_by (flecs::entity_t component, int(*compare)(flecs::entity_t, const void *, flecs::entity_t, const void *))
 Sort the output of a query.
 
Base & group_by (uint64_t(*group_by_action)(flecs::world_t *, flecs::table_t *table, flecs::id_t id, void *ctx))
 Group and sort matched tables.
 
Base & group_by (flecs::entity_t component, uint64_t(*group_by_action)(flecs::world_t *, flecs::table_t *table, flecs::id_t id, void *ctx))
 Group and sort matched tables.
 
Base & group_by ()
 Group and sort matched tables.
 
Base & group_by (flecs::entity_t component)
 Group and sort matched tables.
 
Base & group_by_ctx (void *ctx, ecs_ctx_free_t ctx_free=nullptr)
 Specify context to be passed to the group_by() function.
 
Base & on_group_create (ecs_group_create_action_t action)
 Specify the on_group_create() action.
 
Base & on_group_delete (ecs_group_delete_action_t action)
 Specify the on_group_delete() action.
 
Base & with ()
 Add a term for the specified type.
 
Base & with (id_t component_id)
 Add a term for the specified component ID.
 
Base & with (const char *component_name)
 Add a term for the specified component name.
 
Base & with (const char *first, const char *second)
 Add a term for a pair specified by name.
 
Base & with (entity_t first, entity_t second)
 Add a term for a pair specified by entity IDs.
 
Base & with (entity_t first, const char *second)
 Add a term for a pair with an entity ID first and a name second.
 
Base & with (const char *first, entity_t second)
 Add a term for a pair with a name first and an entity ID second.
 
Base & with (entity_t second)
 Add a term for a pair with type First and an entity ID second.
 
Base & with (const char *second)
 Add a term for a pair with type First and name second.
 
Base & with ()
 Add a term for a pair with types First and Second.
 
Base & with (E value)
 Add a term for an enum value.
 
Base & with (flecs::term &term)
 Add a term from an existing term reference.
 
Base & with (flecs::term &&term)
 Add a term from an existing term (move).
 
Base & without (Args &&... args)
 Add a negated term.
 
Base & without (Args &&... args)
 Add a negated term for the specified type.
 
Base & without ()
 Add a negated term for a pair of types.
 
Base & write ()
 Short for inout_stage(flecs::Out).
 
Base & write (Args &&... args)
 Add a write term with the specified arguments.
 
Base & write (Args &&... args)
 Add a write term for the specified type.
 
Base & write ()
 Add a write term for a pair of types.
 
Base & read ()
 Short for inout_stage(flecs::In).
 
Base & read (Args &&... args)
 Add a read term with the specified arguments.
 
Base & read (Args &&... args)
 Add a read term for the specified type.
 
Base & read ()
 Add a read term for a pair of types.
 
- Public Member Functions inherited from flecs::term_builder_i< Base >
 term_builder_i ()
 Default constructor.
 
 term_builder_i (ecs_term_t *term_ptr)
 Construct from a term pointer.
 
Base & term (id_t id)
 Set the term ID.
 
Base & src ()
 Call prior to setting values for the src identifier.
 
Base & first ()
 Call prior to setting values for the first identifier.
 
Base & second ()
 Call prior to setting values for the second identifier.
 
Base & src (flecs::entity_t id)
 Select the src identifier, initialize it with an entity ID.
 
template<typename T >
Base & src ()
 Select the src identifier, initialize it with the ID associated with the type.
 
Base & src (const char *name)
 Select the src identifier, initialize it with a name.
 
Base & first (flecs::entity_t id)
 Select the first identifier, initialize it with an entity ID.
 
template<typename T >
Base & first ()
 Select the first identifier, initialize it with the ID associated with the type.
 
Base & first (const char *name)
 Select the first identifier, initialize it with a name.
 
Base & second (flecs::entity_t id)
 Select the second identifier, initialize it with an entity ID.
 
template<typename T >
Base & second ()
 Select the second identifier, initialize it with the ID associated with the type.
 
Base & second (const char *name)
 Select the second identifier, initialize it with a name.
 
Base & up (flecs::entity_t trav=0)
 The up flag indicates that the term identifier may be substituted by traversing a relationship upwards.
 
template<typename Trav >
Base & up ()
 Traverse upwards using the specified relationship type.
 
Base & cascade (flecs::entity_t trav=0)
 The cascade flag is like up(), but returns results in breadth-first order.
 
template<typename Trav >
Base & cascade ()
 Cascade using the specified relationship type.
 
Base & desc ()
 Use with cascade() to iterate results in descending (bottom-to-top) order.
 
Base & parent ()
 Same as up().
 
Base & trav (flecs::entity_t trav, flecs::flags32_t flags=0)
 Specify the relationship to traverse, and flags to indicate direction.
 
Base & id_flags (id_t flags)
 Set ID flags for the term.
 
Base & inout (flecs::inout_kind_t inout)
 Set read/write access of the term.
 
Base & inout_stage (flecs::inout_kind_t inout)
 Set read/write access for a 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::InOutNone).
 
Base & oper (flecs::oper_kind_t oper)
 Set the operator of the term.
 
Base & and_ ()
 Short for oper(flecs::And).
 
Base & or_ ()
 Short for oper(flecs::Or).
 
Base & not_ ()
 Short for oper(flecs::Not).
 
Base & optional ()
 Short for oper(flecs::Optional).
 
Base & and_from ()
 Short for oper(flecs::AndFrom).
 
Base & or_from ()
 Short for oper(flecs::OrFrom).
 
Base & not_from ()
 Short for oper(flecs::NotFrom).
 
Base & filter ()
 Mark the term as a filter.
 
- Public Member Functions inherited from flecs::term_ref_builder_i< Base >
 term_ref_builder_i ()
 Default constructor.
 
virtual ~term_ref_builder_i ()
 Destructor.
 
Base & self ()
 The self flag indicates that the term identifier itself is used.
 
Base & id (flecs::entity_t id)
 Specify the value of the identifier by ID.
 
Base & entity (flecs::entity_t entity)
 Specify the value of the identifier by ID.
 
Base & name (const char *name)
 Specify the value of the identifier by name.
 
Base & var (const char *var_name)
 Specify that the identifier is a variable (resolved at query evaluation time).
 
Base & flags (flecs::flags64_t flags)
 Override the term ID flags.
 

Protected Member Functions

virtual flecs::world_tworld_v ()=0
 
- Protected Member Functions inherited from flecs::term_builder_i< Base >
void set_term (ecs_term_t *term)
 Set the current term pointer.
 
- Protected Member Functions inherited from flecs::term_ref_builder_i< Base >
void assert_term_ref ()
 

Additional Inherited Members

- Public Attributes inherited from flecs::term_builder_i< Base >
ecs_term_tterm_
 Pointer to the current term.
 
- Public Attributes inherited from flecs::term_ref_builder_i< Base >
ecs_term_ref_tterm_ref_
 Pointer to the current term reference.
 
- Protected Attributes inherited from flecs::query_builder_i< Base, Components ... >
int32_t term_index_
 
int32_t expr_count_
 

Detailed Description

template<typename Base, typename ... Components>
struct flecs::alert_builder_i< Base, Components >

Alert builder interface.

Definition at line 17 of file builder_i.hpp.

Constructor & Destructor Documentation

◆ alert_builder_i() [1/2]

template<typename Base , typename ... Components>
flecs::alert_builder_i< Base, Components >::alert_builder_i ( )
inline

Definition at line 22 of file builder_i.hpp.

◆ alert_builder_i() [2/2]

template<typename Base , typename ... Components>
flecs::alert_builder_i< Base, Components >::alert_builder_i ( ecs_alert_desc_t * desc,
int32_t term_index = 0 )
inline

Definition at line 26 of file builder_i.hpp.

Member Function Documentation

◆ brief()

template<typename Base , typename ... Components>
Base & flecs::alert_builder_i< Base, Components >::brief ( const char * brief)
inline

Set the brief description for an alert.

See also
ecs_alert_desc_t::brief

Definition at line 43 of file builder_i.hpp.

◆ doc_name()

template<typename Base , typename ... Components>
Base & flecs::alert_builder_i< Base, Components >::doc_name ( const char * doc_name)
inline

Set the doc name for an alert.

See also
ecs_alert_desc_t::doc_name

Definition at line 52 of file builder_i.hpp.

◆ id()

template<typename Base , typename ... Components>
Base & flecs::alert_builder_i< Base, Components >::id ( flecs::id_t id)
inline

Set the (component) ID for the member (optional).

If .member() is set and the ID is not set, the ID will default to the member parent.

Definition at line 150 of file builder_i.hpp.

◆ member() [1/2]

template<typename Base , typename ... Components>
template<typename T >
Base & flecs::alert_builder_i< Base, Components >::member ( const char * m,
const char * v = nullptr )
inline

Set the member to create an alert for out-of-range values.

Definition at line 157 of file builder_i.hpp.

◆ member() [2/2]

template<typename Base , typename ... Components>
Base & flecs::alert_builder_i< Base, Components >::member ( flecs::entity_t m)
inline

Set the member to create an alert for out-of-range values.

Definition at line 143 of file builder_i.hpp.

◆ message()

template<typename Base , typename ... Components>
Base & flecs::alert_builder_i< Base, Components >::message ( const char * message)
inline

Set the alert message.

See also
ecs_alert_desc_t::message

Definition at line 34 of file builder_i.hpp.

◆ retain_period()

template<typename Base , typename ... Components>
Base & flecs::alert_builder_i< Base, Components >::retain_period ( ecs_ftime_t period)
inline

Set the retain period of an alert.

See also
ecs_alert_desc_t::retain_period

Definition at line 70 of file builder_i.hpp.

◆ severity() [1/2]

template<typename Base , typename ... Components>
template<typename Severity >
Base & flecs::alert_builder_i< Base, Components >::severity ( )
inline

Set the severity of an alert (default is Error).

Template Parameters
SeverityThe severity type.
See also
ecs_alert_desc_t::severity

Definition at line 81 of file builder_i.hpp.

◆ severity() [2/2]

template<typename Base , typename ... Components>
Base & flecs::alert_builder_i< Base, Components >::severity ( flecs::entity_t kind)
inline

Set the severity of an alert (default is Error).

See also
ecs_alert_desc_t::severity

Definition at line 61 of file builder_i.hpp.

◆ severity_filter() [1/4]

template<typename Base , typename ... Components>
template<typename Severity , typename T , if_not_t< is_enum< T >::value > = 0>
Base & flecs::alert_builder_i< Base, Components >::severity_filter ( const char * var = nullptr)
inline

Add a severity filter.

Template Parameters
SeverityThe severity type.
TThe component type to match for this severity.
Parameters
varThe variable to use for the ID (optional).

Definition at line 122 of file builder_i.hpp.

◆ severity_filter() [2/4]

template<typename Base , typename ... Components>
Base & flecs::alert_builder_i< Base, Components >::severity_filter ( flecs::entity_t kind,
flecs::id_t with,
const char * var = nullptr )
inline

Add a severity filter.

Parameters
kindThe severity entity.
withThe ID to match for this severity.
varThe variable to use for the ID (optional).

Definition at line 91 of file builder_i.hpp.

◆ severity_filter() [3/4]

template<typename Base , typename ... Components>
template<typename Severity >
Base & flecs::alert_builder_i< Base, Components >::severity_filter ( flecs::id_t with,
const char * var = nullptr )
inline

Add a severity filter.

Template Parameters
SeverityThe severity type.
Parameters
withThe ID to match for this severity.
varThe variable to use for the ID (optional).

Definition at line 111 of file builder_i.hpp.

◆ severity_filter() [4/4]

template<typename Base , typename ... Components>
template<typename Severity , typename T , if_t< is_enum< T >::value > = 0>
Base & flecs::alert_builder_i< Base, Components >::severity_filter ( T with,
const char * var = nullptr )
inline

Add a severity filter.

Template Parameters
SeverityThe severity type.
TThe enum type to match for this severity.
Parameters
withThe enum constant to match.
varThe variable to use for the ID (optional).

Definition at line 135 of file builder_i.hpp.

◆ var()

template<typename Base , typename ... Components>
Base & flecs::alert_builder_i< Base, Components >::var ( const char * v)
inline

Set the source variable for member (optional, defaults to $this).

Definition at line 167 of file builder_i.hpp.

◆ world_v()

template<typename Base , typename ... Components>
virtual flecs::world_t * flecs::alert_builder_i< Base, Components >::world_v ( )
protectedpure virtual

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