Rename close_view and close_clockwise_view to closed_view and
closed_clockwise_view.
Leave only the following views:
- closed_view
- clockwise_view
- closed_clockwise_view
This means that in all algorithms consistently first the range may be closed
and then reversed if necessary.
Replace Reverse->Direction translation with Reverse->Order.
iterate_direction and order_as_direction are unused now but left for
backward compatibility.
Rename normalized_view.hpp to closed_clockwise_view.hpp
These views make closeable_view and reversible_view utilities obsolete.
Add aliases:
- detail::clockwise_close_view
- detail::clockwise_view
- detail::close_clockwise_view
- detail::reverse_view
Added utilities:
- detail::minimum_ring_size
Add Direction and Closure parameters to detail::reverse_close_view for
consistency.
Add detail::close_reverse_view performing closing and reversing in a
different order.
Use these views in algorithms.
Use different order of views in convert to preserve the starting point
of the original range.
The rationale behind it is that in all cases range_type<> was used as
ring_type<>. There was a specialization for Box defining box_view<> but
this was semantically different than accessing a ring of geometry.
detail::as_range() was taking a range type and returning a reference to
this range which was inconsistent with ring_return_type<>.
Remove unneeded begin() and end() functions in non-mutable ranges
closeable_view<> and detail::normalized_view<>.
Add specialization of ring_type<> for linestrings since there is already
specialization of ring_return_type<>.
Fix some compilation errors.
Do not store pointers to ranges in iterators and views.
Implement copy ctors in iterators allowing to convert compatible
iterators.
In copy ctors use enable_if instead of static_assert.
Variadic templates can be disabled in Boost.Variant by defining
BOOST_VARIANT_DO_NOT_USE_VARIADIC_TEMPLATES.
Also support DG and GC in:
- comparable_distance_result
- default_length_result
- distance_result
Add support for rvalue references in visit traits and algorithms.
Move visit algorithms to detail namespace.
Rename visit_iterator trait to iter_visit.
Add tests for visit traits and algorithms.
Remove unneeded comments.