CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::EnumIteratorBase Class Referenceabstract

#include <Enumerator.hh>

+ Inheritance diagram for CASM::EnumIteratorBase:

Detailed Description

Definition at line 223 of file Enumerator.hh.

Public Types

typedef EnumeratorBase::step_type step_type
 

Public Member Functions

 EnumIteratorBase ()
 Default Constructor. More...
 
 EnumIteratorBase (EnumeratorBase &enumerator)
 Constructor. More...
 
virtual ~EnumIteratorBase ()
 
virtual step_type step () const =0
 
jsonParser source () const
 
std::string name () const
 Uses enumerator class 'name' implementation. More...
 
virtual bool is_end () const =0
 Returns true if 'end' iterator. More...
 
std::unique_ptr< EnumIteratorBaseclone () const
 

Protected Member Functions

void _assert_same_ptr (const EnumIteratorBase &other) const
 
void _assert_ptr () const
 
void _assert_valid () const
 
bool equal (const EnumIteratorBase &other) const
 boost::iterator_facade implementation More...
 
EnumeratorBase_enum_ptr ()
 
EnumeratorBase_enum_ptr () const
 

Private Member Functions

virtual EnumIteratorBase_clone () const =0
 
EnumeratorBase_enum ()
 
EnumeratorBase_enum () const
 

Private Attributes

EnumeratorBasem_enum_ptr
 

Member Typedef Documentation

◆ step_type

Constructor & Destructor Documentation

◆ EnumIteratorBase() [1/2]

CASM::EnumIteratorBase::EnumIteratorBase ( )
inline

Default Constructor.

Definition at line 228 of file Enumerator.hh.

◆ EnumIteratorBase() [2/2]

CASM::EnumIteratorBase::EnumIteratorBase ( EnumeratorBase enumerator)
inline

Constructor.

Definition at line 231 of file Enumerator.hh.

◆ ~EnumIteratorBase()

virtual CASM::EnumIteratorBase::~EnumIteratorBase ( )
inlinevirtual

Definition at line 233 of file Enumerator.hh.

Member Function Documentation

◆ _assert_ptr()

void CASM::EnumIteratorBase::_assert_ptr ( ) const
inlineprotected

Definition at line 262 of file Enumerator.hh.

◆ _assert_same_ptr()

void CASM::EnumIteratorBase::_assert_same_ptr ( const EnumIteratorBase other) const
inlineprotected

Definition at line 256 of file Enumerator.hh.

◆ _assert_valid()

void CASM::EnumIteratorBase::_assert_valid ( ) const
inlineprotected

Definition at line 266 of file Enumerator.hh.

◆ _clone()

◆ _enum() [1/2]

EnumeratorBase& CASM::EnumIteratorBase::_enum ( )
inlineprivate

Definition at line 297 of file Enumerator.hh.

◆ _enum() [2/2]

EnumeratorBase& CASM::EnumIteratorBase::_enum ( ) const
inlineprivate

Definition at line 299 of file Enumerator.hh.

◆ _enum_ptr() [1/2]

EnumeratorBase* CASM::EnumIteratorBase::_enum_ptr ( )
inlineprotected

Definition at line 290 of file Enumerator.hh.

◆ _enum_ptr() [2/2]

EnumeratorBase* CASM::EnumIteratorBase::_enum_ptr ( ) const
inlineprotected

Definition at line 292 of file Enumerator.hh.

◆ clone()

std::unique_ptr<EnumIteratorBase> CASM::EnumIteratorBase::clone ( ) const
inline

Definition at line 251 of file Enumerator.hh.

◆ equal()

bool CASM::EnumIteratorBase::equal ( const EnumIteratorBase other) const
inlineprotected

boost::iterator_facade implementation

  • Uses 'is_end' implementation to check if both iterators are 'end'
  • If both are not end, then compares iterator 'step'

Definition at line 275 of file Enumerator.hh.

◆ is_end()

virtual bool CASM::EnumIteratorBase::is_end ( ) const
pure virtual

◆ name()

std::string CASM::EnumIteratorBase::name ( ) const
inline

Uses enumerator class 'name' implementation.

Definition at line 246 of file Enumerator.hh.

◆ source()

jsonParser CASM::EnumIteratorBase::source ( ) const
inline

Uses 'step' and enumerator class 'source' implementation

  • Only valid if iterator refers to valid object (not end)

Definition at line 243 of file Enumerator.hh.

◆ step()

virtual step_type CASM::EnumIteratorBase::step ( ) const
pure virtual

Return current step number

  • Only valid if iterator refers to valid object (not end)

Implemented in CASM::RandomAccessEnumIteratorBase< ValueType, IsConst >, CASM::InputEnumIteratorBase< ValueType, IsConst >, and CASM::InputEnumIteratorBase< ValueType, true >.

Member Data Documentation

◆ m_enum_ptr

EnumeratorBase* CASM::EnumIteratorBase::m_enum_ptr
private

Definition at line 302 of file Enumerator.hh.


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