CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <PropertiesDatabase.hh>
Dereferencing PropertiesDatabaseIteratorBase only provides const references, whether the underlying resource is persistent (jsonPropertiesDatabase) or temporary (other database types). Changing database entries must be done via copy then insert, or update.
PropertiesDatabaseIteratorBase should always be dereferenceable (except end or when default constructed), though the reference may be invalidated when a second PropertiesDatabaseIteratorBase is dereferenced, dereferencing the first again should be valid (though it may require re-allocation):
Derived classes must implement private methods:
Definition at line 52 of file PropertiesDatabase.hh.
Public Types | |
typedef MappedProperties | value_type |
typedef const value_type & | reference |
Public Member Functions | |
PropertiesDatabaseIteratorBase () | |
virtual | ~PropertiesDatabaseIteratorBase () |
std::unique_ptr< PropertiesDatabaseIteratorBase > | clone () const |
Private Member Functions | |
virtual void | increment ()=0 |
virtual reference | dereference () const =0 |
virtual bool | equal (const PropertiesDatabaseIteratorBase &other) const =0 |
virtual PropertiesDatabaseIteratorBase * | _clone () const =0 |
virtual long | distance_to (const PropertiesDatabaseIteratorBase &other) const =0 |
Private Attributes | |
friend | PropertiesDatabaseIterator |
typedef const value_type& CASM::DB::PropertiesDatabaseIteratorBase::reference |
Definition at line 57 of file PropertiesDatabase.hh.
Definition at line 56 of file PropertiesDatabase.hh.
|
inline |
Definition at line 59 of file PropertiesDatabase.hh.
|
inlinevirtual |
Definition at line 60 of file PropertiesDatabase.hh.
|
privatepure virtual |
Implemented in CASM::DB::jsonPropertiesDatabaseIterator.
|
inline |
Definition at line 62 of file PropertiesDatabase.hh.
|
privatepure virtual |
Implemented in CASM::DB::jsonPropertiesDatabaseIterator.
|
privatepure virtual |
Implemented in CASM::DB::jsonPropertiesDatabaseIterator.
|
privatepure virtual |
Implemented in CASM::DB::jsonPropertiesDatabaseIterator.
|
privatepure virtual |
Implemented in CASM::DB::jsonPropertiesDatabaseIterator.
|
private |
Definition at line 53 of file PropertiesDatabase.hh.