20 struct UniValueStreamWriter;
24 friend struct ::UniValueStreamWriter;
83 void getObjMap(std::map<std::string,UniValue>& kv)
const;
84 bool checkObject(
const std::map<std::string,UniValue::VType>& memberTypes)
const;
87 bool exists(
const std::string& key)
const {
size_t i;
return findKey(key, i); }
99 bool push_backV(
const std::vector<UniValue>& vec);
105 std::string
write(
unsigned int prettyIndent = 0,
106 unsigned int indentLevel = 0)
const;
108 bool read(
const char *raw,
size_t len);
109 bool read(
const char *raw) {
return read(raw, strlen(raw)); }
110 bool read(
const std::string& rawStr) {
111 return read(rawStr.data(), rawStr.size());
120 bool findKey(
const std::string& key,
size_t& retIdx)
const;
125 const std::vector<std::string>&
getKeys()
const;
126 const std::vector<UniValue>&
getValues()
const;
128 const std::string&
get_str()
const;
137 return pushKV(pear.first, pear.second);
146 static inline std::pair<std::string,UniValue>
Pair(
const char *cKey,
const char *cVal)
148 std::string key(cKey);
150 return std::make_pair(key, uVal);
153 static inline std::pair<std::string,UniValue>
Pair(
const char *cKey, std::string strVal)
155 std::string key(cKey);
157 return std::make_pair(key, uVal);
160 static inline std::pair<std::string,UniValue>
Pair(
const char *cKey, uint64_t u64Val)
162 std::string key(cKey);
164 return std::make_pair(key, uVal);
167 static inline std::pair<std::string,UniValue>
Pair(
const char *cKey, int64_t i64Val)
169 std::string key(cKey);
171 return std::make_pair(key, uVal);
174 static inline std::pair<std::string,UniValue>
Pair(
const char *cKey,
bool iVal)
176 std::string key(cKey);
178 return std::make_pair(key, uVal);
181 static inline std::pair<std::string,UniValue>
Pair(
const char *cKey,
int iVal)
183 std::string key(cKey);
185 return std::make_pair(key, uVal);
188 static inline std::pair<std::string,UniValue>
Pair(
const char *cKey,
double dVal)
190 std::string key(cKey);
192 return std::make_pair(key, uVal);
195 static inline std::pair<std::string,UniValue>
Pair(
const char *cKey,
const UniValue& uVal)
197 std::string key(cKey);
198 return std::make_pair(key, uVal);
201 static inline std::pair<std::string,UniValue>
Pair(std::string key,
const UniValue& uVal)
203 return std::make_pair(key, uVal);
223 unsigned int& consumed,
const char *raw,
const char *end);
bool setNumStr(const std::string &val)
UniValue(UniValue::VType type, const std::string &value=std::string())
const std::string & get_str() const
bool checkObject(const std::map< std::string, UniValue::VType > &memberTypes) const
UniValue(const char *val_)
enum VType getType() const
bool push_back(std::pair< std::string, UniValue > pear)
friend const UniValue & find_value(const UniValue &obj, const std::string &name)
int64_t get_int64() const
std::string write(unsigned int prettyIndent=0, unsigned int indentLevel=0) const
const UniValue & get_obj() const
const std::string & getValStr() const
void __pushKV(const std::string &key, const UniValue &val)
const std::vector< UniValue > & getValues() const
const std::vector< std::string > & getKeys() const
std::vector< UniValue > values
bool read(const char *raw)
std::vector< std::string > keys
bool findKey(const std::string &key, size_t &retIdx) const
bool pushKVs(const UniValue &obj)
bool push_back(const UniValue &val)
const UniValue & operator[](const std::string &key) const
bool setInt(uint64_t val)
const UniValue & get_array() const
bool exists(const std::string &key) const
bool pushKV(const std::string &key, const UniValue &val)
bool setStr(const std::string &val)
bool push_backV(const std::vector< UniValue > &vec)
void getObjMap(std::map< std::string, UniValue > &kv) const
bool read(const std::string &rawStr)
UniValue(const std::string &val_)
bool read(const char *raw, size_t len)
bool setFloat(double val)
const UniValue & find_value(const UniValue &obj, const std::string &name)
enum jtokentype getJsonToken(std::string &tokenVal, unsigned int &consumed, const char *raw, const char *end)
static bool jsonTokenIsValue(enum jtokentype jtt)
static bool json_isspace(int ch)
static std::pair< std::string, UniValue > Pair(const char *cKey, const char *cVal)
const char * uvTypeName(UniValue::VType t)
const UniValue NullUniValue