From d75eb788f37811bab548ac46b34eeb66eafd95ae Mon Sep 17 00:00:00 2001 From: Artem Pavlenko Date: Fri, 13 Jan 2012 17:17:40 +0000 Subject: [PATCH] + expose iterator interface in mapnik::context + make feature_kv_iterator friend of feature_impl --- include/mapnik/feature.hpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/include/mapnik/feature.hpp b/include/mapnik/feature.hpp index 77bcf6c89..346ab97ee 100644 --- a/include/mapnik/feature.hpp +++ b/include/mapnik/feature.hpp @@ -62,6 +62,7 @@ public: typedef map_type::size_type size_type; typedef map_type::difference_type difference_type; typedef map_type::iterator iterator; + typedef map_type::const_iterator const_iterator; context() : base_type(mapping_) {} @@ -71,6 +72,9 @@ public: mapping_.insert(std::make_pair(name,mapping_.size())); } + const_iterator begin() const { return mapping_.begin();} + const_iterator end() const { return mapping_.end();} + private: map_type mapping_; }; @@ -79,10 +83,13 @@ typedef boost::shared_ptr context_ptr; class feature_impl : private boost::noncopyable { + friend class feature_kv_iterator; public: + + typedef mapnik::value value_type; typedef std::vector cont_type; - + feature_impl(context_ptr const& ctx, int id) : id_(id), ctx_(ctx),