memory.cpp 526 Bytes
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "yaml-cpp/value/detail/memory.h"
#include "yaml-cpp/value/detail/node.h"

namespace YAML
{
	namespace detail
	{
		void memory_holder::merge(memory_holder& rhs)
		{
			if(m_pMemory == rhs.m_pMemory)
				return;
			
			m_pMemory->merge(*rhs.m_pMemory);
			rhs.m_pMemory = m_pMemory;
		}
		
17
		node& memory::create_node()
18
		{
19
20
21
			shared_node pNode(new node);
			m_nodes.insert(pNode);
			return *pNode;
22
23
24
25
26
27
28
29
		}
		
		void memory::merge(const memory& rhs)
		{
			m_nodes.insert(rhs.m_nodes.begin(), rhs.m_nodes.end());
		}
	}
}