Bomberman
Public Types | Public Member Functions | Private Attributes | List of all members
WAL::ViewIterator< It, Components > Class Template Reference

#include <View.hpp>

Collaboration diagram for WAL::ViewIterator< It, Components >:

Public Types

using iterator_category = std::forward_iterator_tag
 
using difference_type = std::ptrdiff_t
 
using value_type = ViewEntity< Components... >
 
using pointer = value_type *
 
using reference = value_type &
 

Public Member Functions

reference operator* ()
 
pointer operator-> ()
 
ViewIteratoroperator++ ()
 
ViewIterator operator++ (int)
 
bool operator== (const ViewIterator &other) const
 
bool operator!= (const ViewIterator &other) const
 
 ViewIterator (It current)
 

Private Attributes

It _it
 
std::optional< ViewEntity< Components... > > _entity
 

Member Typedef Documentation

◆ difference_type

template<typename It , typename ... Components>
using WAL::ViewIterator< It, Components >::difference_type = std::ptrdiff_t

◆ iterator_category

template<typename It , typename ... Components>
using WAL::ViewIterator< It, Components >::iterator_category = std::forward_iterator_tag

◆ pointer

template<typename It , typename ... Components>
using WAL::ViewIterator< It, Components >::pointer = value_type *

◆ reference

template<typename It , typename ... Components>
using WAL::ViewIterator< It, Components >::reference = value_type &

◆ value_type

template<typename It , typename ... Components>
using WAL::ViewIterator< It, Components >::value_type = ViewEntity<Components...>

Constructor & Destructor Documentation

◆ ViewIterator()

template<typename It , typename ... Components>
WAL::ViewIterator< It, Components >::ViewIterator ( It  current)
inlineexplicit

Member Function Documentation

◆ operator!=()

template<typename It , typename ... Components>
bool WAL::ViewIterator< It, Components >::operator!= ( const ViewIterator< It, Components > &  other) const
inline

◆ operator*()

template<typename It , typename ... Components>
reference WAL::ViewIterator< It, Components >::operator* ( )
inline

◆ operator++() [1/2]

template<typename It , typename ... Components>
ViewIterator& WAL::ViewIterator< It, Components >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename It , typename ... Components>
ViewIterator WAL::ViewIterator< It, Components >::operator++ ( int  )
inline

◆ operator->()

template<typename It , typename ... Components>
pointer WAL::ViewIterator< It, Components >::operator-> ( )
inline

◆ operator==()

template<typename It , typename ... Components>
bool WAL::ViewIterator< It, Components >::operator== ( const ViewIterator< It, Components > &  other) const
inline

Member Data Documentation

◆ _entity

template<typename It , typename ... Components>
std::optional<ViewEntity<Components...> > WAL::ViewIterator< It, Components >::_entity
private

◆ _it

template<typename It , typename ... Components>
It WAL::ViewIterator< It, Components >::_it
private

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