CASM  1.1.0
A Clusters Approach to Statistical Mechanics
Configuration_json_io.hh
Go to the documentation of this file.
1 #ifndef CASM_clex_Configuration_json_io
2 #define CASM_clex_Configuration_json_io
3 
4 #include <memory>
5 #include <string>
6 
7 namespace CASM {
8 
9 class Configuration;
10 class PrimClex;
11 class Structure;
12 class Supercell;
13 template <typename T>
14 struct jsonConstructor;
15 template <typename T>
16 struct jsonMake;
17 class jsonParser;
18 
19 template <>
22  static Configuration from_json(
23  jsonParser const &json,
24  std::shared_ptr<const Structure> const &shared_prim);
25 };
26 
27 template <>
30  static std::unique_ptr<Configuration> make_from_json(
31  jsonParser const &json,
32  std::shared_ptr<const Structure> const &shared_prim);
33 };
34 
36 jsonParser &to_json(Configuration const &configuration, jsonParser &json);
37 
39 void from_json(Configuration &configuration, jsonParser const &json);
40 
41 } // namespace CASM
42 
43 #endif
std::shared_ptr< Structure const > shared_prim
Main CASM namespace.
Definition: APICommand.hh:8
jsonParser & to_json(const ClexDescription &desc, jsonParser &json)
void from_json(ClexDescription &desc, const jsonParser &json)
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
Helper struct for constructing objects that need additional data.
Definition: jsonParser.hh:564
static std::unique_ptr< ValueType > make_from_json(const jsonParser &json)
Default make_from_json is equivalent to.
Definition: jsonParser.hh:567