From 3763829be3071f676abb77e82b2e3a5b43ee4657 Mon Sep 17 00:00:00 2001 From: Menelaos Karavelas Date: Wed, 28 Jan 2015 17:38:58 +0200 Subject: [PATCH] [iterators][segment iterator][range segment iterator] replace has_less_than_two_elements by an appropriate call to boost::size --- .../range_segment_iterator.hpp | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/include/boost/geometry/iterators/detail/segment_iterator/range_segment_iterator.hpp b/include/boost/geometry/iterators/detail/segment_iterator/range_segment_iterator.hpp index 859f88e37..a044aee1f 100644 --- a/include/boost/geometry/iterators/detail/segment_iterator/range_segment_iterator.hpp +++ b/include/boost/geometry/iterators/detail/segment_iterator/range_segment_iterator.hpp @@ -91,7 +91,7 @@ struct range_iterator_end template -class range_segment_iterator +struct range_segment_iterator : public boost::iterator_facade < range_segment_iterator, @@ -100,16 +100,6 @@ class range_segment_iterator Reference > { -private: - static bool has_less_than_two_elements(Range const& r) - { - iterator_type first = range_iterator_begin::apply(r); - iterator_type last = range_iterator_end::apply(r); - - return first == last || ++first == last; - } - -public: typedef typename range_iterator_type::type iterator_type; // default constructor @@ -120,15 +110,15 @@ public: // for begin range_segment_iterator(Range& r) : m_it(range_iterator_begin::apply(r)) - , m_has_less_than_two_elements(has_less_than_two_elements(r)) + , m_has_less_than_two_elements(boost::size(r) < 2u) {} // for end range_segment_iterator(Range& r, bool) : m_it(range_iterator_end::apply(r)) - , m_has_less_than_two_elements(has_less_than_two_elements(r)) + , m_has_less_than_two_elements(boost::size(r) < 2u) { - if (!m_has_less_than_two_elements) + if (! m_has_less_than_two_elements) { // the range consists of at least two items --m_it;