Dynalib Utils
Public Member Functions | Static Public Member Functions | List of all members
Graph::Node Class Reference

#include <Node.h>

Inheritance diagram for Graph::Node:
Inheritance graph
[legend]
Collaboration diagram for Graph::Node:
Collaboration graph
[legend]

Public Member Functions

 Node ()
 
 Node (NodeType type, bool ownsData=true)
 
 Node (const char *value, bool ownsData=true)
 
 Node (int value, bool ownsData=true)
 
 Node (long long value, bool ownsData=true)
 
virtual ~Node ()
 
 Node (const Node &other)
 
Nodecopy () override
 
void setOwnsData (bool ownsData)
 
bool isOwnsData ()
 
Stringkey () const
 
NodeValuevalue ()
 
const NodeType type () const
 
const ScalarType scalarType () const
 
Nodereset ()
 
NodeList & list () const
 
NodeMap & map () const
 
NodelistElem (int index, bool throwInvalid=false) const
 
NodemapElem (const String &key, bool throwInvalid=false) const
 
Nodeoperator() (int index)
 
const Nodeoperator() (int index) const
 
Nodeoperator() (const String &key)
 
const Nodeoperator() (const String &key) const
 
const String operator() () const
 
Nodeoperator[] (int index)
 
const Nodeoperator[] (int index) const
 
Nodeoperator[] (const String &key)
 
const Nodeoperator[] (const String &key) const
 
Nodeoperator= (const char *value)
 
Nodeoperator= (const String &value)
 
Nodeoperator= (nullptr_t value)
 
Nodeoperator= (bool value)
 
Nodeoperator= (char value)
 
Nodeoperator= (int value)
 
Nodeoperator= (long long value)
 
Nodeoperator= (float value)
 
Nodeoperator= (long double value)
 
Nodeoperator= (system_clock::time_point value)
 
Nodeoperator= (Time value)
 
Nodeoperator= (Timestamp value)
 
Nodeoperator+= (const char *value)
 
Nodeoperator+= (const String &value)
 
Nodeoperator+= (nullptr_t value)
 
Nodeoperator+= (bool value)
 
Nodeoperator+= (char value)
 
Nodeoperator+= (int value)
 
Nodeoperator+= (long long value)
 
Nodeoperator+= (float value)
 
Nodeoperator+= (long double value)
 
Nodeoperator+= (system_clock::time_point value)
 
Nodeoperator+= (Time value)
 
Nodeoperator+= (Timestamp value)
 
const bool isUntyped () const
 
const bool isScalar () const
 
const bool isList () const
 
const bool isMap () const
 
const bool isBool () const
 
const bool isString () const
 
const bool isSeq () const
 
const bool isProper () const
 
const bool isInt () const
 
const bool isFloat () const
 
const bool isTime () const
 
const bool isTimestamp () const
 
const bool isDate () const
 
const String asString () const
 
const bool asBool () const
 
const long long asInt () const
 
const long double asFloat () const
 
const String asNullPtr () const
 
const system_clock::time_point asTime () const
 
const system_clock::time_point asTimestamp () const
 
const system_clock::time_point asDate () const
 
void setUntypedNode ()
 
void setNode (const Node &other)
 
void setScalar (const char *value, ScalarType strType=ScalarType::STRING)
 
void setScalar (bool value)
 
void setScalar (long long value)
 
void setScalar (long double value)
 
void setScalar (system_clock::time_point &value, ScalarType timeType)
 
void setList ()
 
void setMap ()
 
NodeaddNode (Node *node)
 
NodeaddUntypedNode ()
 
NodeaddNode (const String &key, Node *node, bool append=true)
 
NodeaddUntypedNode (const String &key, bool append=true)
 
NodeaddScalar (const char *value, ScalarType strType=ScalarType::STRING)
 
NodeaddScalar (bool value)
 
NodeaddScalar (long long value)
 
NodeaddScalar (long double value)
 
NodeaddScalar (system_clock::time_point &value, ScalarType timeType)
 
NodeaddList ()
 
NodeaddMap ()
 
NodeaddScalar (const String &key, const char *value, ScalarType strType=ScalarType::STRING)
 
NodeaddScalar (const String &key, bool value)
 
NodeaddScalar (const String &key, long long value)
 
NodeaddScalar (const String &key, long double value)
 
NodeaddScalar (const String &key, system_clock::time_point &value, ScalarType timeType)
 
NodeaddList (const String &key)
 
NodeaddMap (const String &key)
 
int hashCode () const override
 
bool operator== (const Node &other) const override
 
- Public Member Functions inherited from IHashable< Node >
 IHashable ()=default
 
virtual ~IHashable ()=default
 
- Public Member Functions inherited from IComparable< Node >
 IComparable ()=default
 
virtual ~IComparable ()=default
 
virtual bool operator== (const Node &other) const=0
 
- Public Member Functions inherited from ICopyable< Node >
 ICopyable ()=default
 
virtual ~ICopyable ()=default
 

Static Public Member Functions

static bool present (const Node &node, const String &fldName, Node &result)
 
static int getListLeadingScalarCount (const Node &node)
 
static NodenewUntypedNode ()
 

Constructor & Destructor Documentation

◆ Node() [1/6]

Graph::Node::Node ( )

◆ Node() [2/6]

Graph::Node::Node ( NodeType  type,
bool  ownsData = true 
)
explicit

◆ Node() [3/6]

Graph::Node::Node ( const char *  value,
bool  ownsData = true 
)

◆ Node() [4/6]

Graph::Node::Node ( int  value,
bool  ownsData = true 
)

◆ Node() [5/6]

Graph::Node::Node ( long long  value,
bool  ownsData = true 
)

◆ ~Node()

Graph::Node::~Node ( )
virtual

◆ Node() [6/6]

Graph::Node::Node ( const Node other)

Member Function Documentation

◆ addList() [1/2]

Node * Graph::Node::addList ( )

◆ addList() [2/2]

Node * Graph::Node::addList ( const String key)

◆ addMap() [1/2]

Node * Graph::Node::addMap ( )

◆ addMap() [2/2]

Node * Graph::Node::addMap ( const String key)

◆ addNode() [1/2]

Node * Graph::Node::addNode ( Node node)

◆ addNode() [2/2]

Node * Graph::Node::addNode ( const String key,
Node node,
bool  append = true 
)

◆ addScalar() [1/10]

Node * Graph::Node::addScalar ( const char *  value,
ScalarType  strType = ScalarType::STRING 
)

◆ addScalar() [2/10]

Node * Graph::Node::addScalar ( bool  value)

◆ addScalar() [3/10]

Node * Graph::Node::addScalar ( long long  value)

◆ addScalar() [4/10]

Node * Graph::Node::addScalar ( long double  value)

◆ addScalar() [5/10]

Node * Graph::Node::addScalar ( system_clock::time_point &  value,
ScalarType  timeType 
)

◆ addScalar() [6/10]

Node * Graph::Node::addScalar ( const String key,
const char *  value,
ScalarType  strType = ScalarType::STRING 
)

◆ addScalar() [7/10]

Node * Graph::Node::addScalar ( const String key,
bool  value 
)

◆ addScalar() [8/10]

Node * Graph::Node::addScalar ( const String key,
long long  value 
)

◆ addScalar() [9/10]

Node * Graph::Node::addScalar ( const String key,
long double  value 
)

◆ addScalar() [10/10]

Node * Graph::Node::addScalar ( const String key,
system_clock::time_point &  value,
ScalarType  timeType 
)

◆ addUntypedNode() [1/2]

Node * Graph::Node::addUntypedNode ( )

◆ addUntypedNode() [2/2]

Node * Graph::Node::addUntypedNode ( const String key,
bool  append = true 
)

◆ asBool()

const bool Graph::Node::asBool ( ) const

◆ asDate()

const system_clock::time_point Graph::Node::asDate ( ) const

◆ asFloat()

const long double Graph::Node::asFloat ( ) const

◆ asInt()

const long long Graph::Node::asInt ( ) const

◆ asNullPtr()

const String Graph::Node::asNullPtr ( ) const

◆ asString()

const String Graph::Node::asString ( ) const

◆ asTime()

const system_clock::time_point Graph::Node::asTime ( ) const

◆ asTimestamp()

const system_clock::time_point Graph::Node::asTimestamp ( ) const

◆ copy()

Node * Graph::Node::copy ( )
overridevirtual

Implements ICopyable< Node >.

◆ getListLeadingScalarCount()

int Graph::Node::getListLeadingScalarCount ( const Node node)
static

◆ hashCode()

int Graph::Node::hashCode ( ) const
overridevirtual

Implements IHashable< Node >.

◆ isBool()

const bool Graph::Node::isBool ( ) const

◆ isDate()

const bool Graph::Node::isDate ( ) const

◆ isFloat()

const bool Graph::Node::isFloat ( ) const

◆ isInt()

const bool Graph::Node::isInt ( ) const

◆ isList()

const bool Graph::Node::isList ( ) const

◆ isMap()

const bool Graph::Node::isMap ( ) const

◆ isOwnsData()

bool Graph::Node::isOwnsData ( )

◆ isProper()

const bool Graph::Node::isProper ( ) const

◆ isScalar()

const bool Graph::Node::isScalar ( ) const

◆ isSeq()

const bool Graph::Node::isSeq ( ) const

◆ isString()

const bool Graph::Node::isString ( ) const

◆ isTime()

const bool Graph::Node::isTime ( ) const

◆ isTimestamp()

const bool Graph::Node::isTimestamp ( ) const

◆ isUntyped()

const bool Graph::Node::isUntyped ( ) const

◆ key()

String * Graph::Node::key ( ) const

◆ list()

NodeList & Graph::Node::list ( ) const

◆ listElem()

Node * Graph::Node::listElem ( int  index,
bool  throwInvalid = false 
) const

◆ map()

NodeMap & Graph::Node::map ( ) const

◆ mapElem()

Node * Graph::Node::mapElem ( const String key,
bool  throwInvalid = false 
) const

◆ newUntypedNode()

Node * Graph::Node::newUntypedNode ( )
static

◆ operator()() [1/5]

Node * Graph::Node::operator() ( int  index)

◆ operator()() [2/5]

const Node * Graph::Node::operator() ( int  index) const

◆ operator()() [3/5]

Node * Graph::Node::operator() ( const String key)

◆ operator()() [4/5]

const Node * Graph::Node::operator() ( const String key) const

◆ operator()() [5/5]

const String Graph::Node::operator() ( ) const

◆ operator+=() [1/12]

Node & Graph::Node::operator+= ( const char *  value)

◆ operator+=() [2/12]

Node & Graph::Node::operator+= ( const String value)

◆ operator+=() [3/12]

Node & Graph::Node::operator+= ( nullptr_t  value)

◆ operator+=() [4/12]

Node & Graph::Node::operator+= ( bool  value)

◆ operator+=() [5/12]

Node & Graph::Node::operator+= ( char  value)

◆ operator+=() [6/12]

Node & Graph::Node::operator+= ( int  value)

◆ operator+=() [7/12]

Node & Graph::Node::operator+= ( long long  value)

◆ operator+=() [8/12]

Node & Graph::Node::operator+= ( float  value)

◆ operator+=() [9/12]

Node & Graph::Node::operator+= ( long double  value)

◆ operator+=() [10/12]

Node & Graph::Node::operator+= ( system_clock::time_point  value)

◆ operator+=() [11/12]

Node & Graph::Node::operator+= ( Time  value)

◆ operator+=() [12/12]

Node & Graph::Node::operator+= ( Timestamp  value)

◆ operator=() [1/12]

Node & Graph::Node::operator= ( const char *  value)

◆ operator=() [2/12]

Node & Graph::Node::operator= ( const String value)

◆ operator=() [3/12]

Node & Graph::Node::operator= ( nullptr_t  value)

◆ operator=() [4/12]

Node & Graph::Node::operator= ( bool  value)

◆ operator=() [5/12]

Node & Graph::Node::operator= ( char  value)

◆ operator=() [6/12]

Node & Graph::Node::operator= ( int  value)

◆ operator=() [7/12]

Node & Graph::Node::operator= ( long long  value)

◆ operator=() [8/12]

Node & Graph::Node::operator= ( float  value)

◆ operator=() [9/12]

Node & Graph::Node::operator= ( long double  value)

◆ operator=() [10/12]

Node & Graph::Node::operator= ( system_clock::time_point  value)

◆ operator=() [11/12]

Node & Graph::Node::operator= ( Time  value)

◆ operator=() [12/12]

Node & Graph::Node::operator= ( Timestamp  value)

◆ operator==()

bool Graph::Node::operator== ( const Node other) const
override

◆ operator[]() [1/4]

Node & Graph::Node::operator[] ( int  index)

◆ operator[]() [2/4]

const Node & Graph::Node::operator[] ( int  index) const

◆ operator[]() [3/4]

Node & Graph::Node::operator[] ( const String key)

◆ operator[]() [4/4]

const Node & Graph::Node::operator[] ( const String key) const

◆ present()

bool Graph::Node::present ( const Node node,
const String fldName,
Node result 
)
static

◆ reset()

Node & Graph::Node::reset ( )

◆ scalarType()

const ScalarType Graph::Node::scalarType ( ) const

◆ setList()

void Graph::Node::setList ( )

◆ setMap()

void Graph::Node::setMap ( )

◆ setNode()

void Graph::Node::setNode ( const Node other)

◆ setOwnsData()

void Graph::Node::setOwnsData ( bool  ownsData)

◆ setScalar() [1/5]

void Graph::Node::setScalar ( const char *  value,
ScalarType  strType = ScalarType::STRING 
)

◆ setScalar() [2/5]

void Graph::Node::setScalar ( bool  value)

◆ setScalar() [3/5]

void Graph::Node::setScalar ( long long  value)

◆ setScalar() [4/5]

void Graph::Node::setScalar ( long double  value)

◆ setScalar() [5/5]

void Graph::Node::setScalar ( system_clock::time_point &  value,
ScalarType  timeType 
)

◆ setUntypedNode()

void Graph::Node::setUntypedNode ( )

◆ type()

const NodeType Graph::Node::type ( ) const

◆ value()

NodeValue & Graph::Node::value ( )

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