mirror of
https://github.com/jbeder/yaml-cpp.git
synced 2025-09-09 20:51:16 +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
|
// size/iterator
|
||||||
std::size_t size() const { return m_pRef->size(); }
|
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); }
|
const_node_iterator begin() const { return static_cast<const node_ref&>(*m_pRef).begin(); }
|
||||||
iterator begin(shared_memory_holder pMemory) { return m_pRef->begin(pMemory); }
|
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); }
|
const_node_iterator end() const { return static_cast<const node_ref&>(*m_pRef).end(); }
|
||||||
iterator end(shared_memory_holder pMemory) { return m_pRef->end(pMemory); }
|
node_iterator end() { return m_pRef->end(); }
|
||||||
|
|
||||||
// sequence
|
// sequence
|
||||||
void append(node& node, shared_memory_holder pMemory) { m_pRef->append(node, pMemory); }
|
void append(node& node, shared_memory_holder pMemory) { m_pRef->append(node, pMemory); }
|
||||||
|
@@ -34,11 +34,11 @@ namespace YAML
|
|||||||
// size/iterator
|
// size/iterator
|
||||||
std::size_t size() const;
|
std::size_t size() const;
|
||||||
|
|
||||||
const_iterator begin(shared_memory_holder pMemory) const;
|
const_node_iterator begin() const;
|
||||||
iterator begin(shared_memory_holder pMemory);
|
node_iterator begin();
|
||||||
|
|
||||||
const_iterator end(shared_memory_holder pMemory) const;
|
const_node_iterator end() const;
|
||||||
iterator end(shared_memory_holder pMemory);
|
node_iterator end();
|
||||||
|
|
||||||
// sequence
|
// sequence
|
||||||
void append(node& node, shared_memory_holder pMemory);
|
void append(node& node, shared_memory_holder pMemory);
|
||||||
|
@@ -33,11 +33,11 @@ namespace YAML
|
|||||||
// size/iterator
|
// size/iterator
|
||||||
std::size_t size() const { return m_pData ? m_pData->size() : 0; }
|
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(); }
|
const_node_iterator begin() const { return m_pData ? static_cast<const node_data&>(*m_pData).begin() : const_node_iterator(); }
|
||||||
iterator begin(shared_memory_holder pMemory) {return m_pData ? m_pData->begin(pMemory) : 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(); }
|
const_node_iterator end() const { return m_pData ? static_cast<const node_data&>(*m_pData).end() : const_node_iterator(); }
|
||||||
iterator end(shared_memory_holder pMemory) {return m_pData ? m_pData->end(pMemory) : iterator(); }
|
node_iterator end() {return m_pData ? m_pData->end() : node_iterator(); }
|
||||||
|
|
||||||
// sequence
|
// sequence
|
||||||
void append(node& node, shared_memory_holder pMemory) { ensure_data_exists(); m_pData->append(node, pMemory); }
|
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
|
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()
|
inline iterator Value::begin()
|
||||||
{
|
{
|
||||||
return m_pNode->begin(m_pMemory);
|
return iterator(m_pNode->begin(), m_pMemory);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline const_iterator Value::end() const
|
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()
|
inline iterator Value::end()
|
||||||
{
|
{
|
||||||
return m_pNode->end(m_pMemory);
|
return iterator(m_pNode->end(), m_pMemory);
|
||||||
}
|
}
|
||||||
|
|
||||||
// sequence
|
// sequence
|
||||||
|
@@ -66,39 +66,39 @@ namespace YAML
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
const_iterator node_data::begin(shared_memory_holder pMemory) const
|
const_node_iterator node_data::begin() const
|
||||||
{
|
{
|
||||||
switch(m_type) {
|
switch(m_type) {
|
||||||
case ValueType::Sequence: return const_iterator(pMemory, m_sequence.begin());
|
case ValueType::Sequence: return const_node_iterator(m_sequence.begin());
|
||||||
case ValueType::Map: return const_iterator(pMemory, m_map.begin());
|
case ValueType::Map: return const_node_iterator(m_map.begin());
|
||||||
default: return const_iterator();
|
default: return const_node_iterator();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
iterator node_data::begin(shared_memory_holder pMemory)
|
node_iterator node_data::begin()
|
||||||
{
|
{
|
||||||
switch(m_type) {
|
switch(m_type) {
|
||||||
case ValueType::Sequence: return iterator(pMemory, m_sequence.begin());
|
case ValueType::Sequence: return node_iterator(m_sequence.begin());
|
||||||
case ValueType::Map: return iterator(pMemory, m_map.begin());
|
case ValueType::Map: return node_iterator(m_map.begin());
|
||||||
default: return iterator();
|
default: return node_iterator();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const_iterator node_data::end(shared_memory_holder pMemory) const
|
const_node_iterator node_data::end() const
|
||||||
{
|
{
|
||||||
switch(m_type) {
|
switch(m_type) {
|
||||||
case ValueType::Sequence: return const_iterator(pMemory, m_sequence.end());
|
case ValueType::Sequence: return const_node_iterator(m_sequence.end());
|
||||||
case ValueType::Map: return const_iterator(pMemory, m_map.end());
|
case ValueType::Map: return const_node_iterator(m_map.end());
|
||||||
default: return const_iterator();
|
default: return const_node_iterator();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
iterator node_data::end(shared_memory_holder pMemory)
|
node_iterator node_data::end()
|
||||||
{
|
{
|
||||||
switch(m_type) {
|
switch(m_type) {
|
||||||
case ValueType::Sequence: return iterator(pMemory, m_sequence.end());
|
case ValueType::Sequence: return node_iterator(m_sequence.end());
|
||||||
case ValueType::Map: return iterator(pMemory, m_map.end());
|
case ValueType::Map: return node_iterator(m_map.end());
|
||||||
default: return iterator();
|
default: return node_iterator();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -3,7 +3,10 @@
|
|||||||
|
|
||||||
int main()
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user