EnumIteratorBase< EnumType > Class Template Reference

#include <EnumIterator.h>

Inheritance diagram for EnumIteratorBase< EnumType >:
Collaboration diagram for EnumIteratorBase< EnumType >:

Public Types

using iterator_category = std::bidirectional_iterator_tag
 
using value_type = EnumType
 
using difference_type = std::ptrdiff_t
 
using pointer = EnumType *
 
using reference = EnumType &
 

Public Member Functions

 EnumIteratorBase (EnumType e)
 
bool operator== (const EnumIteratorBase &i) const
 
bool operator!= (const EnumIteratorBase &i) const
 
EnumType operator* () const
 

Protected Types

typedef std::underlying_type< EnumType >::type iterator_type
 

Protected Attributes

iterator_type current
 

Detailed Description

template<typename EnumType>
class EnumIteratorBase< EnumType >

Shared functionality between forward and reverse enum iterators

This class is not very useful by itself, it contains code shared by EnumIterator and ReverseEnumIterator.

See also
EnumIterator, ReverseEnumIterator

Definition at line 23 of file EnumIterator.h.

Member Typedef Documentation

◆ difference_type

template<typename EnumType >
using EnumIteratorBase< EnumType >::difference_type = std::ptrdiff_t

Definition at line 31 of file EnumIterator.h.

◆ iterator_category

template<typename EnumType >
using EnumIteratorBase< EnumType >::iterator_category = std::bidirectional_iterator_tag

Definition at line 29 of file EnumIterator.h.

◆ iterator_type

template<typename EnumType >
typedef std::underlying_type<EnumType>::type EnumIteratorBase< EnumType >::iterator_type
protected

Definition at line 26 of file EnumIterator.h.

◆ pointer

template<typename EnumType >
using EnumIteratorBase< EnumType >::pointer = EnumType *

Definition at line 32 of file EnumIterator.h.

◆ reference

template<typename EnumType >
using EnumIteratorBase< EnumType >::reference = EnumType &

Definition at line 33 of file EnumIterator.h.

◆ value_type

template<typename EnumType >
using EnumIteratorBase< EnumType >::value_type = EnumType

Definition at line 30 of file EnumIterator.h.

Constructor & Destructor Documentation

◆ EnumIteratorBase()

template<typename EnumType >
EnumIteratorBase< EnumType >::EnumIteratorBase ( EnumType  e)
inlineexplicit

Definition at line 35 of file EnumIterator.h.

Member Function Documentation

◆ operator!=()

template<typename EnumType >
bool EnumIteratorBase< EnumType >::operator!= ( const EnumIteratorBase< EnumType > &  i) const
inline

Definition at line 41 of file EnumIterator.h.

References EnumIteratorBase< EnumType >::current.

◆ operator*()

template<typename EnumType >
EnumType EnumIteratorBase< EnumType >::operator* ( ) const
inline

Definition at line 45 of file EnumIterator.h.

References EnumIteratorBase< EnumType >::current.

◆ operator==()

template<typename EnumType >
bool EnumIteratorBase< EnumType >::operator== ( const EnumIteratorBase< EnumType > &  i) const
inline

Definition at line 37 of file EnumIterator.h.

References EnumIteratorBase< EnumType >::current.

Member Data Documentation

◆ current

template<typename EnumType >
iterator_type EnumIteratorBase< EnumType >::current
protected

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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors