CASM  1.1.0
A Clusters Approach to Statistical Mechanics
jsonParser.hh File Reference
#include <complex>
#include <exception>
#include "casm/external/json_spirit/json_spirit_reader_template.h"
#include "casm/external/json_spirit/json_spirit_writer_template.h"
#include "casm/misc/CASM_TMP.hh"

Go to the source code of this file.

Classes

class  CASM::jsonParser
 
struct  CASM::jsonParser::as_array
 
struct  CASM::jsonParser::as_flattest
 
struct  CASM::jsonConstructor< ReturnType >
 Helper struct for constructing objects that need additional data. More...
 
struct  CASM::jsonMake< ValueType >
 Helper struct for constructing objects that need additional data. More...
 
class  CASM::jsonParserIterator< IsConst >
 

Namespaces

 boost
 
 boost::filesystem
 
 CASM
 Main CASM namespace.
 

Functions

std::ostream & CASM::operator<< (std::ostream &stream, const jsonParser &json)
 
std::istream & CASM::operator>> (std::istream &stream, jsonParser &json)
 
jsonParser & CASM::to_json (bool value, jsonParser &json)
 To JSON for basic types. More...
 
jsonParser & CASM::to_json (int value, jsonParser &json)
 
jsonParser & CASM::to_json (unsigned int value, jsonParser &json)
 
jsonParser & CASM::to_json (long int value, jsonParser &json)
 
jsonParser & CASM::to_json (unsigned long int value, jsonParser &json)
 
jsonParser & CASM::to_json (double value, jsonParser &json)
 
jsonParser & CASM::to_json (const std::string &value, jsonParser &json)
 
jsonParser & CASM::to_json (const char *value, jsonParser &json)
 
jsonParser & CASM::to_json (const jsonParser &value, jsonParser &json)
 
template<typename T >
CASM::from_json (const jsonParser &json)
 From JSON for basic types. More...
 
template<typename T >
std::unique_ptr< T > CASM::make_from_json (const jsonParser &json)
 Make from JSON for basic types. More...
 
template<>
bool CASM::from_json< bool > (const jsonParser &json)
 
template<>
int CASM::from_json< int > (const jsonParser &json)
 
template<>
unsigned int CASM::from_json< unsigned int > (const jsonParser &json)
 
template<>
long int CASM::from_json< long int > (const jsonParser &json)
 
template<>
unsigned long int CASM::from_json< unsigned long int > (const jsonParser &json)
 
template<>
double CASM::from_json< double > (const jsonParser &json)
 
template<>
std::string CASM::from_json< std::string > (const jsonParser &json)
 
template<>
jsonParser CASM::from_json< jsonParser > (const jsonParser &json)
 
void CASM::from_json (bool &value, const jsonParser &json)
 From JSON for basic types. More...
 
void CASM::from_json (int &value, const jsonParser &json)
 
void CASM::from_json (unsigned int &value, const jsonParser &json)
 
void CASM::from_json (long int &value, const jsonParser &json)
 
void CASM::from_json (unsigned long int &value, const jsonParser &json)
 
void CASM::from_json (double &value, const jsonParser &json)
 
void CASM::from_json (std::string &value, const jsonParser &json)
 
void CASM::from_json (jsonParser &value, const jsonParser &json)
 
void CASM::from_json (std::istream &stream, const jsonParser &json)
 
void CASM::from_json (fs::path &value, const jsonParser &json)
 
void CASM::to_json (std::istream &stream, jsonParser &json)
 Create a jsonParser from a stream. More...
 
void CASM::to_json (fs::path file_path, jsonParser &json)
 Create a jsonParser by reading a file. More...
 
template<typename T >
jsonParser & CASM::to_json (const std::complex< T > &value, jsonParser &json)
 To JSON for complex. More...
 
template<typename T >
void CASM::from_json (std::complex< T > &value, const jsonParser &json)
 From JSON for complex. More...
 
template<typename Key , typename T >
jsonParser & CASM::to_json (const std::pair< Key, T > &value, jsonParser &json)
 To JSON for std::pair<std::string, T> More...
 
template<typename Key , typename T >
void CASM::from_json (std::pair< Key, T > &value, const jsonParser &json)
 From JSON for std::pair<std::string, T> More...
 
template<typename T , typename... Args>
void CASM::make_from_json (std::unique_ptr< T > &ptr, const jsonParser &json, Args &&... args)
 Make from JSON for basic types. More...
 
fs::path CASM::find_diff (const jsonParser &A, const jsonParser &B)
 Return the location at which jsonParser 'A' != 'B' as a fs::path. More...
 
fs::path CASM::find_diff (const jsonParser &A, const jsonParser &B, double tol)
 
template<typename T >
jsonParser CASM::json_pair (const std::string &key, const T &value)
 Create pair/value json object without intermediate temporary. More...