mirror of
https://github.com/jbeder/yaml-cpp.git
synced 2025-09-09 20:51:16 +00:00
Rename clear() to reset(), and it now takes an optional node parameter.
This commit is contained in:
@@ -168,9 +168,10 @@ namespace YAML
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline void Node::clear()
|
||||
inline void Node::reset(const YAML::Node& rhs)
|
||||
{
|
||||
m_pNode = NULL;
|
||||
m_pMemory = rhs.m_pMemory;
|
||||
m_pNode = rhs.m_pNode;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
|
@@ -56,7 +56,7 @@ namespace YAML
|
||||
bool is(const Node& rhs) const;
|
||||
template<typename T> Node& operator=(const T& rhs);
|
||||
Node& operator=(const Node& rhs);
|
||||
void clear();
|
||||
void reset(const Node& rhs = Node());
|
||||
|
||||
// size/iterator
|
||||
std::size_t size() const;
|
||||
|
@@ -444,12 +444,17 @@ namespace Test
|
||||
return true;
|
||||
}
|
||||
|
||||
TEST ClearNode()
|
||||
TEST ResetNode()
|
||||
{
|
||||
YAML::Node node = YAML::Load("[1, 2, 3]");
|
||||
YAML_ASSERT(!node.IsNull());
|
||||
node.clear();
|
||||
YAML::Node other = node;
|
||||
node.reset();
|
||||
YAML_ASSERT(node.IsNull());
|
||||
YAML_ASSERT(!other.IsNull());
|
||||
node.reset(other);
|
||||
YAML_ASSERT(!node.IsNull());
|
||||
YAML_ASSERT(other == node);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -510,7 +515,7 @@ namespace Test
|
||||
RunNodeTest(&Node::CloneMap, "clone map", passed, total);
|
||||
RunNodeTest(&Node::CloneAlias, "clone alias", passed, total);
|
||||
RunNodeTest(&Node::ForceInsertIntoMap, "force insert into map", passed, total);
|
||||
RunNodeTest(&Node::ClearNode, "clear node", passed, total);
|
||||
RunNodeTest(&Node::ResetNode, "reset node", passed, total);
|
||||
|
||||
std::cout << "Node tests: " << passed << "/" << total << " passed\n";
|
||||
return passed == total;
|
||||
|
Reference in New Issue
Block a user