mirror of
https://github.com/jbeder/yaml-cpp.git
synced 2025-09-09 12:41:17 +00:00
Updated the node/value classes with the new iterators, they compile until we try to instantiate anything
This commit is contained in:
@@ -38,11 +38,11 @@ namespace YAML
|
||||
// size/iterator
|
||||
std::size_t size() const { return m_pRef->size(); }
|
||||
|
||||
const_iterator begin(shared_memory_holder pMemory) const { return static_cast<const node_ref&>(*m_pRef).begin(pMemory); }
|
||||
iterator begin(shared_memory_holder pMemory) { return m_pRef->begin(pMemory); }
|
||||
const_node_iterator begin() const { return static_cast<const node_ref&>(*m_pRef).begin(); }
|
||||
node_iterator begin() { return m_pRef->begin(); }
|
||||
|
||||
const_iterator end(shared_memory_holder pMemory) const { return static_cast<const node_ref&>(*m_pRef).end(pMemory); }
|
||||
iterator end(shared_memory_holder pMemory) { return m_pRef->end(pMemory); }
|
||||
const_node_iterator end() const { return static_cast<const node_ref&>(*m_pRef).end(); }
|
||||
node_iterator end() { return m_pRef->end(); }
|
||||
|
||||
// sequence
|
||||
void append(node& node, shared_memory_holder pMemory) { m_pRef->append(node, pMemory); }
|
||||
|
@@ -34,11 +34,11 @@ namespace YAML
|
||||
// size/iterator
|
||||
std::size_t size() const;
|
||||
|
||||
const_iterator begin(shared_memory_holder pMemory) const;
|
||||
iterator begin(shared_memory_holder pMemory);
|
||||
const_node_iterator begin() const;
|
||||
node_iterator begin();
|
||||
|
||||
const_iterator end(shared_memory_holder pMemory) const;
|
||||
iterator end(shared_memory_holder pMemory);
|
||||
const_node_iterator end() const;
|
||||
node_iterator end();
|
||||
|
||||
// sequence
|
||||
void append(node& node, shared_memory_holder pMemory);
|
||||
|
@@ -33,11 +33,11 @@ namespace YAML
|
||||
// size/iterator
|
||||
std::size_t size() const { return m_pData ? m_pData->size() : 0; }
|
||||
|
||||
const_iterator begin(shared_memory_holder pMemory) const { return m_pData ? static_cast<const node_data&>(*m_pData).begin(pMemory) : const_iterator(); }
|
||||
iterator begin(shared_memory_holder pMemory) {return m_pData ? m_pData->begin(pMemory) : iterator(); }
|
||||
const_node_iterator begin() const { return m_pData ? static_cast<const node_data&>(*m_pData).begin() : const_node_iterator(); }
|
||||
node_iterator begin() {return m_pData ? m_pData->begin() : node_iterator(); }
|
||||
|
||||
const_iterator end(shared_memory_holder pMemory) const { return m_pData ? static_cast<const node_data&>(*m_pData).end(pMemory) : const_iterator(); }
|
||||
iterator end(shared_memory_holder pMemory) {return m_pData ? m_pData->end(pMemory) : iterator(); }
|
||||
const_node_iterator end() const { return m_pData ? static_cast<const node_data&>(*m_pData).end() : const_node_iterator(); }
|
||||
node_iterator end() {return m_pData ? m_pData->end() : node_iterator(); }
|
||||
|
||||
// sequence
|
||||
void append(node& node, shared_memory_holder pMemory) { ensure_data_exists(); m_pData->append(node, pMemory); }
|
||||
|
@@ -133,22 +133,22 @@ namespace YAML
|
||||
|
||||
inline const_iterator Value::begin() const
|
||||
{
|
||||
return static_cast<const detail::node&>(*m_pNode).begin(m_pMemory);
|
||||
return const_iterator(m_pNode->begin(), m_pMemory);
|
||||
}
|
||||
|
||||
inline iterator Value::begin()
|
||||
{
|
||||
return m_pNode->begin(m_pMemory);
|
||||
return iterator(m_pNode->begin(), m_pMemory);
|
||||
}
|
||||
|
||||
inline const_iterator Value::end() const
|
||||
{
|
||||
return static_cast<const detail::node&>(*m_pNode).end(m_pMemory);
|
||||
return const_iterator(m_pNode->end(), m_pMemory);
|
||||
}
|
||||
|
||||
inline iterator Value::end()
|
||||
{
|
||||
return m_pNode->end(m_pMemory);
|
||||
return iterator(m_pNode->end(), m_pMemory);
|
||||
}
|
||||
|
||||
// sequence
|
||||
|
@@ -66,39 +66,39 @@ namespace YAML
|
||||
return 0;
|
||||
}
|
||||
|
||||
const_iterator node_data::begin(shared_memory_holder pMemory) const
|
||||
const_node_iterator node_data::begin() const
|
||||
{
|
||||
switch(m_type) {
|
||||
case ValueType::Sequence: return const_iterator(pMemory, m_sequence.begin());
|
||||
case ValueType::Map: return const_iterator(pMemory, m_map.begin());
|
||||
default: return const_iterator();
|
||||
case ValueType::Sequence: return const_node_iterator(m_sequence.begin());
|
||||
case ValueType::Map: return const_node_iterator(m_map.begin());
|
||||
default: return const_node_iterator();
|
||||
}
|
||||
}
|
||||
|
||||
iterator node_data::begin(shared_memory_holder pMemory)
|
||||
node_iterator node_data::begin()
|
||||
{
|
||||
switch(m_type) {
|
||||
case ValueType::Sequence: return iterator(pMemory, m_sequence.begin());
|
||||
case ValueType::Map: return iterator(pMemory, m_map.begin());
|
||||
default: return iterator();
|
||||
case ValueType::Sequence: return node_iterator(m_sequence.begin());
|
||||
case ValueType::Map: return node_iterator(m_map.begin());
|
||||
default: return node_iterator();
|
||||
}
|
||||
}
|
||||
|
||||
const_iterator node_data::end(shared_memory_holder pMemory) const
|
||||
const_node_iterator node_data::end() const
|
||||
{
|
||||
switch(m_type) {
|
||||
case ValueType::Sequence: return const_iterator(pMemory, m_sequence.end());
|
||||
case ValueType::Map: return const_iterator(pMemory, m_map.end());
|
||||
default: return const_iterator();
|
||||
case ValueType::Sequence: return const_node_iterator(m_sequence.end());
|
||||
case ValueType::Map: return const_node_iterator(m_map.end());
|
||||
default: return const_node_iterator();
|
||||
}
|
||||
}
|
||||
|
||||
iterator node_data::end(shared_memory_holder pMemory)
|
||||
node_iterator node_data::end()
|
||||
{
|
||||
switch(m_type) {
|
||||
case ValueType::Sequence: return iterator(pMemory, m_sequence.end());
|
||||
case ValueType::Map: return iterator(pMemory, m_map.end());
|
||||
default: return iterator();
|
||||
case ValueType::Sequence: return node_iterator(m_sequence.end());
|
||||
case ValueType::Map: return node_iterator(m_map.end());
|
||||
default: return node_iterator();
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -3,7 +3,10 @@
|
||||
|
||||
int main()
|
||||
{
|
||||
YAML::Value value = YAML::Parse("foo: bar");
|
||||
YAML::Value value = YAML::Parse("{foo: bar, monkey: value}");
|
||||
for(YAML::const_iterator it=value.begin();it!=value.end();++it) {
|
||||
std::cout << it->first.as<std::string>() << " -> " << it->second.as<std::string>() << "\n";
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user