Open 3D Engine AzCore API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::Dom::JsonBackend< ParseFlags, WriteFormat > Class Template Referencefinal

#include <JsonBackend.h>

Inherits AZ::Dom::Backend.

Public Member Functions

Visitor::Result ReadFromBuffer (const char *buffer, size_t size, AZ::Dom::Lifetime lifetime, Visitor &visitor) override
 Attempt to read this format from the given buffer into the target Visitor.
 
Visitor::Result ReadFromBufferInPlace (char *buffer, AZStd::optional< size_t > size, Visitor &visitor) override
 
Visitor::Result WriteToBuffer (AZStd::string &buffer, WriteCallback callback)
 Attempt to write a value to the specified string using a write callback.
 
virtual Visitor::Result ReadFromBuffer (const char *buffer, size_t size, AZ::Dom::Lifetime lifetime, Visitor &visitor)=0
 Attempt to read this format from the given buffer into the target Visitor.
 
virtual Visitor::Result ReadFromBufferInPlace (char *buffer, AZStd::optional< size_t > size, Visitor &visitor)
 
virtual Visitor::Result WriteToBuffer (AZStd::string &buffer, WriteCallback callback)=0
 Attempt to write a value to the specified string using a write callback.
 

Additional Inherited Members

- Public Types inherited from AZ::Dom::Backend
using WriteCallback = AZStd::function< Visitor::Result(Visitor &)>
 

Detailed Description

template<Json::ParseFlags ParseFlags = Json::ParseFlags::ParseComments, Json::OutputFormatting WriteFormat = Json::OutputFormatting::PrettyPrintedJson>
class AZ::Dom::JsonBackend< ParseFlags, WriteFormat >

A DOM backend for serializing and deserializing JSON <=> UTF-8 text

Parameters
ParseFlagsControls how deserialized JSON is parsed.
WriteFormatControls how serialized JSON is formatted.

Member Function Documentation

◆ ReadFromBuffer()

template<Json::ParseFlags ParseFlags = Json::ParseFlags::ParseComments, Json::OutputFormatting WriteFormat = Json::OutputFormatting::PrettyPrintedJson>
Visitor::Result AZ::Dom::JsonBackend< ParseFlags, WriteFormat >::ReadFromBuffer ( const char *  buffer,
size_t  size,
AZ::Dom::Lifetime  lifetime,
Visitor visitor 
)
inlineoverridevirtual

Attempt to read this format from the given buffer into the target Visitor.

Implements AZ::Dom::Backend.

◆ ReadFromBufferInPlace()

template<Json::ParseFlags ParseFlags = Json::ParseFlags::ParseComments, Json::OutputFormatting WriteFormat = Json::OutputFormatting::PrettyPrintedJson>
Visitor::Result AZ::Dom::JsonBackend< ParseFlags, WriteFormat >::ReadFromBufferInPlace ( char *  buffer,
AZStd::optional< size_t >  size,
Visitor visitor 
)
inlineoverridevirtual

Attempt to read this format from a mutable string into the target Visitor. This enables some backends to parse without making additional string allocations. This string must be null terminated. This string may be modified and read in place without being copied, so when calling this please ensure that:

  • The string won't be deallocated until the visitor no longer needs the values and
  • The string is safe to modify in place. The base implementation simply calls ReadFromBuffer.

Reimplemented from AZ::Dom::Backend.

◆ WriteToBuffer()

template<Json::ParseFlags ParseFlags = Json::ParseFlags::ParseComments, Json::OutputFormatting WriteFormat = Json::OutputFormatting::PrettyPrintedJson>
Visitor::Result AZ::Dom::JsonBackend< ParseFlags, WriteFormat >::WriteToBuffer ( AZStd::string buffer,
WriteCallback  callback 
)
inlinevirtual

Attempt to write a value to the specified string using a write callback.

Implements AZ::Dom::Backend.


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