Iterator used when copying entities.
More...
#include <chunk_iterator.h>
|
|
| CopyIter (CopyIter &&) noexcept=default |
| |
|
CopyIter & | operator= (CopyIter &&) noexcept=default |
| |
|
| CopyIter (const CopyIter &)=delete |
| |
|
CopyIter & | operator= (const CopyIter &)=delete |
| |
| void | set_range (uint16_t from, uint16_t cnt) |
| | Sets the iterator's range.
|
| |
|
void | set_world (const World *pWorld) |
| |
|
GAIA_NODISCARD World * | world () |
| |
|
GAIA_NODISCARD const World * | world () const |
| |
|
void | set_archetype (const Archetype *pArchetype) |
| |
|
GAIA_NODISCARD const Archetype * | archetype () const |
| |
|
void | set_chunk (Chunk *pChunk) |
| |
|
GAIA_NODISCARD const Chunk * | chunk () const |
| |
|
GAIA_NODISCARD CommandBufferST & | cmd_buffer_st () const |
| |
|
GAIA_NODISCARD CommandBufferMT & | cmd_buffer_mt () const |
| |
| template<typename T > |
| GAIA_NODISCARD auto | view () const |
| | Returns a read-only entity or component view.
|
| |
| template<typename T > |
| GAIA_NODISCARD auto | view_mut () |
| | Returns a mutable entity or component view.
|
| |
| template<typename T > |
| GAIA_NODISCARD auto | sview_mut () |
| | Returns a mutable component view. Doesn't update the world version when the access is acquired.
|
| |
| template<typename T , bool TriggerHooks> |
| void | modify () |
| | Marks the component T as modified. Best used with sview to manually trigger an update at user's whim. If.
|
| |
| template<typename T > |
| GAIA_NODISCARD auto | view_auto () |
| | Returns either a mutable or immutable entity/component view based on the requested type. Value and const types are considered immutable. Anything else is mutable.
|
| |
| template<typename T > |
| GAIA_NODISCARD auto | sview_auto () |
| | Returns either a mutable or immutable entity/component view based on the requested type. Value and const types are considered immutable. Anything else is mutable. Doesn't update the world version when read-write access is acquired.
|
| |
| GAIA_NODISCARD bool | enabled (uint32_t index) const |
| | Checks if the entity at the current iterator index is enabled.
|
| |
| GAIA_NODISCARD bool | has (Entity entity) const |
| | Checks if entity entity is present in the chunk.
|
| |
| GAIA_NODISCARD bool | has (Pair pair) const |
| | Checks if relationship pair pair is present in the chunk.
|
| |
| template<typename T > |
| GAIA_NODISCARD bool | has () const |
| | Checks if component T is present in the chunk.
|
| |
|
GAIA_NODISCARD uint16_t | size () const noexcept |
| | Returns the number of entities accessible via the iterator.
|
| |
|
|
using | CompIndicesBitView = core::bit_view< ChunkHeader::MAX_COMPONENTS_BITS > |
| |
|
|
const World * | m_pWorld = nullptr |
| | World pointer.
|
| |
|
const Archetype * | m_pArchetype = nullptr |
| | Currently iterated archetype.
|
| |
|
Chunk * | m_pChunk = nullptr |
| | Chunk currently associated with the iterator.
|
| |
|
uint16_t | m_from |
| | Row of the first entity we iterate from.
|
| |
|
uint16_t | m_cnt |
| | The number of entities accessible via the iterator.
|
| |
Iterator used when copying entities.
◆ enabled()
| GAIA_NODISCARD bool gaia::ecs::CopyIter::enabled |
( |
uint32_t |
index | ) |
const |
|
inline |
Checks if the entity at the current iterator index is enabled.
- Returns
- True it the entity is enabled. False otherwise.
◆ has() [1/3]
template<typename T >
| GAIA_NODISCARD bool gaia::ecs::CopyIter::has |
( |
| ) |
const |
|
inline |
Checks if component T is present in the chunk.
- Template Parameters
-
- Returns
- True if the component is present. False otherwise.
◆ has() [2/3]
| GAIA_NODISCARD bool gaia::ecs::CopyIter::has |
( |
Entity |
entity | ) |
const |
|
inline |
Checks if entity entity is present in the chunk.
- Parameters
-
- Returns
- True if the component is present. False otherwise.
◆ has() [3/3]
| GAIA_NODISCARD bool gaia::ecs::CopyIter::has |
( |
Pair |
pair | ) |
const |
|
inline |
Checks if relationship pair pair is present in the chunk.
- Parameters
-
- Returns
- True if the component is present. False otherwise.
◆ modify()
template<typename T , bool TriggerHooks>
| void gaia::ecs::CopyIter::modify |
( |
| ) |
|
|
inline |
Marks the component T as modified. Best used with sview to manually trigger an update at user's whim. If.
- Template Parameters
-
| TriggerHooks | is true, also triggers the component's set hooks. |
◆ set_range()
| void gaia::ecs::CopyIter::set_range |
( |
uint16_t |
from, |
|
|
uint16_t |
cnt |
|
) |
| |
|
inline |
Sets the iterator's range.
- Parameters
-
| from | Row of the first entity we want to iterate from |
| cnt | Number of entities we are going to iterate |
◆ sview_auto()
template<typename T >
| GAIA_NODISCARD auto gaia::ecs::CopyIter::sview_auto |
( |
| ) |
|
|
inline |
Returns either a mutable or immutable entity/component view based on the requested type. Value and const types are considered immutable. Anything else is mutable. Doesn't update the world version when read-write access is acquired.
- Warning
- If T is a component it is expected to be present. Undefined behavior otherwise.
- Template Parameters
-
- Returns
- Entity or component view
◆ sview_mut()
template<typename T >
| GAIA_NODISCARD auto gaia::ecs::CopyIter::sview_mut |
( |
| ) |
|
|
inline |
Returns a mutable component view. Doesn't update the world version when the access is acquired.
- Warning
- It is expected the component T is present. Undefined behavior otherwise.
- Template Parameters
-
- Returns
- Component view with read-write access
◆ view()
template<typename T >
| GAIA_NODISCARD auto gaia::ecs::CopyIter::view |
( |
| ) |
const |
|
inline |
Returns a read-only entity or component view.
- Warning
- If T is a component it is expected it is present. Undefined behavior otherwise.
- Template Parameters
-
- Returns
- Entity of component view with read-only access
◆ view_auto()
template<typename T >
| GAIA_NODISCARD auto gaia::ecs::CopyIter::view_auto |
( |
| ) |
|
|
inline |
Returns either a mutable or immutable entity/component view based on the requested type. Value and const types are considered immutable. Anything else is mutable.
- Warning
- If T is a component it is expected to be present. Undefined behavior otherwise.
- Template Parameters
-
- Returns
- Entity or component view
◆ view_mut()
template<typename T >
| GAIA_NODISCARD auto gaia::ecs::CopyIter::view_mut |
( |
| ) |
|
|
inline |
Returns a mutable entity or component view.
- Warning
- If T is a component it is expected it is present. Undefined behavior otherwise.
- Template Parameters
-
- Returns
- Entity or component view with read-write access
The documentation for this class was generated from the following file: