HAL
hal::JsonWriteDocument Class Reference

#include <json_write_document.h>

Inheritance diagram for hal::JsonWriteDocument:
Inheritance graph
Collaboration diagram for hal::JsonWriteDocument:
Collaboration graph

Public Member Functions

 JsonWriteDocument ()
 
virtual ~JsonWriteDocument ()
 
bool serialize (const std::string &filename)
 
void dump ()
 
- Public Member Functions inherited from hal::JsonWriteObject
 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 rapidjson::Document::AllocatorType & allocator () override
 
virtual void finalize (JsonWriteComplex *cplx) override
 
virtual void add_member (rapidjson::Document::ValueType &&name, rapidjson::Document::ValueType &&value, rapidjson::Document::AllocatorType &allocator) override
 
void dump (rapidjson::Value &parent)
 

Protected Attributes

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

Friends

class JsonWriteData
 

Detailed Description

Definition at line 231 of file json_write_document.h.

Constructor & Destructor Documentation

◆ JsonWriteDocument()

hal::JsonWriteDocument::JsonWriteDocument ( )

Definition at line 164 of file json_write_document.cpp.

References mRapidDocument.

◆ ~JsonWriteDocument()

virtual hal::JsonWriteDocument::~JsonWriteDocument ( )
inlinevirtual

Definition at line 247 of file json_write_document.h.

Member Function Documentation

◆ add_member()

void hal::JsonWriteDocument::add_member ( rapidjson::Document::ValueType &&  name,
rapidjson::Document::ValueType &&  value,
rapidjson::Document::AllocatorType &  allocator 
)
overrideprotectedvirtual

Reimplemented from hal::JsonWriteObject.

Definition at line 179 of file json_write_document.cpp.

References allocator(), mRapidDocument, and name.

◆ allocator()

rapidjson::Document::AllocatorType & hal::JsonWriteDocument::allocator ( )
overrideprotectedvirtual

Reimplemented from hal::JsonWriteData.

Definition at line 169 of file json_write_document.cpp.

References mRapidDocument.

Referenced by add_member(), hal::JsonWriteData::allocator(), and finalize().

◆ dump() [1/2]

void hal::JsonWriteDocument::dump ( )

Dump content for debugging purpose

Definition at line 202 of file json_write_document.cpp.

References mRapidDocument.

◆ dump() [2/2]

void hal::JsonWriteDocument::dump ( rapidjson::Value &  parent)
protected

Definition at line 207 of file json_write_document.cpp.

References UNUSED.

◆ finalize()

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

◆ serialize()

bool hal::JsonWriteDocument::serialize ( const std::string &  filename)

Serialize to file method

Parameters
[in]filenameThe output filename
Returns
true if successful, false otherwise

Definition at line 184 of file json_write_document.cpp.

References mRapidDocument, and of.

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

Friends And Related Function Documentation

◆ JsonWriteData

friend class JsonWriteData
friend

Definition at line 233 of file json_write_document.h.

Member Data Documentation

◆ mRapidDocument

rapidjson::Document hal::JsonWriteDocument::mRapidDocument
protected

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