CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <jsonFile.hh>
Slightly more compact construction of jsonParser from file.
Definition at line 18 of file jsonFile.hh.
Public Types | |
typedef json_spirit::mObject::size_type | size_type |
typedef jsonParserIterator< false > | iterator |
typedef jsonParserIterator< true > | const_iterator |
Public Member Functions | |
template<typename T > | |
jsonFile (const T &t) | |
Convert fs::path from t, then construct jsonParser. More... | |
bool | read (std::istream &stream) |
Reads json from the stream. More... | |
bool | read (const boost::filesystem::path &mypath) |
Reads json from a path. More... | |
void | print (std::ostream &stream, unsigned int indent=2, unsigned int prec=12) const |
Print json to stream. More... | |
void | write (const std::string &file_name, unsigned int indent=2, unsigned int prec=12) const |
Write json to file. More... | |
void | write (const boost::filesystem::path &mypath, unsigned int indent=2, unsigned int prec=12) const |
Write json to file. More... | |
bool | operator!= (const jsonParser &json) const |
bool | almost_equal (const jsonParser &B, double tol) const |
bool | is_null () const |
Check if null type. More... | |
bool | is_bool () const |
Check if bool type. More... | |
bool | is_int () const |
Check if int type. More... | |
bool | is_float () const |
Check if number type (not including int) More... | |
bool | is_number () const |
Check if number type (including int) More... | |
bool | is_string () const |
Check if string. More... | |
bool | is_obj () const |
Check if object type. More... | |
bool | is_array () const |
Check if array type. More... | |
jsonParser & | operator[] (const std::string &name) |
const jsonParser & | operator[] (const std::string &name) const |
jsonParser & | operator[] (const size_type &element) |
const jsonParser & | operator[] (const size_type &element) const |
jsonParser & | at (const fs::path &path) |
const jsonParser & | at (const fs::path &path) const |
jsonParser & | at (const size_type &element) |
const jsonParser & | at (const size_type &element) const |
size_type | size () const |
iterator | begin () |
Returns const_iterator to beginning of JSON object or JSON array. More... | |
const_iterator | begin () const |
Returns iterator to beginning of JSON object or JSON array. More... | |
iterator | end () |
Returns iterator to end of JSON object or JSON array. More... | |
const_iterator | end () const |
Returns const_iterator to end of JSON object or JSON array. More... | |
const_iterator | cbegin () const |
Returns const_iterator to beginning of JSON object or JSON array. More... | |
const_iterator | cend () const |
Returns const_iterator to end of JSON object or JSON array. More... | |
iterator | find (const std::string &name) |
Return iterator to JSON object value with 'name'. More... | |
const_iterator | find (const std::string &name) const |
Return const_iterator to JSON object value with 'name'. More... | |
jsonParser::iterator | find_at (const fs::path &path) |
Return iterator to sub-object or element, or 'end' if not found. More... | |
jsonParser::const_iterator | find_at (const fs::path &path) const |
Return iterator to sub-object or element, or 'end' if not found. More... | |
bool | contains (const std::string &name) const |
Return true if JSON object contains 'name'. More... | |
size_type | erase (const std::string &name) |
Erase key:value pair from an object. More... | |
template<typename T , typename... Args> | |
T | get (Args &&... args) const |
Get data from json, using one of several alternatives. More... | |
template<typename T , typename... Args> | |
void | get (T &t, Args &&... args) const |
template<typename T , typename... Args> | |
bool | get_if (T &t, const std::string &key, Args &&... args) const |
template<typename T , typename... Args> | |
T | get_if_else (const std::string &key, const T &default_value, Args &&... args) const |
template<typename T , typename... Args> | |
bool | get_else (T &t, const std::string &key, const T &default_value, Args &&... args) const |
template<typename T , typename... Args> | |
std::unique_ptr< T > | make (Args &&... args) const |
Get data from json. More... | |
template<typename T , typename... Args> | |
void | make (std::unique_ptr< T > &ptr, Args &&... args) const |
Get data from json. More... | |
template<typename T , typename... Args> | |
bool | make_if (std::unique_ptr< T > &ptr, const std::string &key, Args &&... args) const |
Get data from json if key exists. More... | |
template<typename T , typename... Args> | |
std::unique_ptr< T > | make_optional (const std::string &key, Args &&... args) const |
Get data from json if key exists, else return empty ptr. More... | |
template<typename T , typename... Args> | |
std::unique_ptr< T > | make_if_else (const std::string &key, std::unique_ptr< T > default_value, Args &&... args) const |
Get data from json if 'this' contains 'key', else return 'default_value'. More... | |
template<typename T , typename... Args> | |
bool | make_else (std::unique_ptr< T > &ptr, const std::string &key, std::unique_ptr< T > default_value, Args &&... args) const |
Get data from json if key exists, else assign default_value. More... | |
template<typename T , typename... Args> | |
jsonParser & | push_back (const T &value, Args &&... args) |
template<typename T > | |
jsonParser & | put (const T &value) |
jsonParser & | put_obj () |
Puts new empty JSON object. More... | |
template<typename Iterator > | |
jsonParser & | put_obj (Iterator begin, Iterator end) |
jsonParser & | put_array () |
Puts new empty JSON array. More... | |
jsonParser & | put_array (size_type N) |
Puts new JSON array. More... | |
template<typename T > | |
jsonParser & | put_array (size_type N, const T &t) |
Puts new JSON array, using the same value. More... | |
template<typename Iterator , typename... Args, typename CASM_TMP::enable_if_iterator< Iterator >::type * = nullptr> | |
jsonParser & | put_array (Iterator begin, Iterator end, Args &&... args) |
Puts new JSON array, from iterators. More... | |
jsonParser & | put_null () |
Puts 'null' JSON value. More... | |
Static Public Member Functions | |
static jsonParser | parse (const std::string &str) |
Construct a jsonParser from a string containing JSON data. More... | |
static jsonParser | parse (const fs::path &path) |
Construct a jsonParser from a file containing JSON data. More... | |
static jsonParser | parse (std::istream &stream) |
Construct a jsonParser from a stream containing JSON data. More... | |
static jsonParser | object () |
Returns an empty json object. More... | |
template<typename Iterator > | |
static jsonParser | object (Iterator begin, Iterator end) |
static jsonParser | array () |
Returns an empty json array. More... | |
static jsonParser | array (size_type N) |
Returns an empty json array. More... | |
template<typename T > | |
static jsonParser | array (size_type N, const T &t) |
Puts new JSON array, using the same value. More... | |
template<typename Iterator > | |
static jsonParser | array (Iterator begin, Iterator end, typename CASM_TMP::enable_if_iterator< Iterator >::type *=nullptr) |
Puts new JSON array, from iterators. More... | |
static jsonParser | null () |
Returns a null JSON value. More... | |
|
inherited |
Definition at line 89 of file jsonParser.hh.
|
inherited |
Definition at line 88 of file jsonParser.hh.
|
inherited |
Definition at line 87 of file jsonParser.hh.
|
inline |
Convert fs::path from t, then construct jsonParser.
Definition at line 22 of file jsonFile.hh.
|
inherited |
Definition at line 218 of file jsonParser.cc.
|
inlinestaticinherited |
Returns an empty json array.
Definition at line 409 of file jsonParser.hh.
|
inlinestaticinherited |
Puts new JSON array, from iterators.
Definition at line 429 of file jsonParser.hh.
|
inlinestaticinherited |
Returns an empty json array.
Definition at line 415 of file jsonParser.hh.
|
inlinestaticinherited |
Puts new JSON array, using the same value.
Definition at line 422 of file jsonParser.hh.
|
inherited |
Return a reference to the sub-jsonParser (JSON value) with specified relative path Will throw if the 'path' doesn't exist.
Return a reference to the sub-jsonParser (JSON value) with specified relative path Will throw if the 'path' doesn't exist.
Definition at line 316 of file jsonParser.cc.
|
inherited |
Return a reference to the sub-jsonParser (JSON value) with specified relative path Will throw if the 'path' doesn't exist.
Return a reference to the sub-jsonParser (JSON value) with specified relative path Will throw if the 'path' doesn't exist.
Definition at line 328 of file jsonParser.cc.
|
inherited |
Return a reference to the sub-jsonParser (JSON value) from index 'element' iff jsonParser is a JSON array
Definition at line 397 of file jsonParser.cc.
|
inherited |
Return a const reference to the sub-jsonParser (JSON value) from index 'element' iff jsonParser is a JSON array
Definition at line 410 of file jsonParser.cc.
|
inherited |
Returns const_iterator to beginning of JSON object or JSON array.
Returns iterator to beginning of JSON object or JSON array.
Definition at line 497 of file jsonParser.cc.
|
inherited |
Returns iterator to beginning of JSON object or JSON array.
Returns const_iterator to beginning of JSON object or JSON array.
Definition at line 507 of file jsonParser.cc.
|
inherited |
Returns const_iterator to beginning of JSON object or JSON array.
Returns const iterator to beginning of const JSON object or JSON array.
Definition at line 510 of file jsonParser.cc.
|
inherited |
Returns const_iterator to end of JSON object or JSON array.
Definition at line 533 of file jsonParser.cc.
|
inherited |
Return true if JSON object contains 'name'.
Definition at line 601 of file jsonParser.cc.
|
inherited |
Returns iterator to end of JSON object or JSON array.
Definition at line 520 of file jsonParser.cc.
|
inherited |
Returns const_iterator to end of JSON object or JSON array.
Returns iterator to end of JSON object or JSON array.
Definition at line 530 of file jsonParser.cc.
|
inherited |
Erase key:value pair from an object.
Erase key:value pair from an object Returns the number of elements erased, which will be 0 or 1
Definition at line 607 of file jsonParser.cc.
|
inherited |
Return iterator to JSON object value with 'name'.
Definition at line 543 of file jsonParser.cc.
|
inherited |
Return const_iterator to JSON object value with 'name'.
Definition at line 548 of file jsonParser.cc.
|
inherited |
Return iterator to sub-object or element, or 'end' if not found.
Return iterator to sub-object or element, or 'end' if not found
Definition at line 556 of file jsonParser.cc.
|
inherited |
Return iterator to sub-object or element, or 'end' if not found.
Return iterator to sub-object or element, or 'end' if not found
Definition at line 596 of file jsonParser.cc.
|
inherited |
Check if array type.
Definition at line 275 of file jsonParser.cc.
|
inherited |
Check if bool type.
Definition at line 257 of file jsonParser.cc.
|
inherited |
Check if number type (not including int)
Definition at line 263 of file jsonParser.cc.
|
inherited |
Check if int type.
Definition at line 260 of file jsonParser.cc.
|
inherited |
Check if null type.
Definition at line 254 of file jsonParser.cc.
|
inherited |
Check if number type (including int)
Definition at line 266 of file jsonParser.cc.
|
inherited |
Check if object type.
Definition at line 272 of file jsonParser.cc.
|
inherited |
Check if string.
Definition at line 269 of file jsonParser.cc.
|
inlinestaticinherited |
Returns a null JSON value.
Definition at line 437 of file jsonParser.hh.
|
inlinestaticinherited |
Returns an empty json object.
Definition at line 395 of file jsonParser.hh.
|
inlinestaticinherited |
Puts new JSON object, from iterators over a range of values of type std::pair<std::string, T>
Definition at line 403 of file jsonParser.hh.
|
inlineinherited |
Definition at line 173 of file jsonParser.hh.
|
inherited |
Return a reference to the sub-jsonParser (JSON value) from index 'element' iff jsonParser is a JSON array
Definition at line 385 of file jsonParser.cc.
|
inherited |
Return a const reference to the sub-jsonParser (JSON value) from index 'element' iff jsonParser is a JSON array
Definition at line 391 of file jsonParser.cc.
|
inherited |
Return a reference to the sub-jsonParser (JSON value) with 'name' if it exists If it does not exist, create it with an empty JSON object and return a reference to it
Return a reference to the sub-jsonParser (JSON value) with 'name' if it exists If it does not exist, create it with value == 'null' and return a reference
Definition at line 283 of file jsonParser.cc.
|
inherited |
Return a reference to the sub-jsonParser (JSON value) with 'name' if it exists. Will throw if the 'name' doesn't exist.
Definition at line 297 of file jsonParser.cc.
|
staticinherited |
Construct a jsonParser from a file containing JSON data.
Definition at line 614 of file jsonParser.cc.
|
inlinestaticinherited |
Construct a jsonParser from a string containing JSON data.
Definition at line 382 of file jsonParser.hh.
|
inlinestaticinherited |
Construct a jsonParser from a stream containing JSON data.
Definition at line 392 of file jsonParser.hh.
|
inherited |
|
inlineinherited |
Puts new empty JSON array.
Definition at line 362 of file jsonParser.hh.
|
inlineinherited |
Puts new JSON array.
Definition at line 365 of file jsonParser.hh.
|
inlineinherited |
Puts 'null' JSON value.
Definition at line 377 of file jsonParser.hh.
|
inlineinherited |
Puts new empty JSON object.
Definition at line 354 of file jsonParser.hh.
|
inherited |
Reads json from a path.
|
inherited |
Reads json from the stream.
Definition at line 168 of file jsonParser.cc.
|
inherited |
Returns array size if *this is a JSON array, object size if *this is a JSON object, 1 otherwise
Definition at line 487 of file jsonParser.cc.
|
inherited |
Write json to file.
|
inherited |
Write json to file.
Definition at line 196 of file jsonParser.cc.