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;
138 return pushKV(pear.first, pear.second);
148 static inline std::pair<std::string,UniValue>
Pair(
const char *cKey,
const char *cVal)
150 std::string key(cKey);
152 return std::make_pair(key, uVal);
155 static inline std::pair<std::string,UniValue>
Pair(
const char *cKey, std::string strVal)
157 std::string key(cKey);
159 return std::make_pair(key, uVal);
162 static inline std::pair<std::string,UniValue>
Pair(
const char *cKey, uint64_t u64Val)
164 std::string key(cKey);
166 return std::make_pair(key, uVal);
169 static inline std::pair<std::string,UniValue>
Pair(
const char *cKey, int64_t i64Val)
171 std::string key(cKey);
173 return std::make_pair(key, uVal);
176 static inline std::pair<std::string,UniValue>
Pair(
const char *cKey,
bool iVal)
178 std::string key(cKey);
180 return std::make_pair(key, uVal);
183 static inline std::pair<std::string,UniValue>
Pair(
const char *cKey,
int iVal)
185 std::string key(cKey);
187 return std::make_pair(key, uVal);
190 static inline std::pair<std::string,UniValue>
Pair(
const char *cKey,
double dVal)
192 std::string key(cKey);
194 return std::make_pair(key, uVal);
197 static inline std::pair<std::string,UniValue>
Pair(
const char *cKey,
const UniValue& uVal)
199 std::string key(cKey);
200 return std::make_pair(key, uVal);
203 static inline std::pair<std::string,UniValue>
Pair(std::string key,
const UniValue& uVal)
205 return std::make_pair(key, uVal);
225 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
const UniValue & find_value(std::string_view key) const
UniValue(const char *val_)
enum VType getType() const
bool push_back(std::pair< std::string, UniValue > pear)
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)
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