CASM  1.1.0
A Clusters Approach to Statistical Mechanics
ConfigEnumInput_json_io.hh
Go to the documentation of this file.
1 #ifndef CASM_enumerator_ConfigEnumInput_json_io
2 #define CASM_enumerator_ConfigEnumInput_json_io
3 
4 #include <memory>
5 #include <vector>
6 
7 namespace CASM {
8 
9 namespace xtal {
10 class ScelEnumProps;
11 }
12 
13 template <typename T>
14 class InputParser;
15 class jsonParser;
16 template <typename T>
17 struct jsonConstructor;
18 class Configuration;
19 class ConfigEnumInput;
20 class PrimClex;
21 class Structure;
22 class Supercell;
23 
24 namespace DB {
25 template <typename T>
26 class Database;
27 }
28 
30 jsonParser &to_json(ConfigEnumInput const &config_enum_input, jsonParser &json);
31 
33 template <>
36  const jsonParser &json,
37  std::shared_ptr<Structure const> const &shared_prim);
38 };
39 
42  std::shared_ptr<Structure const> const &shared_prim);
43 
46 void from_json(
47  std::vector<std::pair<std::string, ConfigEnumInput>> &config_enum_input,
48  jsonParser const &json, std::shared_ptr<Structure const> shared_prim,
49  PrimClex const *primclex, DB::Database<Supercell> &supercell_db,
50  DB::Database<Configuration> &configuration_db);
51 
55  DB::Database<Supercell> &supercell_db);
56 
58 std::string parse_ConfigEnumInput_desc();
59 
62 void parse(
63  InputParser<std::vector<std::pair<std::string, ConfigEnumInput>>> &parser,
64  std::shared_ptr<Structure const> shared_prim, PrimClex const *primclex,
65  DB::Database<Supercell> &supercell_db,
66  DB::Database<Configuration> &configuration_db);
67 
68 } // namespace CASM
69 
70 #endif
std::shared_ptr< Structure const > shared_prim
PrimClex is the top-level data structure for a CASM project.
Definition: PrimClex.hh:55
Main CASM namespace.
Definition: APICommand.hh:8
jsonParser & to_json(const ClexDescription &desc, jsonParser &json)
void from_json(ClexDescription &desc, const jsonParser &json)
std::string parse_ConfigEnumInput_desc()
A string describing the JSON format for parsing named ConfigEnumInput.
void parse(InputParser< ConfigEnumOptions > &parser, std::string method_name, PrimClex const &primclex, DataFormatterDictionary< Configuration > const &dict)
PrimClex * primclex
Definition: settings.cc:135
Helper struct for constructing objects that need additional data.
Definition: jsonParser.hh:548
static ReturnType from_json(const jsonParser &json)
Default from_json is equivalent to.
Definition: jsonParser.hh:551