mirror of
https://github.com/boostorg/geometry.git
synced 2026-02-13 00:22:10 +00:00
[iterators][segment iterator][range segment iterator] replace has_less_than_two_elements
by an appropriate call to boost::size
This commit is contained in:
@@ -91,7 +91,7 @@ struct range_iterator_end<Range, open>
|
||||
|
||||
|
||||
template <typename Range, typename Value, typename Reference = Value>
|
||||
class range_segment_iterator
|
||||
struct range_segment_iterator
|
||||
: public boost::iterator_facade
|
||||
<
|
||||
range_segment_iterator<Range, Value, Reference>,
|
||||
@@ -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<Range>::apply(r);
|
||||
iterator_type last = range_iterator_end<Range>::apply(r);
|
||||
|
||||
return first == last || ++first == last;
|
||||
}
|
||||
|
||||
public:
|
||||
typedef typename range_iterator_type<Range>::type iterator_type;
|
||||
|
||||
// default constructor
|
||||
@@ -120,15 +110,15 @@ public:
|
||||
// for begin
|
||||
range_segment_iterator(Range& r)
|
||||
: m_it(range_iterator_begin<Range>::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<Range>::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;
|
||||
|
||||
Reference in New Issue
Block a user