HAL
hal::JsonWriteComplex Class Referenceabstract

#include <json_write_document.h>

Inheritance diagram for hal::JsonWriteComplex:
Inheritance graph
Collaboration diagram for hal::JsonWriteComplex:
Collaboration graph

Public Member Functions

 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 finalize (JsonWriteComplex *cplx)=0
 
- Protected Member Functions inherited from hal::JsonWriteData
virtual rapidjson::Document::AllocatorType & allocator ()
 

Protected Attributes

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

Friends

class JsonWriteData
 
class JsonWriteObject
 
class JsonWriteArray
 
class JsonWriteDocument
 

Detailed Description

The JsonWriteComplex class is the abstract base class for JSON objects and arrays. Both complex types have in common that a call to close is neccessary at the end to indicate that no more content will be added to the element.

Definition at line 106 of file json_write_document.h.

Constructor & Destructor Documentation

◆ JsonWriteComplex()

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

Constructor.

Parameters
[in]tag- JSON tag name.
[in]parent- Parent instance.

Definition at line 72 of file json_write_document.cpp.

◆ ~JsonWriteComplex()

hal::JsonWriteComplex::~JsonWriteComplex ( )
virtual

Definition at line 77 of file json_write_document.cpp.

References mChildData.

Member Function Documentation

◆ close()

void hal::JsonWriteComplex::close ( )

Must be called when no more data gets added to complex JSON element

Definition at line 84 of file json_write_document.cpp.

References finalize(), and hal::JsonWriteData::mParent.

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

◆ finalize()

virtual void hal::JsonWriteComplex::finalize ( JsonWriteComplex cplx)
protectedpure virtual

Friends And Related Function Documentation

◆ JsonWriteArray

friend class JsonWriteArray
friend

◆ JsonWriteData

friend class JsonWriteData
friend

Definition at line 108 of file json_write_document.h.

◆ JsonWriteDocument

friend class JsonWriteDocument
friend

Definition at line 111 of file json_write_document.h.

◆ JsonWriteObject

friend class JsonWriteObject
friend

Member Data Documentation

◆ mChildData

◆ mRapidValue


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