CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <ConfigDatabase.hh>
Derived ConfigDatabase must implement public methods:
Database insert methods by convention do not enforce canonical forms or ensure that the primitive form of a Configuration is included also. That logic is included in Configuration::insert, which is the safest way to insert new Configuration in the database. But in cases where it is known that a Configuration is generated in primitive, canonical form, the Database insert methods may be used directly, for instance as in the method insert_unique_canon_configs.
Definition at line 32 of file ConfigDatabase.hh.
Public Types | |
typedef DatabaseIterator< Configuration > | iterator |
typedef Configuration | value_type |
typedef Index | size_type |
typedef Base::MostDerived | MostDerived |
Public Member Functions | |
Database (const PrimClex &_primclex) | |
virtual | ~Database () |
virtual iterator | update (const Configuration &config)=0 |
Update record. More... | |
virtual boost::iterator_range< iterator > | scel_range (const std::string &scelname) const =0 |
virtual iterator | search (const Configuration &config) const |
Find canonical Configuration in database by comparing DoF. More... | |
Index | scel_range_size (const std::string &scelname) const |
Number of Configuration in a particular supercell. More... | |
virtual iterator | begin () const=0 |
virtual iterator | end () const=0 |
virtual size_type | size () const=0 |
bool | empty () const |
std::pair< iterator, bool > | set_alias (const std::string &name_or_alias, const std::string &alias) |
For setting an alias. More... | |
std::string | name (const std::string &name_or_alias) const |
std::string | alias (const std::string &name_or_alias) const |
Get alias from name_or_alias. More... | |
virtual std::pair< iterator, bool > | insert (const Configuration &obj)=0 |
virtual std::pair< iterator, bool > | insert (const Configuration &&obj)=0 |
void | insert (InputIt first, InputIt last) |
virtual iterator | erase (iterator pos)=0 |
size_type | erase (const std::string &name_or_alias) |
size_type | erase (const Configuration &obj) |
virtual size_type | count (const std::string &name_or_alias) const |
virtual iterator | find (const std::string &name_or_alias) const=0 |
virtual void | commit ()=0 |
Selection< Configuration > & | master_selection () |
const Selection< Configuration > & | master_selection () const |
virtual DatabaseBase & | open ()=0 |
virtual void | close ()=0 |
const PrimClex & | primclex () const |
const Structure & | prim () const |
double | crystallography_tol () const |
Protected Member Functions | |
void | read_aliases () |
void | write_aliases () |
void | clear_name (const _ValueType &obj) const |
Only ValDatabase<ValueType> is allowed to do clear_name. More... | |
void | set_id (const _ValueType &obj, Index id) const |
Only ValDatabase<ValueType> is allowed to do a const id change. More... | |
void | set_id (const _ValueType &obj, std::string id) const |
Only ValDatabase<ValueType> is allowed to do a const id change. More... | |
MostDerived & | derived () |
const MostDerived & | derived () const |
Private Attributes | |
std::map< std::string, std::string > | m_name_to_alias |
std::map< std::string, std::string > | m_alias_to_name |
Selection< Configuration > | m_master_selection |
const PrimClex * | m_primclex |
|
inherited |
Definition at line 223 of file Database.hh.
|
inherited |
Definition at line 16 of file HasPrimClex.hh.
|
inherited |
Definition at line 225 of file Database.hh.
|
inherited |
Definition at line 224 of file Database.hh.
|
inline |
Definition at line 34 of file ConfigDatabase.hh.
|
inlinevirtual |
Definition at line 36 of file ConfigDatabase.hh.
|
inherited |
Get alias from name_or_alias.
Get alias from name_or_alias
Definition at line 250 of file Database_impl.hh.
|
pure virtualinherited |
Implemented in CASM::DB::jsonDatabase< Configuration >.
|
inlineprotectedinherited |
Only ValDatabase<ValueType> is allowed to do clear_name.
Definition at line 298 of file Database.hh.
|
pure virtualinherited |
|
pure virtualinherited |
Implements CASM::DB::DatabaseBase.
Implemented in CASM::DB::jsonDatabase< Configuration >.
|
inlinevirtualinherited |
Definition at line 268 of file Database.hh.
|
inherited |
Definition at line 21 of file HasPrimClex_impl.hh.
|
inlineprotectedinherited |
Definition at line 13 of file CRTPBase.hh.
|
inlineprotectedinherited |
Definition at line 15 of file CRTPBase.hh.
|
inlineinherited |
Definition at line 236 of file Database.hh.
|
pure virtualinherited |
Implemented in CASM::DB::jsonDatabase< Configuration >.
|
inlineinherited |
Definition at line 266 of file Database.hh.
|
inlineinherited |
Definition at line 262 of file Database.hh.
|
pure virtualinherited |
|
pure virtualinherited |
Implemented in CASM::DB::jsonDatabase< Configuration >.
|
pure virtualinherited |
Implemented in CASM::DB::jsonDatabase< Configuration >.
|
pure virtualinherited |
Implemented in CASM::DB::jsonDatabase< Configuration >.
|
inlineinherited |
Definition at line 256 of file Database.hh.
|
inlineinherited |
Definition at line 285 of file Database.hh.
|
inlineinherited |
Definition at line 287 of file Database.hh.
|
inherited |
Get name from name_or_alias
Definition at line 247 of file Database_impl.hh.
|
pure virtualinherited |
|
inherited |
Definition at line 19 of file HasPrimClex_impl.hh.
|
inlineinherited |
Definition at line 35 of file Database.hh.
|
protectedinherited |
Definition at line 292 of file Database_impl.hh.
|
pure virtual |
Range of Configuration in a particular supecell
Implemented in CASM::DB::jsonDatabase< Configuration >.
Index CASM::DB::Database< Configuration >::scel_range_size | ( | const std::string & | scelname | ) | const |
Number of Configuration in a particular supercell.
Number of Configuration in a particular supecell.
Definition at line 11 of file ConfigDatabase.cc.
|
virtual |
Find canonical Configuration in database by comparing DoF.
Find canonical Configuration in database by comparing DoF
Reimplemented in CASM::DB::jsonDatabase< Configuration >.
Definition at line 19 of file ConfigDatabase.cc.
|
inherited |
For setting an alias.
Definition at line 239 of file Database_impl.hh.
|
inlineprotectedinherited |
Only ValDatabase<ValueType> is allowed to do a const id change.
Definition at line 304 of file Database.hh.
|
inlineprotectedinherited |
Only ValDatabase<ValueType> is allowed to do a const id change.
Definition at line 310 of file Database.hh.
|
pure virtualinherited |
Implemented in CASM::DB::jsonDatabase< Configuration >.
|
pure virtual |
Update record.
Implemented in CASM::DB::jsonDatabase< Configuration >.
|
protectedinherited |
Definition at line 294 of file Database_impl.hh.
|
privateinherited |
Definition at line 319 of file Database.hh.
|
privateinherited |
Definition at line 322 of file Database.hh.
|
privateinherited |
Definition at line 316 of file Database.hh.
|
privateinherited |
Definition at line 38 of file Database.hh.