|
Air-Trap 1.0.0
A multiplayer R-Type clone game engine built with C++23 and ECS architecture
|
The actual iterator performing the intersection logic. More...
#include <ZipView.hpp>
Public Types | |
| using | iterator_category = std::forward_iterator_tag |
| using | value_type = std::tuple< typename std::remove_reference_t< Containers >::value_type &... > |
| using | difference_type = std::ptrdiff_t |
| using | pointer = void |
| using | reference = value_type |
Public Member Functions | |
| Iterator (tuple_arrays_t &arrays, std::span< const Entity > entities, size_t index) | |
| Iterator & | operator++ () |
| Iterator | operator++ (int) |
| bool | operator== (const Iterator &other) const |
| bool | operator!= (const Iterator &other) const |
| reference | operator* () |
Private Member Functions | |
| void | skipInvalid () |
| Skip to the next valid entity that has all components. | |
Private Attributes | |
| tuple_arrays_t & | _arrays |
| Tuple of references to SparseArrays. | |
| std::span< const Entity > | _entities |
| Entities of the leader SparseArray. | |
| size_t | _index |
| Current index in the entity list. | |
The actual iterator performing the intersection logic.
Definition at line 37 of file ZipView.hpp.
| using rtp::ecs::ZipView< Containers >::Iterator::difference_type = std::ptrdiff_t |
Definition at line 41 of file ZipView.hpp.
| using rtp::ecs::ZipView< Containers >::Iterator::iterator_category = std::forward_iterator_tag |
Definition at line 39 of file ZipView.hpp.
| using rtp::ecs::ZipView< Containers >::Iterator::pointer = void |
Definition at line 42 of file ZipView.hpp.
| using rtp::ecs::ZipView< Containers >::Iterator::reference = value_type |
Definition at line 43 of file ZipView.hpp.
| using rtp::ecs::ZipView< Containers >::Iterator::value_type = std::tuple<typename std::remove_reference_t<Containers>::value_type&...> |
Definition at line 40 of file ZipView.hpp.
|
inline |
Definition at line 45 of file ZipView.hpp.
References rtp::ecs::ZipView< Containers >::Iterator::skipInvalid().
|
inline |
Definition at line 69 of file ZipView.hpp.
References rtp::ecs::ZipView< Containers >::Iterator::_index.
|
inline |
Definition at line 74 of file ZipView.hpp.
References rtp::ecs::ZipView< Containers >::Iterator::_arrays, rtp::ecs::ZipView< Containers >::Iterator::_entities, and rtp::ecs::ZipView< Containers >::Iterator::_index.
|
inline |
Definition at line 53 of file ZipView.hpp.
References rtp::ecs::ZipView< Containers >::Iterator::_index, and rtp::ecs::ZipView< Containers >::Iterator::skipInvalid().
|
inline |
Definition at line 59 of file ZipView.hpp.
|
inline |
Definition at line 65 of file ZipView.hpp.
References rtp::ecs::ZipView< Containers >::Iterator::_index.
|
inlineprivate |
Skip to the next valid entity that has all components.
Definition at line 89 of file ZipView.hpp.
References rtp::ecs::ZipView< Containers >::Iterator::_arrays, rtp::ecs::ZipView< Containers >::Iterator::_entities, and rtp::ecs::ZipView< Containers >::Iterator::_index.
Referenced by rtp::ecs::ZipView< Containers >::Iterator::Iterator(), and rtp::ecs::ZipView< Containers >::Iterator::operator++().
|
private |
Tuple of references to SparseArrays.
Definition at line 82 of file ZipView.hpp.
Referenced by rtp::ecs::ZipView< Containers >::Iterator::operator*(), and rtp::ecs::ZipView< Containers >::Iterator::skipInvalid().
|
private |
Entities of the leader SparseArray.
Definition at line 83 of file ZipView.hpp.
Referenced by rtp::ecs::ZipView< Containers >::Iterator::operator*(), and rtp::ecs::ZipView< Containers >::Iterator::skipInvalid().
|
private |
Current index in the entity list.
Definition at line 84 of file ZipView.hpp.
Referenced by rtp::ecs::ZipView< Containers >::Iterator::operator!=(), rtp::ecs::ZipView< Containers >::Iterator::operator*(), rtp::ecs::ZipView< Containers >::Iterator::operator++(), rtp::ecs::ZipView< Containers >::Iterator::operator==(), and rtp::ecs::ZipView< Containers >::Iterator::skipInvalid().