HAL
hal::JsonWriteObject Class Reference

#include <json_write_document.h>

Inheritance diagram for hal::JsonWriteObject:
Inheritance graph
Collaboration diagram for hal::JsonWriteObject:
Collaboration graph

Public Member Functions

 JsonWriteObject (const std::string &tag, JsonWriteComplex *parent)
 
virtual ~JsonWriteObject ()
 
JsonWriteDataoperator[] (const std::string &tag)
 
JsonWriteObjectadd_object (const std::string &tag)
 
JsonWriteArrayadd_array (const std::string &tag)
 
- Public Member Functions inherited from hal::JsonWriteComplex
 JsonWriteComplex (const std::string &tag, JsonWriteComplex *parent)
 
virtual ~JsonWriteComplex ()
 
void close ()
 
- Public Member Functions inherited from hal::JsonWriteData
 JsonWriteData (const std::string &tag, JsonWriteComplex *parent)
 
virtual ~JsonWriteData ()
 
JsonWriteDataoperator= (const std::string &txt)
 
JsonWriteDataoperator= (int ivalue)
 
JsonWriteDataoperator= (double value)
 
JsonWriteDataoperator= (uint64_t u64Value)
 

Protected Member Functions

virtual void add_member (rapidjson::Document::ValueType &&name, rapidjson::Document::ValueType &&value, rapidjson::Document::AllocatorType &allocator)
 
virtual void finalize (JsonWriteComplex *cplx) override
 
- Protected Member Functions inherited from hal::JsonWriteData
virtual rapidjson::Document::AllocatorType & allocator ()
 

Friends

class JsonWriteData
 
class JsonWriteDocument
 

Additional Inherited Members

- Protected Attributes inherited from hal::JsonWriteComplex
std::vector< JsonWriteData * > mChildData
 
rapidjson::Value mRapidValue
 
- Protected Attributes inherited from hal::JsonWriteData
std::string mTagname
 
JsonWriteComplexmParent
 

Detailed Description

Definition at line 135 of file json_write_document.h.

Constructor & Destructor Documentation

◆ JsonWriteObject()

hal::JsonWriteObject::JsonWriteObject ( const std::string &  tag,
JsonWriteComplex parent 
)

Constructor

Parameters
[in]tagJSON tag name
[in]parentParent instance

Definition at line 90 of file json_write_document.cpp.

References hal::JsonWriteComplex::mRapidValue.

◆ ~JsonWriteObject()

virtual hal::JsonWriteObject::~JsonWriteObject ( )
inlinevirtual

Definition at line 155 of file json_write_document.h.

Member Function Documentation

◆ add_array()

JsonWriteArray & hal::JsonWriteObject::add_array ( const std::string &  tag)

Add child array

Parameters
[in]tagThe tag name for child array
Returns
The child array created by method

Definition at line 114 of file json_write_document.cpp.

References hal::JsonWriteComplex::JsonWriteArray, and hal::JsonWriteComplex::mChildData.

Referenced by hal::GroupingSerializer::serialize().

◆ add_member()

void hal::JsonWriteObject::add_member ( rapidjson::Document::ValueType &&  name,
rapidjson::Document::ValueType &&  value,
rapidjson::Document::AllocatorType &  allocator 
)
protectedvirtual

◆ add_object()

JsonWriteObject & hal::JsonWriteObject::add_object ( const std::string &  tag)

Add complex child object

Parameters
[in]tagThe tag name for child object
Returns
The child object created by method

Definition at line 107 of file json_write_document.cpp.

References hal::JsonWriteComplex::JsonWriteObject, and hal::JsonWriteComplex::mChildData.

◆ finalize()

void hal::JsonWriteObject::finalize ( JsonWriteComplex cplx)
overrideprotectedvirtual

◆ operator[]()

JsonWriteData & hal::JsonWriteObject::operator[] ( const std::string &  tag)

Bracket operator to assign named tag

Parameters
[in]tagThe tag name
Returns
The assigned JSON data instance

Definition at line 100 of file json_write_document.cpp.

References JsonWriteData, and hal::JsonWriteComplex::mChildData.

Friends And Related Function Documentation

◆ JsonWriteData

friend class JsonWriteData
friend

Definition at line 137 of file json_write_document.h.

Referenced by operator[]().

◆ JsonWriteDocument

friend class JsonWriteDocument
friend

Definition at line 138 of file json_write_document.h.


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