![]() |
Flecs v3.2
A fast entity component system (ECS) for C & C++
|
Public Member Functions | |
template<typename Func > | |
void | each (Func &&func) const |
Each iterator. More... | |
template<typename Func > | |
void | each (flecs::world_t *world, Func &&func) const |
template<typename Func > | |
void | each (flecs::iter &it, Func &&func) const |
template<typename Func > | |
void | each (flecs::entity e, Func &&func) const |
template<typename Func > | |
flecs::entity | find (Func &&func) const |
template<typename Func > | |
void | iter (Func &&func) const |
Iter iterator. More... | |
template<typename Func > | |
void | iter (flecs::world_t *world, Func &&func) const |
template<typename Func > | |
void | iter (flecs::iter &it, Func &&func) const |
template<typename Func > | |
void | iter (flecs::entity e, Func &&func) const |
iter_iterable< Components... > | iter (flecs::world_t *world=nullptr) const |
Create iterator. More... | |
page_iterable< Components... > | page (int32_t offset, int32_t limit) |
Page iterator. More... | |
worker_iterable< Components... > | worker (int32_t index, int32_t count) |
Worker iterator. More... | |
int32_t | count () const |
Return number of entities matched by iterable. More... | |
bool | is_true () const |
Return whether iterable has any matches. More... | |
flecs::entity | first () const |
Return first entity matched by iterable. More... | |
Protected Member Functions | |
virtual ecs_iter_t | get_iter (flecs::world_t *stage) const =0 |
virtual ecs_iter_next_action_t | next_action () const =0 |
virtual ecs_iter_next_action_t | next_each_action () const =0 |
template<template< typename Func, typename ... Comps > class Delegate, typename Func , typename NextFunc , typename ... Args> | |
void | iterate (flecs::world_t *stage, Func &&func, NextFunc next, Args &&... args) const |
template<template< typename Func, typename ... Comps > class Delegate, typename Func , typename NextFunc , typename ... Args> | |
flecs::entity | iterate_find (flecs::world_t *stage, Func &&func, NextFunc next, Args &&... args) const |
Protected Attributes | |
friend | iter_iterable< Components... > |
friend | page_iterable< Components... > |
friend | worker_iterable< Components... > |
Definition at line 18 of file iterable.hpp.
|
inlinevirtual |
Definition at line 132 of file iterable.hpp.
|
inline |
Return number of entities matched by iterable.
Definition at line 118 of file iterable.hpp.
|
inline |
Definition at line 47 of file iterable.hpp.
|
inline |
Definition at line 41 of file iterable.hpp.
|
inline |
Definition at line 35 of file iterable.hpp.
|
inline |
Each iterator.
The "each" iterator accepts a function that is invoked for each matching entity. The following function signatures are valid:
Each iterators are automatically instanced.
Definition at line 30 of file iterable.hpp.
|
inline |
Definition at line 53 of file iterable.hpp.
|
inline |
Return first entity matched by iterable.
Definition at line 128 of file iterable.hpp.
|
inline |
Return whether iterable has any matches.
Definition at line 123 of file iterable.hpp.
|
inline |
Definition at line 88 of file iterable.hpp.
|
inline |
Definition at line 82 of file iterable.hpp.
|
inline |
Definition at line 76 of file iterable.hpp.
iter_iterable< Components... > flecs::iterable< Components >::iter | ( | flecs::world_t * | world = nullptr | ) | const |
Create iterator.
Create an iterator object that can be modified before iterating.
Definition at line 261 of file iterable.hpp.
|
inline |
Iter iterator.
The "iter" iterator accepts a function that is invoked for each matching table. The following function signatures are valid:
Iter iterators are not automatically instanced. When a result contains shared components, entities of the result will be iterated one by one. This ensures that applications can't accidentally read out of bounds by accessing a shared component as an array.
Definition at line 70 of file iterable.hpp.
|
inlineprotected |
Definition at line 143 of file iterable.hpp.
|
inlineprotected |
Definition at line 155 of file iterable.hpp.
page_iterable< Components... > flecs::iterable< Components >::page | ( | int32_t | offset, |
int32_t | limit | ||
) |
Page iterator.
Create an iterator that limits the returned entities with offset/limit.
offset | How many entities to skip. |
limit | The maximum number of entities to return. |
Definition at line 296 of file iterable.hpp.
worker_iterable< Components... > flecs::iterable< Components >::worker | ( | int32_t | index, |
int32_t | count | ||
) |
Worker iterator.
Create an iterator that divides the number of matched entities across a number of resources.
index | The index of the current resource. |
count | The total number of resources to divide entities between. |
Definition at line 332 of file iterable.hpp.
|
protected |
Definition at line 134 of file iterable.hpp.
|
protected |
Definition at line 135 of file iterable.hpp.
|
protected |
Definition at line 136 of file iterable.hpp.