memory.cpp 584 B

1234567891011121314151617181920212223242526
  1. #include "yaml-cpp/node/detail/memory.h"
  2. #include "yaml-cpp/node/detail/node.h" // IWYU pragma: keep
  3. #include "yaml-cpp/node/ptr.h"
  4. namespace YAML {
  5. namespace detail {
  6. void memory_holder::merge(memory_holder& rhs) {
  7. if (m_pMemory == rhs.m_pMemory)
  8. return;
  9. m_pMemory->merge(*rhs.m_pMemory);
  10. rhs.m_pMemory = m_pMemory;
  11. }
  12. node& memory::create_node() {
  13. shared_node pNode(new node);
  14. m_nodes.insert(pNode);
  15. return *pNode;
  16. }
  17. void memory::merge(const memory& rhs) {
  18. m_nodes.insert(rhs.m_nodes.begin(), rhs.m_nodes.end());
  19. }
  20. } // namespace detail
  21. } // namespace YAML