CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <Database.hh>
Wrapper class for specializations DatabaseIteratorBase.
Dereferencing DatabaseIterator only provides const references, whether the underlying resource is persistent (Supercell) or temporary (other types). Changing database entries must be done via copy then insert, or update.
DatabaseIterator should always be dereferenceable (except end or when default constructed), though the reference may be invalidated when a second DatabaseIterator is dereferenced, dereferencing the first again should be valid (though it may require re-allocation):
Definition at line 147 of file Database.hh.
Public Member Functions | |
DatabaseIterator () | |
Default constructor. More... | |
DatabaseIterator (const DatabaseIteratorBase< ValueType > &it) | |
Construct iterator. More... | |
std::string | name () const |
DatabaseIteratorBase< ValueType > * | get () const |
Private Member Functions | |
void | increment () |
boost::iterator_facade implementation More... | |
const ValueType & | dereference () const |
boost::iterator_facade implementation More... | |
bool | equal (const DatabaseIterator &B) const |
boost::iterator_facade implementation More... | |
Private Attributes | |
notstd::cloneable_ptr< DatabaseIteratorBase< ValueType > > | m_ptr |
|
inline |
Default constructor.
Definition at line 154 of file Database.hh.
|
inline |
Construct iterator.
Definition at line 157 of file Database.hh.
|
inlineprivate |
boost::iterator_facade implementation
Definition at line 171 of file Database.hh.
|
inlineprivate |
boost::iterator_facade implementation
Definition at line 174 of file Database.hh.
|
inline |
Definition at line 162 of file Database.hh.
|
inlineprivate |
boost::iterator_facade implementation
Definition at line 168 of file Database.hh.
|
inline |
Definition at line 160 of file Database.hh.
|
private |
Definition at line 185 of file Database.hh.