Dynalib Utils
Classes | Namespaces | Macros | Enumerations | Functions
Node.h File Reference
#include <chrono>
#include "../String.h"
#include "../DynaList.h"
#include "../DynaHashMap.h"
#include "../IntWrapper.h"
#include "../TimeUtils.h"
Include dependency graph for Node.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

union  Graph::NodeValue
 
class  Graph::Node
 

Namespaces

 Graph
 

Macros

#define MAKE_LOCAL_REF_NODE   Node(NodeType::UNTYPED, false)
 
#define NODE_GET_INIT   Node _presult = Node(NodeType::UNTYPED, false)
 
#define NODE_GET_STR(N, K, V)   if (Node::present(N, K, _presult)) { V = _presult(); }
 
#define NODE_GET_SEQ(N, K, V)   if (Node::present(N, K, _presult)) { V = _presult(); }
 
#define NODE_GET_PROPER(N, K, V)   if (Node::present(N, K, _presult)) { V = _presult(); }
 
#define NODE_GET_INT(N, K, V)   if (Node::present(N, K, _presult)) { V = _presult.asInt(); }
 
#define NODE_GET_FLOAT(N, K, V)   if (Node::present(N, K, _presult)) { V = _presult.asFloat(); }
 
#define NODE_GET_BOOL(N, K, V)   if (Node::present(N, K, _presult)) { V = _presult.asBool(); }
 
#define NODE_GET_TIME(N, K, V)   if (Node::present(N, K, _presult)) { V = _presult.asTime(); }
 
#define NODE_GET_TS(N, K, V)   if (Node::present(N, K, _presult)) { V = _presult.asTimestamp(); }
 
#define NODE_GET_DATE(N, K, V)   if (Node::present(N, K, _presult)) { V = _presult.asDate(); }
 
#define NODE_GET_LIST(N, K, V)   if (Node::present(N, K, _presult)) { V = _presult.asList(); }
 
#define NODE_GET_MAP(N, K, V)   if (Node::present(N, K, _presult)) { V = _presult.asMap(); }
 

Enumerations

enum  Graph::NodeType { Graph::NodeType::UNTYPED, Graph::NodeType::SCALAR, Graph::NodeType::LIST, Graph::NodeType::MAP }
 
enum  Graph::ScalarType {
  Graph::ScalarType::NONE, Graph::ScalarType::BOOL, Graph::ScalarType::INT, Graph::ScalarType::FLOAT,
  Graph::ScalarType::STRING, Graph::ScalarType::SEQ, Graph::ScalarType::PROPER, Graph::ScalarType::TIME,
  Graph::ScalarType::TIMESTAMP, Graph::ScalarType::DATE
}
 

Functions

 Graph::MAKE_LISTTYPE_DEF (Node, Node)
 
 Graph::MAKE_MAPTYPE_DEF (String, Node, Node)
 

Macro Definition Documentation

◆ MAKE_LOCAL_REF_NODE

#define MAKE_LOCAL_REF_NODE   Node(NodeType::UNTYPED, false)

◆ NODE_GET_BOOL

#define NODE_GET_BOOL (   N,
  K,
 
)    if (Node::present(N, K, _presult)) { V = _presult.asBool(); }

◆ NODE_GET_DATE

#define NODE_GET_DATE (   N,
  K,
 
)    if (Node::present(N, K, _presult)) { V = _presult.asDate(); }

◆ NODE_GET_FLOAT

#define NODE_GET_FLOAT (   N,
  K,
 
)    if (Node::present(N, K, _presult)) { V = _presult.asFloat(); }

◆ NODE_GET_INIT

#define NODE_GET_INIT   Node _presult = Node(NodeType::UNTYPED, false)

◆ NODE_GET_INT

#define NODE_GET_INT (   N,
  K,
 
)    if (Node::present(N, K, _presult)) { V = _presult.asInt(); }

◆ NODE_GET_LIST

#define NODE_GET_LIST (   N,
  K,
 
)    if (Node::present(N, K, _presult)) { V = _presult.asList(); }

◆ NODE_GET_MAP

#define NODE_GET_MAP (   N,
  K,
 
)    if (Node::present(N, K, _presult)) { V = _presult.asMap(); }

◆ NODE_GET_PROPER

#define NODE_GET_PROPER (   N,
  K,
 
)    if (Node::present(N, K, _presult)) { V = _presult(); }

◆ NODE_GET_SEQ

#define NODE_GET_SEQ (   N,
  K,
 
)    if (Node::present(N, K, _presult)) { V = _presult(); }

◆ NODE_GET_STR

#define NODE_GET_STR (   N,
  K,
 
)    if (Node::present(N, K, _presult)) { V = _presult(); }

◆ NODE_GET_TIME

#define NODE_GET_TIME (   N,
  K,
 
)    if (Node::present(N, K, _presult)) { V = _presult.asTime(); }

◆ NODE_GET_TS

#define NODE_GET_TS (   N,
  K,
 
)    if (Node::present(N, K, _presult)) { V = _presult.asTimestamp(); }