opynsim
Unofficial C++ Documentation
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Friends | List of all members
osc::DenselyPackedOptionsIterable< TEnum, Proj >::Iterator Class Reference

#include <enum_helpers.h>

Public Types

using difference_type = ptrdiff_t
 
using value_type = std::remove_cvref_t< decltype(Proj{}(std::declval< TEnum >()))>
 
using pointer = void
 
using reference = value_type
 
using iterator_category = std::forward_iterator_tag
 

Public Member Functions

 Iterator ()=default
 
 Iterator (const Proj &proj, TEnum current)
 
value_type operator* () const
 
Iteratoroperator++ ()
 
Iterator operator++ (int)
 

Friends

bool operator== (const Iterator &, const Iterator &)=default
 

Member Typedef Documentation

◆ difference_type

template<DenselyPackedOptionsEnum TEnum, typename Proj = std::identity>
using osc::DenselyPackedOptionsIterable< TEnum, Proj >::Iterator::difference_type = ptrdiff_t

◆ iterator_category

template<DenselyPackedOptionsEnum TEnum, typename Proj = std::identity>
using osc::DenselyPackedOptionsIterable< TEnum, Proj >::Iterator::iterator_category = std::forward_iterator_tag

◆ pointer

template<DenselyPackedOptionsEnum TEnum, typename Proj = std::identity>
using osc::DenselyPackedOptionsIterable< TEnum, Proj >::Iterator::pointer = void

◆ reference

template<DenselyPackedOptionsEnum TEnum, typename Proj = std::identity>
using osc::DenselyPackedOptionsIterable< TEnum, Proj >::Iterator::reference = value_type

◆ value_type

template<DenselyPackedOptionsEnum TEnum, typename Proj = std::identity>
using osc::DenselyPackedOptionsIterable< TEnum, Proj >::Iterator::value_type = std::remove_cvref_t<decltype(Proj{}(std::declval<TEnum>()))>

Constructor & Destructor Documentation

◆ Iterator() [1/2]

template<DenselyPackedOptionsEnum TEnum, typename Proj = std::identity>
osc::DenselyPackedOptionsIterable< TEnum, Proj >::Iterator::Iterator ( )
default

◆ Iterator() [2/2]

template<DenselyPackedOptionsEnum TEnum, typename Proj = std::identity>
osc::DenselyPackedOptionsIterable< TEnum, Proj >::Iterator::Iterator ( const Proj proj,
TEnum  current 
)
inline

Member Function Documentation

◆ operator*()

template<DenselyPackedOptionsEnum TEnum, typename Proj = std::identity>
value_type osc::DenselyPackedOptionsIterable< TEnum, Proj >::Iterator::operator* ( ) const
inline

◆ operator++() [1/2]

template<DenselyPackedOptionsEnum TEnum, typename Proj = std::identity>
Iterator & osc::DenselyPackedOptionsIterable< TEnum, Proj >::Iterator::operator++ ( )
inline

◆ operator++() [2/2]

template<DenselyPackedOptionsEnum TEnum, typename Proj = std::identity>
Iterator osc::DenselyPackedOptionsIterable< TEnum, Proj >::Iterator::operator++ ( int  )
inline

Friends And Related Symbol Documentation

◆ operator==

template<DenselyPackedOptionsEnum TEnum, typename Proj = std::identity>
bool operator== ( const Iterator ,
const Iterator  
)
friend

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