Commit 4aa61944 authored by Jesse Beder's avatar Jesse Beder
Browse files

Implemented is()

parent e2255092
......@@ -21,6 +21,8 @@ namespace YAML
node(): m_pRef(new node_ref) {}
ValueType::value type() const { return m_pRef->type(); }
bool is(const node& rhs) const { return m_pRef == rhs.m_pRef; }
void set_ref(const node& rhs) { m_pRef = rhs.m_pRef; }
void set_data(const node& rhs) { m_pRef->set_data(*rhs.m_pRef); }
......
......@@ -57,6 +57,11 @@ namespace YAML
}
// assignment
inline bool Value::is(const Value& rhs) const
{
return m_pNode->is(*rhs.m_pNode);
}
template<typename T>
inline Value& Value::operator=(const T& rhs)
{
......@@ -88,7 +93,7 @@ namespace YAML
inline Value& Value::operator=(const Value& rhs)
{
if(is(*this, rhs))
if(is(rhs))
return *this;
AssignNode(rhs);
return *this;
......@@ -213,7 +218,7 @@ namespace YAML
inline bool is(const Value& lhs, const Value& rhs)
{
return false;
return lhs.is(rhs);
}
}
......
......@@ -31,6 +31,7 @@ namespace YAML
template<typename T> const T as() const;
// assignment
bool is(const Value& rhs) const;
template<typename T> Value& operator=(const T& rhs);
Value& operator=(const Value& rhs);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment