CASM  1.1.0
A Clusters Approach to Statistical Mechanics
ConfigDatabase.hh
Go to the documentation of this file.
1 #ifndef CASM_ConfigDatabase
2 #define CASM_ConfigDatabase
3 
6 
7 namespace boost {
8 
9 template <typename T>
11 
12 }
13 
14 namespace CASM {
15 
16 namespace DB {
17 
31 template <>
32 class Database<Configuration> : public ValDatabase<Configuration> {
33  public:
34  Database(const PrimClex &_primclex) : ValDatabase<Configuration>(_primclex) {}
35 
36  virtual ~Database() {}
37 
39  virtual iterator update(const Configuration &config) = 0;
40 
48  const std::string &scelname) const = 0;
49 
51  virtual iterator search(const Configuration &config) const;
52 
54  Index scel_range_size(const std::string &scelname) const;
55 };
56 
57 } // namespace DB
58 } // namespace CASM
59 
60 #endif
virtual boost::iterator_range< iterator > scel_range(const std::string &scelname) const =0
virtual iterator update(const Configuration &config)=0
Update record.
Database(const PrimClex &_primclex)
Generic interface for database of a particular CASM type.
Definition: Database.hh:221
PrimClex is the top-level data structure for a CASM project.
Definition: PrimClex.hh:55
std::string scelname(const Structure &prim, const Lattice &superlat)
Make supercell name name [deprecated].
Definition: Supercell.cc:497
ConfigIO::GenericConfigFormatter< jsonParser > config()
Definition: ConfigIO.cc:777
Main CASM namespace.
Definition: APICommand.hh:8
INDEX_TYPE Index
For long integer indexing:
Definition: definitions.hh:39