1 #ifndef DBALLE_CORE_JSON_H
2 #define DBALLE_CORE_JSON_H
4 #include <wreport/varinfo.h>
5 #include <wreport/var.h>
34 std::vector<State> stack;
40 void jputs(
const char* s);
59 void add_bool(
bool val);
60 void add_int(
int val);
61 void add_double(
double val);
62 void add_cstring(
const char* val);
63 void add_string(
const std::string& val);
65 void add_number(
const std::string& val);
66 void add_level(
const Level& val);
67 void add_trange(
const Trange& val);
68 void add_datetime(
const Datetime& val);
69 void add_coords(
const Coords& val);
70 void add_var(
const wreport::Var& val);
73 void add(
const std::string& val) { add_string(val); }
74 void add(
const char* val) { add_cstring(val); }
75 void add(
double val) { add_double(val); }
76 void add(
int val) { add_int(val); }
77 void add(
bool val) { add_bool(val); }
78 void add(wreport::Varcode val) { add_int(val); }
79 void add(
const Level& val) { add_level(val); }
80 void add(
const Trange& val) { add_trange(val); }
81 void add(
const Datetime& val) { add_datetime(val); }
82 void add(
const Coords& val) { add_coords(val); }
83 void add(
const wreport::Var& val) { add_var(val); }
86 void add(
const char* a, T b)
93 void add_list(
const T& val)
96 for (
const auto& i : val)
107 virtual void on_start_list() = 0;
108 virtual void on_end_list() = 0;
110 virtual void on_start_mapping() = 0;
111 virtual void on_end_mapping() = 0;
113 virtual void on_add_null() = 0;
114 virtual void on_add_bool(
bool val) = 0;
115 virtual void on_add_int(
int val) = 0;
116 virtual void on_add_double(
double val) = 0;
117 virtual void on_add_string(
const std::string& val) = 0;
120 void parse(std::istream& in);
Coordinates.
Definition: types.h:320
Information on how a value has been sampled or computed with regards to time.
Definition: types.h:565
Copyright (C) 2008–2010 ARPA-SIM urpsim@smr.arpa.emr.it
Definition: cmdline.h:17
Vertical level or layer.
Definition: types.h:515
JSON sax-like parser.
Definition: json.h:105
void val_head()
Append whatever separator is needed (if any) before a new value.
Date and time.
Definition: types.h:147
JSON serializer.
Definition: json.h:23
void reset()
Reset the serializer state, to cancel the current output and prepare for a new one.