CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::RandomAccessEnumIterator< ValueType, IsConst > Class Template Reference

#include <RandomAccessEnumerator.hh>

+ Inheritance diagram for CASM::RandomAccessEnumIterator< ValueType, IsConst >:

Detailed Description

template<typename ValueType, bool IsConst = true>
class CASM::RandomAccessEnumIterator< ValueType, IsConst >

The iterator type for RandomAccessEnumerator.

Definition at line 123 of file RandomAccessEnumerator.hh.

Public Types

typedef RandomAccessEnumIteratorBase< ValueType, IsConst >::step_type step_type
 
typedef ValueType value_type
 
typedef RandomAccessEnumIteratorBase< ValueType, IsConst >::reference reference
 
typedef step_type difference_type
 

Public Member Functions

 RandomAccessEnumIterator ()
 Default constructor. More...
 
 RandomAccessEnumIterator (const RandomAccessEnumIteratorBase< ValueType, IsConst > &it)
 Construct iterator. More...
 
step_type step () const
 
jsonParser source () const
 
std::string name () const
 
std::unique_ptr< RandomAccessEnumIteratorclone () const
 

Private Member Functions

RandomAccessEnumIterator_clone () const
 clone implementation More...
 
bool equal (const RandomAccessEnumIterator &B) const
 boost::iterator_facade implementation More...
 
reference dereference () const
 
void increment ()
 
void decrement ()
 
void advance (step_type n)
 
difference_type distance_to (const RandomAccessEnumIterator &B) const
 

Private Attributes

notstd::cloneable_ptr< RandomAccessEnumIteratorBase< ValueType, IsConst > > m_ptr
 

Member Typedef Documentation

◆ difference_type

template<typename ValueType , bool IsConst = true>
typedef step_type CASM::RandomAccessEnumIterator< ValueType, IsConst >::difference_type

Definition at line 135 of file RandomAccessEnumerator.hh.

◆ reference

template<typename ValueType , bool IsConst = true>
typedef RandomAccessEnumIteratorBase<ValueType, IsConst>::reference CASM::RandomAccessEnumIterator< ValueType, IsConst >::reference

Definition at line 134 of file RandomAccessEnumerator.hh.

◆ step_type

template<typename ValueType , bool IsConst = true>
typedef RandomAccessEnumIteratorBase<ValueType, IsConst>::step_type CASM::RandomAccessEnumIterator< ValueType, IsConst >::step_type

Definition at line 131 of file RandomAccessEnumerator.hh.

◆ value_type

template<typename ValueType , bool IsConst = true>
typedef ValueType CASM::RandomAccessEnumIterator< ValueType, IsConst >::value_type

Definition at line 132 of file RandomAccessEnumerator.hh.

Constructor & Destructor Documentation

◆ RandomAccessEnumIterator() [1/2]

template<typename ValueType , bool IsConst = true>
CASM::RandomAccessEnumIterator< ValueType, IsConst >::RandomAccessEnumIterator ( )
inline

Default constructor.

Definition at line 138 of file RandomAccessEnumerator.hh.

◆ RandomAccessEnumIterator() [2/2]

template<typename ValueType , bool IsConst = true>
CASM::RandomAccessEnumIterator< ValueType, IsConst >::RandomAccessEnumIterator ( const RandomAccessEnumIteratorBase< ValueType, IsConst > &  it)
inline

Construct iterator.

Definition at line 141 of file RandomAccessEnumerator.hh.

Member Function Documentation

◆ _clone()

template<typename ValueType , bool IsConst = true>
RandomAccessEnumIterator* CASM::RandomAccessEnumIterator< ValueType, IsConst >::_clone ( ) const
inlineprivate

clone implementation

Definition at line 159 of file RandomAccessEnumerator.hh.

◆ advance()

template<typename ValueType , bool IsConst = true>
void CASM::RandomAccessEnumIterator< ValueType, IsConst >::advance ( step_type  n)
inlineprivate

Definition at line 174 of file RandomAccessEnumerator.hh.

◆ clone()

template<typename ValueType , bool IsConst = true>
std::unique_ptr<RandomAccessEnumIterator> CASM::RandomAccessEnumIterator< ValueType, IsConst >::clone ( ) const
inline

Definition at line 151 of file RandomAccessEnumerator.hh.

◆ decrement()

template<typename ValueType , bool IsConst = true>
void CASM::RandomAccessEnumIterator< ValueType, IsConst >::decrement ( )
inlineprivate

Definition at line 172 of file RandomAccessEnumerator.hh.

◆ dereference()

template<typename ValueType , bool IsConst = true>
reference CASM::RandomAccessEnumIterator< ValueType, IsConst >::dereference ( ) const
inlineprivate

Definition at line 168 of file RandomAccessEnumerator.hh.

◆ distance_to()

template<typename ValueType , bool IsConst = true>
difference_type CASM::RandomAccessEnumIterator< ValueType, IsConst >::distance_to ( const RandomAccessEnumIterator< ValueType, IsConst > &  B) const
inlineprivate

Definition at line 176 of file RandomAccessEnumerator.hh.

◆ equal()

template<typename ValueType , bool IsConst = true>
bool CASM::RandomAccessEnumIterator< ValueType, IsConst >::equal ( const RandomAccessEnumIterator< ValueType, IsConst > &  B) const
inlineprivate

boost::iterator_facade implementation

Definition at line 164 of file RandomAccessEnumerator.hh.

◆ increment()

template<typename ValueType , bool IsConst = true>
void CASM::RandomAccessEnumIterator< ValueType, IsConst >::increment ( )
inlineprivate

Definition at line 170 of file RandomAccessEnumerator.hh.

◆ name()

template<typename ValueType , bool IsConst = true>
std::string CASM::RandomAccessEnumIterator< ValueType, IsConst >::name ( ) const
inline

Definition at line 149 of file RandomAccessEnumerator.hh.

◆ source()

template<typename ValueType , bool IsConst = true>
jsonParser CASM::RandomAccessEnumIterator< ValueType, IsConst >::source ( ) const
inline

Definition at line 147 of file RandomAccessEnumerator.hh.

◆ step()

template<typename ValueType , bool IsConst = true>
step_type CASM::RandomAccessEnumIterator< ValueType, IsConst >::step ( ) const
inline

Definition at line 145 of file RandomAccessEnumerator.hh.

Member Data Documentation

◆ m_ptr

template<typename ValueType , bool IsConst = true>
notstd::cloneable_ptr<RandomAccessEnumIteratorBase<ValueType, IsConst> > CASM::RandomAccessEnumIterator< ValueType, IsConst >::m_ptr
private

Definition at line 181 of file RandomAccessEnumerator.hh.


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