| Home | Libraries | People | FAQ | More

#### closing_iterator

Iterator which iterates through a range, but adds first element at end of the range.

###### Synopsis

    template<typename Range>
    struct closing_iterator
          : public boost::iterator_facade< closing_iterator< Range >, boost::range_value< Range >::type const, boost::random_access_traversal_tag, boost::range_reference< Range const >::type, boost::range_difference< Range >::type >
    {
      // ...
    };

###### Template parameter(s)

Parameter | Description
--- | ---
typename Range | range on which this class is based on

###### Constructor(s)

Function | Description | Parameters
--- | --- | ---
    closing_iterator(Range const & range)
| Constructor including the range it is based on. | Range const &: range:
    closing_iterator(Range const & range, bool )
| Constructor to indicate the end of a range. | Range const &: range: bool: :
    closing_iterator()
| Default constructor. |
    template<typename OtherRange, std::enable_if_t< std::is_convertible< typename boost::range_iterator< OtherRange const >::type, typename boost::range_iterator< Range const >::type >::value, int >>
    closing_iterator(closing_iterator< OtherRange > const & other)
|  | closing_iterator< OtherRange > const &: other:

###### Header

`#include <boost/geometry/iterators/closing_iterator.hpp>`