co_ecs 0.9.0
Cobalt ECS
Loading...
Searching...
No Matches
co_ecs::chunk_view< Args >::iterator Class Reference

Chunk view iterator. More...

#include <chunk.hpp>

Public Types

using iterator_concept = std::forward_iterator_tag
 
using iterator_category = std::forward_iterator_tag
 
using difference_type = int
 
using value_type = std::tuple<Args...>
 
using reference = std::tuple<Args...>
 
using element_type = reference
 

Public Member Functions

constexpr iterator ()=default
 Default constructor.
 
constexpr ~iterator ()=default
 Default destructor.
 
constexpr iterator (chunk_type c, std::size_t index=0)
 Create iterator out of chunk pointing to the index.
 
constexpr iterator (const iterator &rhs) noexcept=default
 Default copy constructor.
 
constexpr auto operator= (const iterator &rhs) noexcept -> iterator &=default
 Default copy assignment operator.
 
constexpr iterator (iterator &&rhs) noexcept=default
 Default move constructor.
 
constexpr auto operator= (iterator &&rhs) noexcept -> iterator &=default
 Default move assignment operator.
 
constexpr auto operator++ () noexcept -> iterator &
 Pre-increment iterator.
 
constexpr auto operator++ (int) noexcept -> iterator
 Post-increment iterator.
 
constexpr auto operator* () const noexcept -> reference
 Dereference iterator.
 
constexpr bool operator== (const iterator &rhs) const noexcept
 Equality operator.
 
constexpr auto operator<=> (const iterator &rhs) const noexcept
 Spaceship operator.
 

Detailed Description

template<component_reference... Args>
class co_ecs::chunk_view< Args >::iterator

Chunk view iterator.

Member Typedef Documentation

◆ difference_type

template<component_reference... Args>
using co_ecs::chunk_view< Args >::iterator::difference_type = int

◆ element_type

template<component_reference... Args>
using co_ecs::chunk_view< Args >::iterator::element_type = reference

◆ iterator_category

template<component_reference... Args>
using co_ecs::chunk_view< Args >::iterator::iterator_category = std::forward_iterator_tag

◆ iterator_concept

template<component_reference... Args>
using co_ecs::chunk_view< Args >::iterator::iterator_concept = std::forward_iterator_tag

◆ reference

template<component_reference... Args>
using co_ecs::chunk_view< Args >::iterator::reference = std::tuple<Args...>

◆ value_type

template<component_reference... Args>
using co_ecs::chunk_view< Args >::iterator::value_type = std::tuple<Args...>

Constructor & Destructor Documentation

◆ iterator() [1/4]

template<component_reference... Args>
constexpr co_ecs::chunk_view< Args >::iterator::iterator ( )
constexprdefault

Default constructor.

◆ ~iterator()

template<component_reference... Args>
constexpr co_ecs::chunk_view< Args >::iterator::~iterator ( )
constexprdefault

Default destructor.

◆ iterator() [2/4]

template<component_reference... Args>
constexpr co_ecs::chunk_view< Args >::iterator::iterator ( chunk_type c,
std::size_t index = 0 )
inlineexplicitconstexpr

Create iterator out of chunk pointing to the index.

Parameters
cChunk reference
indexIndex this iterator is pointing to

◆ iterator() [3/4]

template<component_reference... Args>
constexpr co_ecs::chunk_view< Args >::iterator::iterator ( const iterator & rhs)
constexprdefaultnoexcept

Default copy constructor.

Parameters
rhsRight hand side iterator

◆ iterator() [4/4]

template<component_reference... Args>
constexpr co_ecs::chunk_view< Args >::iterator::iterator ( iterator && rhs)
constexprdefaultnoexcept

Default move constructor.

Parameters
rhsRight hand side iterator

Member Function Documentation

◆ operator*()

template<component_reference... Args>
constexpr auto co_ecs::chunk_view< Args >::iterator::operator* ( ) const -> reference
inlineconstexprnoexcept

Dereference iterator.

Returns
reference Reference to value

◆ operator++() [1/2]

template<component_reference... Args>
constexpr auto co_ecs::chunk_view< Args >::iterator::operator++ ( ) -> iterator&
inlineconstexprnoexcept

Pre-increment iterator.

Returns
iterator_impl& Incremented iterator

◆ operator++() [2/2]

template<component_reference... Args>
constexpr auto co_ecs::chunk_view< Args >::iterator::operator++ ( int ) -> iterator
inlineconstexprnoexcept

Post-increment iterator.

Returns
iterator_impl& Iterator

◆ operator<=>()

template<component_reference... Args>
constexpr auto co_ecs::chunk_view< Args >::iterator::operator<=> ( const iterator & rhs) const
inlineconstexprnoexcept

Spaceship operator.

Parameters
rhsRight hand side
Returns
auto Result of comparison

◆ operator=() [1/2]

template<component_reference... Args>
constexpr auto co_ecs::chunk_view< Args >::iterator::operator= ( const iterator & rhs) -> iterator &=default
constexprdefaultnoexcept

Default copy assignment operator.

Parameters
rhsRight hand side iterator
Returns
iterator& this iterator

◆ operator=() [2/2]

template<component_reference... Args>
constexpr auto co_ecs::chunk_view< Args >::iterator::operator= ( iterator && rhs) -> iterator &=default
constexprdefaultnoexcept

Default move assignment operator.

Parameters
rhsRight hand side iterator
Returns
iterator& this iterator

◆ operator==()

template<component_reference... Args>
constexpr bool co_ecs::chunk_view< Args >::iterator::operator== ( const iterator & rhs) const
inlineconstexprnoexcept

Equality operator.

Parameters
rhsRight hand side
Returns
auto Result of comparison

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