CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::MakeIterable< T > Struct Template Reference

Take a class T with that defines the methods T::advance() and O T::value() for any type O and wraps it into a single-use iterable class. More...

#include <CeresEngine/Foundation/Iterator.hpp>

Public Member Functions

auto && begin () const
 
auto end () const
 
 MakeIterable (T &&value)
 
template<typename... Args>
 MakeIterable (Args &&... args)
 

Public Attributes

Iterator< T, impl::increment::ByMemberCall< T, decltype(&T::advance), &T::advance >, impl::dereference::ByMemberCall< T, decltype(&T::value), &T::value >, impl::compare::ByValuestart
 

Detailed Description

template<class T>
struct CeresEngine::MakeIterable< T >

Take a class T with that defines the methods T::advance() and O T::value() for any type O and wraps it into a single-use iterable class.

The return value of T::advance() is used to indicate the state of the iterator.

Constructor & Destructor Documentation

◆ MakeIterable() [1/2]

template<class T >
CeresEngine::MakeIterable< T >::MakeIterable ( T &&  value)
inlineexplicit

◆ MakeIterable() [2/2]

template<class T >
template<typename... Args>
CeresEngine::MakeIterable< T >::MakeIterable ( Args &&...  args)
inlineexplicit

Member Function Documentation

◆ begin()

template<class T >
auto && CeresEngine::MakeIterable< T >::begin ( ) const
inline

◆ end()

template<class T >
auto CeresEngine::MakeIterable< T >::end ( ) const
inline

Member Data Documentation

◆ start

template<class T >
Iterator<T, impl::increment::ByMemberCall<T, decltype(&T::advance), &T::advance>, impl::dereference::ByMemberCall<T, decltype(&T::value), &T::value>, impl::compare::ByValue> CeresEngine::MakeIterable< T >::start
mutable

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