Bitcoin Core  0.18.99
P2P Digital Currency
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
UniValue Class Reference

#include <univalue.h>

Public Types

enum  VType {
  VNULL, VOBJ, VARR, VSTR,
  VNUM, VBOOL
}
 

Public Member Functions

 UniValue ()
 
 UniValue (UniValue::VType initialType, const std::string &initialStr="")
 
 UniValue (uint64_t val_)
 
 UniValue (int64_t val_)
 
 UniValue (bool val_)
 
 UniValue (int val_)
 
 UniValue (double val_)
 
 UniValue (const std::string &val_)
 
 UniValue (const char *val_)
 
 ~UniValue ()
 
void clear ()
 
bool setNull ()
 
bool setBool (bool val)
 
bool setNumStr (const std::string &val)
 
bool setInt (uint64_t val)
 
bool setInt (int64_t val)
 
bool setInt (int val_)
 
bool setFloat (double val)
 
bool setStr (const std::string &val)
 
bool setArray ()
 
bool setObject ()
 
enum VType getType () const
 
const std::string & getValStr () const
 
bool empty () const
 
size_t size () const
 
bool getBool () const
 
void getObjMap (std::map< std::string, UniValue > &kv) const
 
bool checkObject (const std::map< std::string, UniValue::VType > &memberTypes) const
 
const UniValueoperator[] (const std::string &key) const
 
const UniValueoperator[] (size_t index) const
 
bool exists (const std::string &key) const
 
bool isNull () const
 
bool isTrue () const
 
bool isFalse () const
 
bool isBool () const
 
bool isStr () const
 
bool isNum () const
 
bool isArray () const
 
bool isObject () const
 
bool push_back (const UniValue &val)
 
bool push_back (const std::string &val_)
 
bool push_back (const char *val_)
 
bool push_back (uint64_t val_)
 
bool push_back (int64_t val_)
 
bool push_back (int val_)
 
bool push_back (double val_)
 
bool push_backV (const std::vector< UniValue > &vec)
 
void __pushKV (const std::string &key, const UniValue &val)
 
bool pushKV (const std::string &key, const UniValue &val)
 
bool pushKV (const std::string &key, const std::string &val_)
 
bool pushKV (const std::string &key, const char *val_)
 
bool pushKV (const std::string &key, int64_t val_)
 
bool pushKV (const std::string &key, uint64_t val_)
 
bool pushKV (const std::string &key, bool val_)
 
bool pushKV (const std::string &key, int val_)
 
bool pushKV (const std::string &key, double val_)
 
bool pushKVs (const UniValue &obj)
 
std::string write (unsigned int prettyIndent=0, unsigned int indentLevel=0) const
 
bool read (const char *raw, size_t len)
 
bool read (const char *raw)
 
bool read (const std::string &rawStr)
 
const std::vector< std::string > & getKeys () const
 
const std::vector< UniValue > & getValues () const
 
bool get_bool () const
 
const std::string & get_str () const
 
int get_int () const
 
int64_t get_int64 () const
 
double get_real () const
 
const UniValueget_obj () const
 
const UniValueget_array () const
 
enum VType type () const
 

Private Member Functions

bool findKey (const std::string &key, size_t &retIdx) const
 
void writeArray (unsigned int prettyIndent, unsigned int indentLevel, std::string &s) const
 
void writeObject (unsigned int prettyIndent, unsigned int indentLevel, std::string &s) const
 

Private Attributes

UniValue::VType typ
 
std::string val
 
std::vector< std::string > keys
 
std::vector< UniValuevalues
 

Friends

const UniValuefind_value (const UniValue &obj, const std::string &name)
 

Detailed Description

Definition at line 19 of file univalue.h.

Member Enumeration Documentation

◆ VType

Enumerator
VNULL 
VOBJ 
VARR 
VSTR 
VNUM 
VBOOL 

Definition at line 21 of file univalue.h.

Constructor & Destructor Documentation

◆ UniValue() [1/9]

UniValue::UniValue ( )
inline

Definition at line 23 of file univalue.h.

◆ UniValue() [2/9]

UniValue::UniValue ( UniValue::VType  initialType,
const std::string &  initialStr = "" 
)
inline

Definition at line 24 of file univalue.h.

◆ UniValue() [3/9]

UniValue::UniValue ( uint64_t  val_)
inline

Definition at line 28 of file univalue.h.

Here is the call graph for this function:

◆ UniValue() [4/9]

UniValue::UniValue ( int64_t  val_)
inline

Definition at line 31 of file univalue.h.

Here is the call graph for this function:

◆ UniValue() [5/9]

UniValue::UniValue ( bool  val_)
inline

Definition at line 34 of file univalue.h.

Here is the call graph for this function:

◆ UniValue() [6/9]

UniValue::UniValue ( int  val_)
inline

Definition at line 37 of file univalue.h.

Here is the call graph for this function:

◆ UniValue() [7/9]

UniValue::UniValue ( double  val_)
inline

Definition at line 40 of file univalue.h.

Here is the call graph for this function:

◆ UniValue() [8/9]

UniValue::UniValue ( const std::string &  val_)
inline

Definition at line 43 of file univalue.h.

Here is the call graph for this function:

◆ UniValue() [9/9]

UniValue::UniValue ( const char *  val_)
inline

Definition at line 46 of file univalue.h.

Here is the call graph for this function:

◆ ~UniValue()

UniValue::~UniValue ( )
inline

Definition at line 50 of file univalue.h.

Here is the call graph for this function:

Member Function Documentation

◆ __pushKV()

void UniValue::__pushKV ( const std::string &  key,
const UniValue val 
)

Definition at line 127 of file univalue.cpp.

Here is the caller graph for this function:

◆ checkObject()

bool UniValue::checkObject ( const std::map< std::string, UniValue::VType > &  memberTypes) const

Definition at line 179 of file univalue.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ clear()

void UniValue::clear ( )

Definition at line 15 of file univalue.cpp.

Here is the caller graph for this function:

◆ empty()

bool UniValue::empty ( ) const
inline

Definition at line 67 of file univalue.h.

Here is the caller graph for this function:

◆ exists()

bool UniValue::exists ( const std::string &  key) const
inline

Definition at line 76 of file univalue.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ findKey()

bool UniValue::findKey ( const std::string &  key,
size_t &  retIdx 
) const
private

Definition at line 167 of file univalue.cpp.

Here is the caller graph for this function:

◆ get_array()

const UniValue & UniValue::get_array ( ) const

Definition at line 141 of file univalue_get.cpp.

Here is the caller graph for this function:

◆ get_bool()

bool UniValue::get_bool ( ) const

Definition at line 90 of file univalue_get.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_int()

int UniValue::get_int ( ) const

Definition at line 104 of file univalue_get.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_int64()

int64_t UniValue::get_int64 ( ) const

Definition at line 114 of file univalue_get.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_obj()

const UniValue & UniValue::get_obj ( ) const

Definition at line 134 of file univalue_get.cpp.

Here is the caller graph for this function:

◆ get_real()

double UniValue::get_real ( ) const

Definition at line 124 of file univalue_get.cpp.

Here is the call graph for this function:

◆ get_str()

const std::string & UniValue::get_str ( ) const

Definition at line 97 of file univalue_get.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getBool()

bool UniValue::getBool ( ) const
inline

Definition at line 71 of file univalue.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getKeys()

const std::vector< std::string > & UniValue::getKeys ( ) const

Definition at line 76 of file univalue_get.cpp.

Here is the caller graph for this function:

◆ getObjMap()

void UniValue::getObjMap ( std::map< std::string, UniValue > &  kv) const

Definition at line 157 of file univalue.cpp.

Here is the caller graph for this function:

◆ getType()

enum VType UniValue::getType ( ) const
inline

Definition at line 65 of file univalue.h.

Here is the caller graph for this function:

◆ getValStr()

const std::string& UniValue::getValStr ( ) const
inline

Definition at line 66 of file univalue.h.

Here is the caller graph for this function:

◆ getValues()

const std::vector< UniValue > & UniValue::getValues ( ) const

Definition at line 83 of file univalue_get.cpp.

Here is the caller graph for this function:

◆ isArray()

bool UniValue::isArray ( ) const
inline

Definition at line 84 of file univalue.h.

Here is the caller graph for this function:

◆ isBool()

bool UniValue::isBool ( ) const
inline

Definition at line 81 of file univalue.h.

Here is the caller graph for this function:

◆ isFalse()

bool UniValue::isFalse ( ) const
inline

Definition at line 80 of file univalue.h.

Here is the caller graph for this function:

◆ isNull()

bool UniValue::isNull ( ) const
inline

Definition at line 78 of file univalue.h.

Here is the caller graph for this function:

◆ isNum()

bool UniValue::isNum ( ) const
inline

Definition at line 83 of file univalue.h.

Here is the caller graph for this function:

◆ isObject()

bool UniValue::isObject ( ) const
inline

Definition at line 85 of file univalue.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isStr()

bool UniValue::isStr ( ) const
inline

Definition at line 82 of file univalue.h.

Here is the caller graph for this function:

◆ isTrue()

bool UniValue::isTrue ( ) const
inline

Definition at line 79 of file univalue.h.

Here is the caller graph for this function:

◆ operator[]() [1/2]

const UniValue & UniValue::operator[] ( const std::string &  key) const

Definition at line 197 of file univalue.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator[]() [2/2]

const UniValue & UniValue::operator[] ( size_t  index) const

Definition at line 209 of file univalue.cpp.

◆ push_back() [1/7]

bool UniValue::push_back ( const UniValue val)

Definition at line 108 of file univalue.cpp.

Here is the caller graph for this function:

◆ push_back() [2/7]

bool UniValue::push_back ( const std::string &  val_)
inline

Definition at line 88 of file univalue.h.

Here is the call graph for this function:

◆ push_back() [3/7]

bool UniValue::push_back ( const char *  val_)
inline

Definition at line 92 of file univalue.h.

Here is the call graph for this function:

◆ push_back() [4/7]

bool UniValue::push_back ( uint64_t  val_)
inline

Definition at line 96 of file univalue.h.

Here is the call graph for this function:

◆ push_back() [5/7]

bool UniValue::push_back ( int64_t  val_)
inline

Definition at line 100 of file univalue.h.

Here is the call graph for this function:

◆ push_back() [6/7]

bool UniValue::push_back ( int  val_)
inline

Definition at line 104 of file univalue.h.

Here is the call graph for this function:

◆ push_back() [7/7]

bool UniValue::push_back ( double  val_)
inline

Definition at line 108 of file univalue.h.

Here is the call graph for this function:

◆ push_backV()

bool UniValue::push_backV ( const std::vector< UniValue > &  vec)

Definition at line 117 of file univalue.cpp.

Here is the caller graph for this function:

◆ pushKV() [1/8]

bool UniValue::pushKV ( const std::string &  key,
const UniValue val 
)

Definition at line 133 of file univalue.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pushKV() [2/8]

bool UniValue::pushKV ( const std::string &  key,
const std::string &  val_ 
)
inline

Definition at line 116 of file univalue.h.

Here is the call graph for this function:

◆ pushKV() [3/8]

bool UniValue::pushKV ( const std::string &  key,
const char *  val_ 
)
inline

Definition at line 120 of file univalue.h.

Here is the call graph for this function:

◆ pushKV() [4/8]

bool UniValue::pushKV ( const std::string &  key,
int64_t  val_ 
)
inline

Definition at line 124 of file univalue.h.

Here is the call graph for this function:

◆ pushKV() [5/8]

bool UniValue::pushKV ( const std::string &  key,
uint64_t  val_ 
)
inline

Definition at line 128 of file univalue.h.

Here is the call graph for this function:

◆ pushKV() [6/8]

bool UniValue::pushKV ( const std::string &  key,
bool  val_ 
)
inline

Definition at line 132 of file univalue.h.

Here is the call graph for this function:

◆ pushKV() [7/8]

bool UniValue::pushKV ( const std::string &  key,
int  val_ 
)
inline

Definition at line 136 of file univalue.h.

Here is the call graph for this function:

◆ pushKV() [8/8]

bool UniValue::pushKV ( const std::string &  key,
double  val_ 
)
inline

Definition at line 140 of file univalue.h.

Here is the call graph for this function:

◆ pushKVs()

bool UniValue::pushKVs ( const UniValue obj)

Definition at line 146 of file univalue.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ read() [1/3]

bool UniValue::read ( const char *  raw,
size_t  len 
)

Definition at line 251 of file univalue_read.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ read() [2/3]

bool UniValue::read ( const char *  raw)
inline

Definition at line 150 of file univalue.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ read() [3/3]

bool UniValue::read ( const std::string &  rawStr)
inline

Definition at line 151 of file univalue.h.

Here is the call graph for this function:

◆ setArray()

bool UniValue::setArray ( )

Definition at line 94 of file univalue.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setBool()

bool UniValue::setBool ( bool  val)

Definition at line 29 of file univalue.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setFloat()

bool UniValue::setFloat ( double  val)

Definition at line 75 of file univalue.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setInt() [1/3]

bool UniValue::setInt ( uint64_t  val)

Definition at line 57 of file univalue.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setInt() [2/3]

bool UniValue::setInt ( int64_t  val)

Definition at line 66 of file univalue.cpp.

Here is the call graph for this function:

◆ setInt() [3/3]

bool UniValue::setInt ( int  val_)
inline

Definition at line 59 of file univalue.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setNull()

bool UniValue::setNull ( )

Definition at line 23 of file univalue.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setNumStr()

bool UniValue::setNumStr ( const std::string &  val)

Definition at line 46 of file univalue.cpp.

Here is the caller graph for this function:

◆ setObject()

bool UniValue::setObject ( )

Definition at line 101 of file univalue.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setStr()

bool UniValue::setStr ( const std::string &  val)

Definition at line 86 of file univalue.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ size()

size_t UniValue::size ( ) const
inline

Definition at line 69 of file univalue.h.

Here is the caller graph for this function:

◆ type()

enum VType UniValue::type ( ) const
inline

Definition at line 178 of file univalue.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ write()

std::string UniValue::write ( unsigned int  prettyIndent = 0,
unsigned int  indentLevel = 0 
) const

Definition at line 29 of file univalue_write.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeArray()

void UniValue::writeArray ( unsigned int  prettyIndent,
unsigned int  indentLevel,
std::string &  s 
) const
private

Definition at line 68 of file univalue_write.cpp.

Here is the caller graph for this function:

◆ writeObject()

void UniValue::writeObject ( unsigned int  prettyIndent,
unsigned int  indentLevel,
std::string &  s 
) const
private

Definition at line 90 of file univalue_write.cpp.

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ find_value

const UniValue& find_value ( const UniValue obj,
const std::string &  name 
)
friend

Definition at line 234 of file univalue.cpp.

Member Data Documentation

◆ keys

std::vector<std::string> UniValue::keys
private

Definition at line 158 of file univalue.h.

◆ typ

UniValue::VType UniValue::typ
private

Definition at line 156 of file univalue.h.

◆ val

std::string UniValue::val
private

Definition at line 157 of file univalue.h.

◆ values

std::vector<UniValue> UniValue::values
private

Definition at line 159 of file univalue.h.


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