PTLib
Version 2.18.8
|
#include <pjson.h>
Classes | |
class | Array |
class | Base |
class | Boolean |
class | Null |
Constructor. More... | |
class | Number |
class | Object |
class | String |
Public Types | |
enum | Types { e_Object, e_Array, e_String, e_Number, e_Boolean, e_Null } |
typedef long double | NumberType |
![]() | |
enum | Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 } |
Result of the comparison operation performed by the Compare() function. More... | |
Public Member Functions | |
PJSON () | |
PJSON (Types type) | |
PJSON (const PString &str) | |
PJSON (const PJSON &other) | |
PJSON & | operator= (const PJSON &other) |
~PJSON () | |
virtual void | ReadFrom (istream &strm) |
virtual void | PrintOn (ostream &strm) const |
bool | FromString (const PString &str) |
PString | AsString (std::streamsize initialIndent=0, std::streamsize subsequentIndent=0) const |
bool | IsValid () const |
bool | IsType (Types type) const |
void | Set (Types type) |
template<class T > | |
const T & | GetAs () const |
template<class T > | |
T & | GetAs () |
const Object & | GetObject () const |
Object & | GetObject () |
const Array & | GetArray () const |
Array & | GetArray () |
const String & | GetString () const |
String & | GetString () |
const Number & | GetNumber () const |
Number & | GetNumber () |
const Boolean & | GetBoolean () const |
Boolean & | GetBoolean () |
![]() | |
__inline unsigned | GetTraceContextIdentifier () const |
Get PTRACE context identifier. More... | |
__inline void | SetTraceContextIdentifier (unsigned id) |
__inline void | SetTraceContextIdentifier (const PObject &obj) |
__inline void | SetTraceContextIdentifier (const PObject *obj) |
__inline void | CopyTraceContextIdentifier (PObject &obj) const |
__inline void | CopyTraceContextIdentifier (PObject *obj) const |
virtual | ~PObject () |
__inline const char * | GetClass () const |
__inline bool | IsClass (const char *name) const |
__inline const PObject * | PTraceObjectInstance () const |
virtual PObject * | Clone () const |
Create a copy of the class on the heap. More... | |
template<class CLS > | |
CLS * | CloneAs () const |
As for Clone() but converts to specified type. More... | |
virtual PINDEX | HashFunction () const |
This function yields a hash value required by the PDictionary class. More... | |
virtual Comparison | Compare (const PObject &obj) const |
Compare the two objects and return their relative rank. More... | |
virtual Comparison | CompareObjectMemoryDirect (const PObject &obj) const |
Determine the byte wise comparison of two objects. More... | |
bool | operator== (const PObject &obj) const |
Compare the two objects. More... | |
bool | operator!= (const PObject &obj) const |
Compare the two objects. More... | |
bool | operator< (const PObject &obj) const |
Compare the two objects. More... | |
bool | operator> (const PObject &obj) const |
Compare the two objects. More... | |
bool | operator<= (const PObject &obj) const |
Compare the two objects. More... | |
bool | operator>= (const PObject &obj) const |
Compare the two objects. More... | |
virtual void | PrintOn (ostream &strm) const |
Output the contents of the object to the stream. More... | |
virtual void | ReadFrom (istream &strm) |
Input the contents of the object from the stream. More... | |
Protected Attributes | |
Base * | m_root |
bool | m_valid |
![]() | |
unsigned | m_traceContextIdentifier |
Additional Inherited Members | |
![]() | |
static __inline void | CopyTraceContextIdentifier (PObject &to, const PObject &from) |
static __inline void | CopyTraceContextIdentifier (PObject &to, const PObject *from) |
static __inline void | CopyTraceContextIdentifier (PObject *to, const PObject &from) |
static __inline void | CopyTraceContextIdentifier (PObject *to, const PObject *from) |
static __inline const char * | Class () |
static __inline const PObject * | PTraceObjectInstance (const char *) |
static __inline const PObject * | PTraceObjectInstance (const PObject *obj) |
template<typename T > | |
static Comparison | Compare2 (T v1, T v2) |
Compare two types, returning Comparison type. More... | |
static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size) |
Internal function caled from CompareObjectMemoryDirect() More... | |
![]() | |
PObject () | |
Constructor for PObject, made protected so cannot ever create one on its own. More... | |
typedef long double PJSON::NumberType |
enum PJSON::Types |
PJSON::PJSON | ( | ) |
|
explicit |
|
explicit |
PJSON::PJSON | ( | const PJSON & | other | ) |
|
inline |
References m_root.
PString PJSON::AsString | ( | std::streamsize | initialIndent = 0 , |
std::streamsize | subsequentIndent = 0 |
||
) | const |
bool PJSON::FromString | ( | const PString & | str | ) |
|
inline |
|
inline |
|
inline |
References m_root, and PAssertNULL.
|
inline |
References m_root, and PAssertNULL.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
References m_root, and PAssertNULL.
|
inline |
References m_valid.
|
virtual |
|
virtual |
void PJSON::Set | ( | Types | type | ) |
|
protected |
Referenced by IsValid().