Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
YAML_PM::Node Class Reference

#include <node.h>

Inheritance diagram for YAML_PM::Node:
Inheritance graph
[legend]

Public Member Functions

Iterator begin () const
 
void Clear ()
 
std::auto_ptr< NodeClone () const
 
int Compare (const Node &rhs) const
 
void EmitEvents (AliasManager &am, EventHandler &eventHandler) const
 
void EmitEvents (EventHandler &eventHandler) const
 
Iterator end () const
 
const NodeFindValue (char *key) const
 
const NodeFindValue (const char *key) const
 
template<typename T >
const NodeFindValue (const T &key) const
 
const Mark GetMark () const
 
bool GetScalar (std::string &s) const
 
bool IsAliased () const
 
 Node ()
 
const Nodeoperator[] (char *key) const
 
const Nodeoperator[] (const char *key) const
 
template<typename T >
const Nodeoperator[] (const T &key) const
 
template<typename T >
bool Read (T &value) const
 
std::size_t size () const
 
const std::string & Tag () const
 
template<typename T >
const T to () const
 
NodeType::value Type () const
 
 ~Node ()
 

Private Types

typedef std::map< Node *, Node *, ltnodenode_map
 
typedef std::vector< Node * > node_seq
 

Private Member Functions

void Append (Node &node)
 
NodeCreateNode ()
 
const NodeFindAtIndex (std::size_t i) const
 
template<typename T >
const NodeFindValueForKey (const T &key) const
 
template<typename T >
const NodeGetValue (const T &key) const
 
void Init (NodeType::value type, const Mark &mark, const std::string &tag)
 
void Insert (Node &key, Node &value)
 
void MarkAsAliased ()
 
 Node (NodeOwnership &owner)
 
void SetScalarData (const std::string &data)
 
- Private Member Functions inherited from YAML_PM::noncopyable
 noncopyable ()
 
 ~noncopyable ()
 

Private Attributes

node_map m_mapData
 
Mark m_mark
 
std::auto_ptr< NodeOwnershipm_pOwnership
 
std::string m_scalarData
 
node_seq m_seqData
 
std::string m_tag
 
NodeType::value m_type
 

Friends

template<typename , bool >
struct _FindFromNodeAtIndex
 
class NodeBuilder
 
class NodeOwnership
 
bool operator< (const Node &n1, const Node &n2)
 
YAML_CPP_API Emitteroperator<< (Emitter &out, const Node &node)
 
template<typename T >
YAML_CPP_API enable_if< is_scalar_convertible< T > >::type operator>> (const Node &node, T &value)
 

Detailed Description

Definition at line 33 of file node.h.

Member Typedef Documentation

◆ node_map

typedef std::map<Node *, Node *, ltnode> YAML_PM::Node::node_map
private

Definition at line 123 of file node.h.

◆ node_seq

typedef std::vector<Node *> YAML_PM::Node::node_seq
private

Definition at line 122 of file node.h.

Constructor & Destructor Documentation

◆ Node() [1/2]

YAML_PM::Node::Node ( )

Definition at line 21 of file node.cpp.

◆ ~Node()

YAML_PM::Node::~Node ( )

Definition at line 29 of file node.cpp.

◆ Node() [2/2]

YAML_PM::Node::Node ( NodeOwnership owner)
explicitprivate

Definition at line 25 of file node.cpp.

Member Function Documentation

◆ Append()

void YAML_PM::Node::Append ( Node node)
private

Definition at line 127 of file node.cpp.

◆ begin()

Iterator YAML_PM::Node::begin ( ) const

Definition at line 141 of file node.cpp.

◆ Clear()

void YAML_PM::Node::Clear ( )

Definition at line 34 of file node.cpp.

◆ Clone()

std::auto_ptr< Node > YAML_PM::Node::Clone ( ) const

Definition at line 54 of file node.cpp.

◆ Compare()

int YAML_PM::Node::Compare ( const Node rhs) const

Definition at line 226 of file node.cpp.

◆ CreateNode()

Node & YAML_PM::Node::CreateNode ( )
private

Definition at line 49 of file node.cpp.

◆ EmitEvents() [1/2]

void YAML_PM::Node::EmitEvents ( AliasManager am,
EventHandler eventHandler 
) const

Definition at line 70 of file node.cpp.

◆ EmitEvents() [2/2]

void YAML_PM::Node::EmitEvents ( EventHandler eventHandler) const

Definition at line 62 of file node.cpp.

◆ end()

Iterator YAML_PM::Node::end ( ) const

Definition at line 159 of file node.cpp.

◆ FindAtIndex()

const Node * YAML_PM::Node::FindAtIndex ( std::size_t  i) const
private

Definition at line 194 of file node.cpp.

◆ FindValue() [1/3]

const Node * YAML_PM::Node::FindValue ( char *  key) const
inline

Definition at line 72 of file nodeimpl.h.

◆ FindValue() [2/3]

const Node * YAML_PM::Node::FindValue ( const char *  key) const
inline

Definition at line 68 of file nodeimpl.h.

◆ FindValue() [3/3]

template<typename T >
const Node * YAML_PM::Node::FindValue ( const T &  key) const
inline

Definition at line 29 of file nodeimpl.h.

◆ FindValueForKey()

template<typename T >
const Node * YAML_PM::Node::FindValueForKey ( const T &  key) const
inlineprivate

Definition at line 44 of file nodeimpl.h.

◆ GetMark()

const Mark YAML_PM::Node::GetMark ( ) const
inline

Definition at line 51 of file node.h.

◆ GetScalar()

bool YAML_PM::Node::GetScalar ( std::string &  s) const

Definition at line 201 of file node.cpp.

◆ GetValue()

template<typename T >
const Node & YAML_PM::Node::GetValue ( const T &  key) const
inlineprivate

Definition at line 57 of file nodeimpl.h.

◆ Init()

void YAML_PM::Node::Init ( NodeType::value  type,
const Mark mark,
const std::string &  tag 
)
private

Definition at line 108 of file node.cpp.

◆ Insert()

void YAML_PM::Node::Insert ( Node key,
Node value 
)
private

Definition at line 133 of file node.cpp.

◆ IsAliased()

bool YAML_PM::Node::IsAliased ( ) const

Definition at line 44 of file node.cpp.

◆ MarkAsAliased()

void YAML_PM::Node::MarkAsAliased ( )
private

Definition at line 116 of file node.cpp.

◆ operator[]() [1/3]

const Node & YAML_PM::Node::operator[] ( char *  key) const
inline

Definition at line 80 of file nodeimpl.h.

◆ operator[]() [2/3]

const Node & YAML_PM::Node::operator[] ( const char *  key) const
inline

Definition at line 76 of file nodeimpl.h.

◆ operator[]() [3/3]

template<typename T >
const Node & YAML_PM::Node::operator[] ( const T &  key) const
inline

Definition at line 64 of file nodeimpl.h.

◆ Read()

template<typename T >
bool YAML_PM::Node::Read ( T &  value) const
inline

Definition at line 68 of file nodereadimpl.h.

◆ SetScalarData()

void YAML_PM::Node::SetScalarData ( const std::string &  data)
private

Definition at line 121 of file node.cpp.

◆ size()

std::size_t YAML_PM::Node::size ( ) const

Definition at line 178 of file node.cpp.

◆ Tag()

const std::string& YAML_PM::Node::Tag ( ) const
inline

Definition at line 85 of file node.h.

◆ to()

template<typename T >
const T YAML_PM::Node::to
inline

Definition at line 16 of file nodeimpl.h.

◆ Type()

NodeType::value YAML_PM::Node::Type ( ) const
inline

Definition at line 47 of file node.h.

Friends And Related Function Documentation

◆ _FindFromNodeAtIndex

template<typename , bool >
friend struct _FindFromNodeAtIndex
friend

Definition at line 106 of file node.h.

◆ NodeBuilder

friend class NodeBuilder
friend

Definition at line 37 of file node.h.

◆ NodeOwnership

friend class NodeOwnership
friend

Definition at line 36 of file node.h.

◆ operator<

bool operator< ( const Node n1,
const Node n2 
)
friend

Definition at line 265 of file node.cpp.

◆ operator<<

YAML_CPP_API Emitter& operator<< ( Emitter out,
const Node node 
)
friend

Definition at line 219 of file node.cpp.

◆ operator>>

template<typename T >
YAML_CPP_API enable_if<is_scalar_convertible<T> >::type operator>> ( const Node node,
T &  value 
)
friend

Definition at line 23 of file nodeimpl.h.

Member Data Documentation

◆ m_mapData

node_map YAML_PM::Node::m_mapData
private

Definition at line 128 of file node.h.

◆ m_mark

Mark YAML_PM::Node::m_mark
private

Definition at line 119 of file node.h.

◆ m_pOwnership

std::auto_ptr<NodeOwnership> YAML_PM::Node::m_pOwnership
private

Definition at line 117 of file node.h.

◆ m_scalarData

std::string YAML_PM::Node::m_scalarData
private

Definition at line 126 of file node.h.

◆ m_seqData

node_seq YAML_PM::Node::m_seqData
private

Definition at line 127 of file node.h.

◆ m_tag

std::string YAML_PM::Node::m_tag
private

Definition at line 120 of file node.h.

◆ m_type

NodeType::value YAML_PM::Node::m_type
private

Definition at line 125 of file node.h.


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


mp2p_icp
Author(s):
autogenerated on Fri Dec 20 2024 03:46:01