RetroArch
Public Member Functions | Private Member Functions | Private Attributes | List of all members
simple_json::Stream Class Reference

Public Member Functions

void begin_json_object ()
 
void end_json_object ()
 
void emit_json_key (const std::string &key)
 
void emit_json_key_value (const std::string &key, const std::string &value)
 
void emit_json_key_value (const std::string &key, bool value)
 
void emit_json_key_value (const std::string &key, uint32_t value)
 
void emit_json_key_value (const std::string &key, int32_t value)
 
void emit_json_key_value (const std::string &key, float value)
 
void emit_json_key_object (const std::string &key)
 
void emit_json_key_array (const std::string &key)
 
void begin_json_array ()
 
void end_json_array ()
 
void emit_json_array_value (const std::string &value)
 
void emit_json_array_value (uint32_t value)
 
std::string str () const
 

Private Member Functions

void statement_indent ()
 
template<typename T >
void statement_inner (T &&t)
 
template<typename T , typename... Ts>
void statement_inner (T &&t, Ts &&... ts)
 
template<typename... Ts>
void statement (Ts &&... ts)
 
template<typename... Ts>
void statement_no_return (Ts &&... ts)
 

Private Attributes

Stack stack
 
std::ostringstream buffer
 
uint32_t indent { 0 }
 

Member Function Documentation

◆ begin_json_array()

void Stream::begin_json_array ( )
Here is the call graph for this function:

◆ begin_json_object()

void Stream::begin_json_object ( )
Here is the call graph for this function:

◆ emit_json_array_value() [1/2]

void Stream::emit_json_array_value ( const std::string value)

◆ emit_json_array_value() [2/2]

void Stream::emit_json_array_value ( uint32_t  value)
Here is the call graph for this function:

◆ emit_json_key()

void Stream::emit_json_key ( const std::string key)

◆ emit_json_key_array()

void Stream::emit_json_key_array ( const std::string key)

◆ emit_json_key_object()

void Stream::emit_json_key_object ( const std::string key)

◆ emit_json_key_value() [1/5]

void Stream::emit_json_key_value ( const std::string key,
const std::string value 
)

◆ emit_json_key_value() [2/5]

void Stream::emit_json_key_value ( const std::string key,
bool  value 
)

◆ emit_json_key_value() [3/5]

void Stream::emit_json_key_value ( const std::string key,
uint32_t  value 
)

◆ emit_json_key_value() [4/5]

void Stream::emit_json_key_value ( const std::string key,
int32_t  value 
)

◆ emit_json_key_value() [5/5]

void Stream::emit_json_key_value ( const std::string key,
float  value 
)

◆ end_json_array()

void Stream::end_json_array ( )

◆ end_json_object()

void Stream::end_json_object ( )

◆ statement()

template<typename... Ts>
void simple_json::Stream::statement ( Ts &&...  ts)
inlineprivate

◆ statement_indent()

void simple_json::Stream::statement_indent ( )
inlineprivate

◆ statement_inner() [1/2]

template<typename T >
void simple_json::Stream::statement_inner ( T &&  t)
inlineprivate

◆ statement_inner() [2/2]

template<typename T , typename... Ts>
void simple_json::Stream::statement_inner ( T &&  t,
Ts &&...  ts 
)
inlineprivate

◆ statement_no_return()

template<typename... Ts>
void simple_json::Stream::statement_no_return ( Ts &&...  ts)
inlineprivate

◆ str()

std::string simple_json::Stream::str ( ) const
inline

Member Data Documentation

◆ buffer

std::ostringstream simple_json::Stream::buffer
private

◆ indent

uint32_t simple_json::Stream::indent { 0 }
private

◆ stack

Stack simple_json::Stream::stack
private

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