CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::DB::DatabaseSetIterator< ValueType, DatabaseType > Class Template Reference

#include <DatabaseSetIterator.hh>

+ Inheritance diagram for CASM::DB::DatabaseSetIterator< ValueType, DatabaseType >:

Detailed Description

template<typename ValueType, typename DatabaseType>
class CASM::DB::DatabaseSetIterator< ValueType, DatabaseType >

DatabaseIterator for implementations using std::set<ValueType>

DatabaseIterators must implement public methods:

DatabaseIterators must implement private methods:

Definition at line 25 of file DatabaseSetIterator.hh.

Public Types

typedef ValueType value_type
 
typedef const value_typereference
 

Public Member Functions

 DatabaseSetIterator ()
 
std::string name () const override
 
std::unique_ptr< DatabaseIteratorBase< ValueType > > clone () const
 

Private Types

typedef std::set< ValueType >::iterator base_iterator
 

Private Member Functions

 DatabaseSetIterator (base_iterator _it)
 
base_iterator base () const
 
bool equal (const DatabaseIteratorBase< ValueType > &other) const override
 
void increment () override
 
const ValueType & dereference () const override
 
DatabaseSetIterator_clone () const override
 

Private Attributes

friend DatabaseType
 
base_iterator m_it
 
friend DatabaseIterator< ValueType >
 

Member Typedef Documentation

◆ base_iterator

template<typename ValueType , typename DatabaseType >
typedef std::set<ValueType>::iterator CASM::DB::DatabaseSetIterator< ValueType, DatabaseType >::base_iterator
private

Definition at line 38 of file DatabaseSetIterator.hh.

◆ reference

template<typename ValueType >
typedef const value_type& CASM::DB::DatabaseIteratorBase< ValueType >::reference
inherited

Definition at line 86 of file Database.hh.

◆ value_type

template<typename ValueType >
typedef ValueType CASM::DB::DatabaseIteratorBase< ValueType >::value_type
inherited

Definition at line 85 of file Database.hh.

Constructor & Destructor Documentation

◆ DatabaseSetIterator() [1/2]

template<typename ValueType , typename DatabaseType >
CASM::DB::DatabaseSetIterator< ValueType, DatabaseType >::DatabaseSetIterator ( )
inline

Definition at line 27 of file DatabaseSetIterator.hh.

◆ DatabaseSetIterator() [2/2]

template<typename ValueType , typename DatabaseType >
CASM::DB::DatabaseSetIterator< ValueType, DatabaseType >::DatabaseSetIterator ( base_iterator  _it)
inlineprivate

Definition at line 40 of file DatabaseSetIterator.hh.

Member Function Documentation

◆ _clone()

template<typename ValueType , typename DatabaseType >
DatabaseSetIterator* CASM::DB::DatabaseSetIterator< ValueType, DatabaseType >::_clone ( ) const
inlineoverrideprivatevirtual

◆ base()

template<typename ValueType , typename DatabaseType >
base_iterator CASM::DB::DatabaseSetIterator< ValueType, DatabaseType >::base ( ) const
inlineprivate

Definition at line 42 of file DatabaseSetIterator.hh.

◆ clone()

template<typename ValueType , typename DatabaseType >
std::unique_ptr<DatabaseIteratorBase<ValueType> > CASM::DB::DatabaseSetIterator< ValueType, DatabaseType >::clone ( ) const
inline

Definition at line 31 of file DatabaseSetIterator.hh.

◆ dereference()

template<typename ValueType , typename DatabaseType >
const ValueType& CASM::DB::DatabaseSetIterator< ValueType, DatabaseType >::dereference ( ) const
inlineoverrideprivatevirtual

◆ equal()

template<typename ValueType , typename DatabaseType >
bool CASM::DB::DatabaseSetIterator< ValueType, DatabaseType >::equal ( const DatabaseIteratorBase< ValueType > &  other) const
inlineoverrideprivatevirtual

◆ increment()

template<typename ValueType , typename DatabaseType >
void CASM::DB::DatabaseSetIterator< ValueType, DatabaseType >::increment ( )
inlineoverrideprivatevirtual

◆ name()

template<typename ValueType , typename DatabaseType >
std::string CASM::DB::DatabaseSetIterator< ValueType, DatabaseType >::name ( ) const
inlineoverridevirtual

Member Data Documentation

◆ DatabaseIterator< ValueType >

template<typename ValueType >
friend CASM::DB::DatabaseIteratorBase< ValueType >::DatabaseIterator< ValueType >
privateinherited

Definition at line 82 of file Database.hh.

◆ DatabaseType

template<typename ValueType , typename DatabaseType >
friend CASM::DB::DatabaseSetIterator< ValueType, DatabaseType >::DatabaseType
private

Definition at line 36 of file DatabaseSetIterator.hh.

◆ m_it

template<typename ValueType , typename DatabaseType >
base_iterator CASM::DB::DatabaseSetIterator< ValueType, DatabaseType >::m_it
private

Definition at line 63 of file DatabaseSetIterator.hh.


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