MARLEY (Model of Argon Reaction Low Energy Yields)  v1.0.0
A Monte Carlo event generator for tens-of-MeV neutrino-nucleus interactions in liquid argon
 All Classes Functions Variables Enumerations Pages
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
marley::JSON Class Reference


class  JSONConstWrapper
class  JSONWrapper

Public Types

enum  DataType {
  Null, Object, Array, String,
  Floating, Integral, Boolean

Public Member Functions

 JSON (std::initializer_list< JSON > list)
 JSON (JSON &&other)
 JSON (const JSON &other)
template<typename T >
 JSON (T b, typename std::enable_if< std::is_same< T, bool >::value >::type *=0)
template<typename T >
 JSON (T i, typename std::enable_if< std::is_integral< T >::value &&!std::is_same< T, bool >::value >::type *=0)
template<typename T >
 JSON (T f, typename std::enable_if< std::is_floating_point< T >::value >::type *=0)
template<typename T >
 JSON (T s, typename std::enable_if< std::is_convertible< T, std::string >::value >::type *=0)
 JSON (std::nullptr_t)
template<typename T >
void append (T arg)
template<typename T , typename... U>
void append (T arg, U...args)
JSONWrapper< std::deque< JSON > > array_range ()
JSONConstWrapper< std::deque
< JSON > > 
array_range () const
JSONat (const std::string &key)
const JSONat (const std::string &key) const
JSONat (unsigned index)
const JSONat (unsigned index) const
std::string dump_string (const int indent_step=-1) const
bool get_bool (const std::string &key)
bool get_bool (const std::string &key, bool default_value)
double get_double (const std::string &key)
double get_double (const std::string &key, double default_value)
long get_long (const std::string &key)
long get_long (const std::string &key, long default_value)
marley::JSON get_object (const std::string &key, bool throw_error=true)
std::string get_string (const std::string &key)
std::string get_string (const std::string &key, const std::string &default_value)
bool has_key (const std::string &key) const
bool is_array () const
bool is_bool () const
bool is_float () const
bool is_integer () const
bool is_null () const
 Functions for getting primitives from the JSON object.
bool is_object () const
bool is_string () const
int length () const
JSONWrapper< std::map
< std::string, JSON > > 
object_range ()
JSONConstWrapper< std::map
< std::string, JSON > > 
object_range () const
JSONoperator= (JSON &&other)
JSONoperator= (const JSON &other)
template<typename T >
std::enable_if< std::is_same
< T, bool >::value, JSON & >
operator= (T b)
template<typename T >
< std::is_integral< T >::value
&&!std::is_same< T, bool >
::value, JSON & >::type 
operator= (T i)
template<typename T >
< std::is_floating_point< T >
::value, JSON & >::type 
operator= (T f)
template<typename T >
< std::is_convertible< T,
std::string >::value, JSON & >
operator= (T s)
JSONoperator[] (const std::string &key)
JSONoperator[] (unsigned index)
void print (std::ostream &out, const unsigned int indent_step, bool pretty, const unsigned int current_indent=0) const
int size () const
bool to_bool () const
bool to_bool (bool &ok) const
bool to_bool_or_throw () const
double to_double () const
double to_double (bool &ok) const
double to_double_or_throw () const
long to_long () const
long to_long (bool &ok) const
long to_long_or_throw () const
std::string to_string () const
std::string to_string (bool &ok) const
std::string to_string_or_throw () const
DataType type () const

Static Public Member Functions

static JSON array ()
template<typename... T>
static JSON array (T...args)
static JSON load (const std::string &s)
static JSON load (std::istream &is)
static JSON load_file (const std::string &s)
static JSON make (DataType type)
static JSON object ()

The documentation for this class was generated from the following file: