From c12a03473e523d3b32dc3069d2db39d993424465 Mon Sep 17 00:00:00 2001 From: beder Date: Sat, 10 Sep 2011 14:16:50 -0500 Subject: [PATCH] New iterators work\! --- include/yaml-cpp/value/detail/iterator.h | 8 ++++---- include/yaml-cpp/value/detail/node_iterator.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/yaml-cpp/value/detail/iterator.h b/include/yaml-cpp/value/detail/iterator.h index fc7aeb5..c4b1564 100644 --- a/include/yaml-cpp/value/detail/iterator.h +++ b/include/yaml-cpp/value/detail/iterator.h @@ -10,7 +10,7 @@ #include "yaml-cpp/value/ptr.h" #include "yaml-cpp/value/detail/node_iterator.h" #include -#include +#include namespace YAML { @@ -41,10 +41,10 @@ namespace YAML private: friend class boost::iterator_core_access; - void increment() { this->base_reference() = this->base()->next(); } - void decrement() { this->base_reference() = this->base()->previous(); } + void increment() { this->base_reference() = boost::next(this->base()); } + void decrement() { this->base_reference() = boost::prior(this->base()); } - value_type dereference() { + value_type dereference() const { const typename base_type::value_type& v = *this->base(); if(v.pNode) return value_type(Value(*v.pNode, m_pMemory)); diff --git a/include/yaml-cpp/value/detail/node_iterator.h b/include/yaml-cpp/value/detail/node_iterator.h index ef15821..a3a3ac3 100644 --- a/include/yaml-cpp/value/detail/node_iterator.h +++ b/include/yaml-cpp/value/detail/node_iterator.h @@ -109,7 +109,7 @@ namespace YAML case iterator_type::Sequence: return value_type(**m_seqIt); case iterator_type::Map: return value_type(*m_mapIt->first, *m_mapIt->second); } - return V(); + return value_type(); } private: