mirror of
https://github.com/jbeder/yaml-cpp.git
synced 2025-09-09 12:41:17 +00:00
Added append()
This commit is contained in:
@@ -32,6 +32,8 @@ namespace YAML
|
||||
void set_type(ValueType::value type) { m_pRef->set_type(type); }
|
||||
void set_null() { m_pRef->set_null(); }
|
||||
void set_scalar(const std::string& scalar) { m_pRef->set_scalar(scalar); }
|
||||
|
||||
void append(node& node, shared_memory_holder pMemory) { m_pRef->append(node, pMemory); }
|
||||
|
||||
// indexing
|
||||
template<typename Key> node& get(const Key& key, shared_memory_holder pMemory) const { return static_cast<const node_ref&>(*m_pRef).get(key, pMemory); }
|
||||
|
@@ -30,6 +30,8 @@ namespace YAML
|
||||
ValueType::value type() const { return m_isDefined ? m_type : ValueType::Undefined; }
|
||||
const std::string& scalar() const { return m_scalar; }
|
||||
|
||||
void append(node& node, shared_memory_holder pMemory);
|
||||
|
||||
// indexing
|
||||
template<typename Key> node& get(const Key& key, shared_memory_holder pMemory) const;
|
||||
template<typename Key> node& get(const Key& key, shared_memory_holder pMemory);
|
||||
|
@@ -30,6 +30,8 @@ namespace YAML
|
||||
void set_null() { m_pData->set_null(); }
|
||||
void set_scalar(const std::string& scalar) { m_pData->set_scalar(scalar); }
|
||||
|
||||
void append(node& node, shared_memory_holder pMemory) { m_pData->append(node, pMemory); }
|
||||
|
||||
// indexing
|
||||
template<typename Key> node& get(const Key& key, shared_memory_holder pMemory) const { return static_cast<const node_data&>(*m_pData).get(key, pMemory); }
|
||||
template<typename Key> node& get(const Key& key, shared_memory_holder pMemory) { return m_pData->get(key, pMemory); }
|
||||
|
@@ -150,6 +150,19 @@ namespace YAML
|
||||
return iterator();
|
||||
}
|
||||
|
||||
// sequence
|
||||
template<typename T>
|
||||
inline void Value::append(const T& rhs)
|
||||
{
|
||||
append(Value(rhs));
|
||||
}
|
||||
|
||||
inline void Value::append(const Value& rhs)
|
||||
{
|
||||
m_pNode->append(*rhs.m_pNode, m_pMemory);
|
||||
m_pMemory->merge(*rhs.m_pMemory);
|
||||
}
|
||||
|
||||
// indexing
|
||||
template<typename Key>
|
||||
inline const Value Value::operator[](const Key& key) const
|
||||
|
@@ -45,6 +45,10 @@ namespace YAML
|
||||
const_iterator end() const;
|
||||
iterator end();
|
||||
|
||||
// sequence
|
||||
template<typename T> void append(const T& rhs);
|
||||
void append(const Value& rhs);
|
||||
|
||||
// indexing
|
||||
template<typename Key> const Value operator[](const Key& key) const;
|
||||
template<typename Key> Value operator[](const Key& key);
|
||||
|
Reference in New Issue
Block a user