Helios Engine 0.1.0
A modular ECS based data-oriented C++23 game engine
 
Loading...
Searching...
No Matches
helios::ecs::EventSimpleIterator< T > Class Template Reference

Simple iterator for EventReader that returns plain events. More...

#include <event_reader.hpp>

Public Types

using value_type = std::remove_cvref_t< T >
 
using iterator_category = std::forward_iterator_tag
 
using difference_type = ptrdiff_t
 
using pointer = const value_type *
 
using reference = const value_type &
 

Public Member Functions

constexpr EventSimpleIterator () noexcept=default
 
constexpr EventSimpleIterator (typename std::vector< T >::const_iterator iter) noexcept
 
constexpr EventSimpleIterator (const EventSimpleIterator &) noexcept=default
 
constexpr EventSimpleIterator (EventSimpleIterator &&) noexcept=default
 
constexpr ~EventSimpleIterator () noexcept=default
 
constexpr EventSimpleIteratoroperator= (const EventSimpleIterator &) noexcept=default
 
constexpr EventSimpleIteratoroperator= (EventSimpleIterator &&) noexcept=default
 
constexpr reference operator* () const noexcept
 
constexpr pointer operator-> () const noexcept
 
constexpr EventSimpleIteratoroperator++ () noexcept
 
constexpr EventSimpleIterator operator++ (int) noexcept
 
constexpr EventSimpleIteratoroperator-- () noexcept
 
constexpr EventSimpleIterator operator-- (int) noexcept
 
constexpr bool operator== (const EventSimpleIterator &other) const noexcept
 
constexpr bool operator!= (const EventSimpleIterator &other) const noexcept
 

Detailed Description

template<EventTrait T>
class helios::ecs::EventSimpleIterator< T >

Simple iterator for EventReader that returns plain events.

Template Parameters
TEvent type

Definition at line 25 of file event_reader.hpp.

Member Typedef Documentation

◆ difference_type

◆ iterator_category

template<EventTrait T>
using helios::ecs::EventSimpleIterator< T >::iterator_category = std::forward_iterator_tag

◆ pointer

◆ reference

◆ value_type

template<EventTrait T>
using helios::ecs::EventSimpleIterator< T >::value_type = std::remove_cvref_t<T>

Constructor & Destructor Documentation

◆ EventSimpleIterator() [1/4]

template<EventTrait T>
constexpr helios::ecs::EventSimpleIterator< T >::EventSimpleIterator ( )
constexprdefaultnoexcept

◆ EventSimpleIterator() [2/4]

template<EventTrait T>
constexpr helios::ecs::EventSimpleIterator< T >::EventSimpleIterator ( typename std::vector< T >::const_iterator  iter)
inlineexplicitconstexprnoexcept

Definition at line 34 of file event_reader.hpp.

34: iter_(iter) {}
BasicQuery< World, Allocator, Components... > Query
Type alias for query with mutable world access.
Definition query.hpp:2481

◆ EventSimpleIterator() [3/4]

template<EventTrait T>
constexpr helios::ecs::EventSimpleIterator< T >::EventSimpleIterator ( const EventSimpleIterator< T > &  )
constexprdefaultnoexcept

◆ EventSimpleIterator() [4/4]

template<EventTrait T>
constexpr helios::ecs::EventSimpleIterator< T >::EventSimpleIterator ( EventSimpleIterator< T > &&  )
constexprdefaultnoexcept

◆ ~EventSimpleIterator()

Member Function Documentation

◆ operator!=()

template<EventTrait T>
constexpr bool helios::ecs::EventSimpleIterator< T >::operator!= ( const EventSimpleIterator< T > &  other) const
inlineconstexprnoexcept
Examples
/home/runner/work/HeliosEngine/HeliosEngine/src/core/include/helios/core/ecs/event_reader.hpp.

Definition at line 53 of file event_reader.hpp.

53{ return iter_ != other.iter_; }

◆ operator*()

template<EventTrait T>
constexpr reference helios::ecs::EventSimpleIterator< T >::operator* ( ) const
inlineconstexprnoexcept

◆ operator++() [1/2]

template<EventTrait T>
constexpr auto helios::ecs::EventSimpleIterator< T >::operator++ ( )
constexprnoexcept
Examples
/home/runner/work/HeliosEngine/HeliosEngine/src/core/include/helios/core/ecs/event_reader.hpp.

Definition at line 60 of file event_reader.hpp.

60 {
61 ++iter_;
62 return *this;
63}

◆ operator++() [2/2]

template<EventTrait T>
constexpr auto helios::ecs::EventSimpleIterator< T >::operator++ ( int  )
constexprnoexcept

Definition at line 66 of file event_reader.hpp.

66 {
67 auto temp = *this;
68 ++iter_;
69 return temp;
70}

◆ operator--() [1/2]

template<EventTrait T>
constexpr auto helios::ecs::EventSimpleIterator< T >::operator-- ( )
constexprnoexcept
Examples
/home/runner/work/HeliosEngine/HeliosEngine/src/core/include/helios/core/ecs/event_reader.hpp.

Definition at line 73 of file event_reader.hpp.

73 {
74 --iter_;
75 return *this;
76}

◆ operator--() [2/2]

template<EventTrait T>
constexpr auto helios::ecs::EventSimpleIterator< T >::operator-- ( int  )
constexprnoexcept

Definition at line 79 of file event_reader.hpp.

79 {
80 auto temp = *this;
81 --iter_;
82 return temp;
83}

◆ operator->()

template<EventTrait T>
constexpr pointer helios::ecs::EventSimpleIterator< T >::operator-> ( ) const
inlineconstexprnoexcept

◆ operator=() [1/2]

◆ operator=() [2/2]

template<EventTrait T>
constexpr EventSimpleIterator & helios::ecs::EventSimpleIterator< T >::operator= ( EventSimpleIterator< T > &&  )
constexprdefaultnoexcept

◆ operator==()

template<EventTrait T>
constexpr bool helios::ecs::EventSimpleIterator< T >::operator== ( const EventSimpleIterator< T > &  other) const
inlineconstexprnoexcept
Examples
/home/runner/work/HeliosEngine/HeliosEngine/src/core/include/helios/core/ecs/event_reader.hpp.

Definition at line 52 of file event_reader.hpp.

52{ return iter_ == other.iter_; }