struct ecs::TGroupIteratorAdapter

Adapter around the provided iterator type that allows range for iteration.

Public

Constructors

TGroupIteratorAdapter<type-parameter-0-0, TOwnedTypes<type-parameter-0-1...>, TIncludedTypes<type-parameter-0-2...> >

TGroupIteratorAdapter<type-parameter-0-0, TOwnedTypes<type-parameter-0-1...>, TIncludedTypes<type-parameter-0-2...>>() = default

TGroupIteratorAdapter<type-parameter-0-0, TOwnedTypes<type-parameter-0-1...>, TIncludedTypes<type-parameter-0-2...> >

constexpr TGroupIteratorAdapter<type-parameter-0-0, TOwnedTypes<type-parameter-0-1...>, TIncludedTypes<type-parameter-0-2...>>(IteratorType iterator, std::tuple<OwnedStorageTypes *..., IncludedStorageTypes *...> ownedAndIncludedTypeStorage)

Methods

GetUnderlyingIterator

constexpr iterator_type GetUnderlyingIterator() const

Returns the underlying iterator that iterates over all entities in the group.

Operators

operator++

constexpr TGroupIteratorAdapter<type-parameter-0-0, TOwnedTypes<type-parameter-0-1...>, TIncludedTypes<type-parameter-0-2...>> &operator++()

operator->

constexpr pointer operator->() const

Returns a tuple containing the entity and all components contained in owned and included storage types, respectively.

operator*

constexpr reference operator*() const

Returns a tuple containing the entity and all components contained in owned and included storage types, respectively.

Private

Fields

mIterator

IteratorType mIterator

mOwnedAndIncludedTypeStorage

std::tuple<OwnedStorageTypes *..., IncludedStorageTypes *...> mOwnedAndIncludedTypeStorage