yaml-cpp/src/memory.cpp

32 lines
686 B
C++
Raw Normal View History

#include "yaml-cpp/node/detail/memory.h"
2014-03-23 08:14:48 +04:00
#include "yaml-cpp/node/detail/node.h" // IWYU pragma: keep
#include "yaml-cpp/node/ptr.h"
2014-03-22 22:05:03 +04:00
namespace YAML {
namespace detail {
2014-03-23 08:14:48 +04:00
typedef ref_holder<node> node_ref;
2014-03-22 22:05:03 +04:00
void memory_holder::merge(memory_holder& rhs) {
if (m_pMemory == rhs.m_pMemory)
return;
m_pMemory->merge(std::move(*rhs.m_pMemory));
2014-03-22 22:05:03 +04:00
rhs.m_pMemory = m_pMemory;
}
node& memory::create_node() {
m_nodes.emplace_back();
return m_nodes.back();
2014-03-22 22:05:03 +04:00
}
void memory::merge(memory&& rhs) { m_nodes.splice(m_nodes.end(), rhs.m_nodes); }
memory_holder::memory_holder() : m_pMemory(new memory) {}
memory_holder::~memory_holder() {}
memory::memory() {}
memory::~memory() {}
2014-03-22 22:05:03 +04:00
}
}