Open Lighting Architecture  Latest Git
Public Member Functions | List of all members
ola::web::JsonValue Class Referenceabstract

Detailed Description

The base class for JSON values.

Inheritance diagram for ola::web::JsonValue:
Inheritance graph
[legend]

Public Member Functions

virtual JsonValueLookupElement (const JsonPointer &pointer)
 Locate the JsonValue referred to by the JSON Pointer.
 
virtual bool operator== (const JsonValue &other) const =0
 Equality operator. More...
 
virtual bool operator!= (const JsonValue &other) const
 Not-equals operator.
 
virtual void Accept (JsonValueVisitorInterface *visitor)=0
 The Accept method for the visitor pattern. More...
 
virtual void Accept (JsonValueConstVisitorInterface *visitor) const =0
 The Accept (const) method for the visitor pattern. More...
 
virtual JsonValueClone () const =0
 Make a copy of this JsonValue.
 

Member Function Documentation

◆ Accept() [1/2]

virtual void ola::web::JsonValue::Accept ( JsonValueVisitorInterface visitor)
pure virtual

The Accept method for the visitor pattern.

This can be used to traverse the Json Tree in a type-safe manner.

Implemented in ola::web::JsonArray, ola::web::JsonObject, ola::web::JsonRawValue, ola::web::JsonNull, ola::web::JsonBool, ola::web::JsonDouble, ola::web::JsonInt64, ola::web::JsonUInt64, ola::web::JsonInt, ola::web::JsonUInt, and ola::web::JsonString.

◆ Accept() [2/2]

virtual void ola::web::JsonValue::Accept ( JsonValueConstVisitorInterface visitor) const
pure virtual

The Accept (const) method for the visitor pattern.

This can be used to traverse the Json Tree in a type-safe manner.

Implemented in ola::web::JsonArray, ola::web::JsonObject, ola::web::JsonRawValue, ola::web::JsonNull, ola::web::JsonBool, ola::web::JsonDouble, ola::web::JsonInt64, ola::web::JsonUInt64, ola::web::JsonInt, ola::web::JsonUInt, and ola::web::JsonString.

◆ operator==()

virtual bool ola::web::JsonValue::operator== ( const JsonValue other) const
pure virtual

Equality operator.

This implements equality as defined in section 3.6 of the JSON Schema Core document.

Implemented in ola::web::JsonArray, ola::web::JsonObject, ola::web::JsonRawValue, ola::web::JsonNull, ola::web::JsonBool, ola::web::JsonDouble, ola::web::JsonInt64, ola::web::JsonUInt64, ola::web::JsonInt, ola::web::JsonUInt, and ola::web::JsonString.


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