1 #ifndef CASM_jsonDatabase
2 #define CASM_jsonDatabase
15 template <
typename DataObject>
24 static const std::string
name;
43 template <
typename DataObject>
48 template <
typename DataObject>
80 void close()
override;
83 void _read_scel_list();
128 void close()
override;
130 iterator begin()
const override;
132 iterator end()
const override;
142 iterator erase(iterator pos)
override;
144 iterator
find(
const std::string &name_or_alias)
const override;
153 const std::string &
scelname)
const override;
165 std::pair<iterator, bool> _on_insert_or_emplace(
166 std::pair<base_iterator, bool> &result,
bool is_new);
181 std::map<std::string, std::pair<base_iterator, base_iterator> >
m_scel_range;
Provides access to all databases.
DatabaseIterator for implementations using std::set<ValueType>
fs::path obj_list() const
std::string _calctype(std::string calctype) const
fs::path props_list(std::string calctype) const
DirectoryStructure(const fs::path _root)
CASM::DirectoryStructure m_dir
std::set< Configuration > m_config_list
DatabaseSetIterator< Configuration, jsonDatabase< Configuration > > db_set_iterator
std::set< Configuration >::iterator base_iterator
iterator _iterator(base_iterator name_it) const
std::map< std::string, Index > m_config_id
std::map< std::string, std::pair< base_iterator, base_iterator > > m_scel_range
std::map< std::string, base_iterator > m_name_to_config
Specification of CASM project directory structure.
PrimClex is the top-level data structure for a CASM project.
Represents a supercell of the primitive parent crystal structure.
void commit(ProjectSettings const &set)
std::string scelname(const Structure &prim, const Lattice &superlat)
Make supercell name name [deprecated].
DatabaseHandler & db_handler
GenericDatumFormatter< bool, ConfigEnumDataType > is_new()
ConfigIO::GenericConfigFormatter< jsonParser > config()
Traits const & traits(std::string const &dof_key)
Lookup DoFType::Traits in the global dictionary.
Iterator find(Iterator begin, Iterator end, const T &value, BinaryCompare q)
Equivalent to std::find(begin, end, value), but with custom comparison.
static void insert(DatabaseHandler &)
static const std::string version
Database format version, incremented separately from casm –version.
static const std::string name
static void insert(DB::DatabaseHandler &db_handler)