Electroneum
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
crow::json::rvalue Class Reference

#include <json.h>

Collaboration diagram for crow::json::rvalue:
Collaboration graph
[legend]

Public Member Functions

 rvalue () noexcept
 
 rvalue (type t) noexcept
 
 rvalue (type t, char *s, char *e) noexcept
 
 rvalue (const rvalue &r)
 
 rvalue (rvalue &&r) noexcept
 
rvalueoperator= (const rvalue &r)
 
rvalueoperator= (rvalue &&r) noexcept
 
 operator bool () const noexcept
 
 operator int64_t () const
 
 operator uint64_t () const
 
 operator int () const
 
type t () const
 
int64_t i () const
 
uint64_t u () const
 
double d () const
 
bool b () const
 
void unescape () const
 
detail::r_string s () const
 
bool has (const char *str) const
 
bool has (const std::string &str) const
 
int count (const std::string &str)
 
rvaluebegin () const
 
rvalueend () const
 
const detail::r_stringkey () const
 
size_t size () const
 
const rvalueoperator[] (int index) const
 
const rvalueoperator[] (size_t index) const
 
const rvalueoperator[] (const char *str) const
 
const rvalueoperator[] (const std::string &str) const
 
void set_error ()
 
bool error () const
 

Private Member Functions

bool is_cached () const
 
void set_cached () const
 
void copy_l (const rvalue &r)
 
void emplace_back (rvalue &&v)
 

Private Attributes

char * start_
 
char * end_
 
detail::r_string key_
 
std::unique_ptr< rvalue[]> l_
 
uint32_t lsize_
 
uint16_t lremain_
 
type t_
 
uint8_t option_ {0}
 

Static Private Attributes

static const int cached_bit = 2
 
static const int error_bit = 4
 

Friends

rvalue load_nocopy_internal (char *data, size_t size)
 
rvalue load (const char *data, size_t size)
 
std::ostream & operator<< (std::ostream &os, const rvalue &r)
 

Constructor & Destructor Documentation

◆ rvalue() [1/5]

crow::json::rvalue::rvalue ( )
inlinenoexcept

◆ rvalue() [2/5]

crow::json::rvalue::rvalue ( type  t)
inlinenoexcept

◆ rvalue() [3/5]

crow::json::rvalue::rvalue ( type  t,
char *  s,
char *  e 
)
inlinenoexcept

◆ rvalue() [4/5]

crow::json::rvalue::rvalue ( const rvalue r)
inline

◆ rvalue() [5/5]

crow::json::rvalue::rvalue ( rvalue &&  r)
inlinenoexcept

Member Function Documentation

◆ b()

bool crow::json::rvalue::b ( ) const
inline

◆ begin()

rvalue* crow::json::rvalue::begin ( ) const
inline

◆ copy_l()

void crow::json::rvalue::copy_l ( const rvalue r)
inlineprivate

◆ count()

int crow::json::rvalue::count ( const std::string &  str)
inline

◆ d()

double crow::json::rvalue::d ( ) const
inline

◆ emplace_back()

void crow::json::rvalue::emplace_back ( rvalue &&  v)
inlineprivate

◆ end()

rvalue* crow::json::rvalue::end ( ) const
inline

◆ error()

bool crow::json::rvalue::error ( ) const
inline

◆ has() [1/2]

bool crow::json::rvalue::has ( const char *  str) const
inline

◆ has() [2/2]

bool crow::json::rvalue::has ( const std::string &  str) const
inline

◆ i()

int64_t crow::json::rvalue::i ( ) const
inline

◆ is_cached()

bool crow::json::rvalue::is_cached ( ) const
inlineprivate

◆ key()

const detail::r_string& crow::json::rvalue::key ( ) const
inline

◆ operator bool()

crow::json::rvalue::operator bool ( ) const
inlineexplicitnoexcept

◆ operator int()

crow::json::rvalue::operator int ( ) const
inlineexplicit

◆ operator int64_t()

crow::json::rvalue::operator int64_t ( ) const
inlineexplicit

◆ operator uint64_t()

crow::json::rvalue::operator uint64_t ( ) const
inlineexplicit

◆ operator=() [1/2]

rvalue& crow::json::rvalue::operator= ( const rvalue r)
inline

◆ operator=() [2/2]

rvalue& crow::json::rvalue::operator= ( rvalue &&  r)
inlinenoexcept

◆ operator[]() [1/4]

const rvalue& crow::json::rvalue::operator[] ( int  index) const
inline

◆ operator[]() [2/4]

const rvalue& crow::json::rvalue::operator[] ( size_t  index) const
inline

◆ operator[]() [3/4]

const rvalue& crow::json::rvalue::operator[] ( const char *  str) const
inline

◆ operator[]() [4/4]

const rvalue& crow::json::rvalue::operator[] ( const std::string &  str) const
inline

◆ s()

detail::r_string crow::json::rvalue::s ( ) const
inline

◆ set_cached()

void crow::json::rvalue::set_cached ( ) const
inlineprivate

◆ set_error()

void crow::json::rvalue::set_error ( )
inline

◆ size()

size_t crow::json::rvalue::size ( ) const
inline

◆ t()

type crow::json::rvalue::t ( ) const
inline

◆ u()

uint64_t crow::json::rvalue::u ( ) const
inline

◆ unescape()

void crow::json::rvalue::unescape ( ) const
inline

Friends And Related Function Documentation

◆ load

rvalue load ( const char *  data,
size_t  size 
)
friend

◆ load_nocopy_internal

rvalue load_nocopy_internal ( char *  data,
size_t  size 
)
friend

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const rvalue r 
)
friend

Member Data Documentation

◆ cached_bit

const int crow::json::rvalue::cached_bit = 2
staticprivate

◆ end_

char* crow::json::rvalue::end_
mutableprivate

◆ error_bit

const int crow::json::rvalue::error_bit = 4
staticprivate

◆ key_

detail::r_string crow::json::rvalue::key_
private

◆ l_

std::unique_ptr<rvalue[]> crow::json::rvalue::l_
private

◆ lremain_

uint16_t crow::json::rvalue::lremain_
private

◆ lsize_

uint32_t crow::json::rvalue::lsize_
private

◆ option_

uint8_t crow::json::rvalue::option_ {0}
mutableprivate

◆ start_

char* crow::json::rvalue::start_
mutableprivate

◆ t_

type crow::json::rvalue::t_
private

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