Includes Proto callables for the functions found in the standard `<iterator> header`.

A PolymorphicFunctionObject type that invokes the `std::advance()` function on its arguments.

A PolymorphicFunctionObject type that invokes the `std::advance()` function on its arguments.

`proto::callable`
void
void `InputIterator &` `Distance`

Calls `std::advance(x, n)`

A PolymorphicFunctionObject type that invokes the `std::distance()` function on its arguments.

A PolymorphicFunctionObject type that invokes the `std::distance()` function on its arguments.

`proto::callable`
This(InputIterator, InputIterator)
typename std::iterator_traits< typename boost::remove_const< typename boost::remove_reference<InputIterator>::type >::type >::difference_type
void `InputIterator` `InputIterator`

`std::distance(first, last)`

A PolymorphicFunctionObject type that invokes the `std::next()` function on its arguments.

A PolymorphicFunctionObject type that invokes the `std::next()` function on its arguments.

`proto::callable`
This(ForwardIterator)
typename boost::remove_const< typename boost::remove_reference<ForwardIterator>::type >::type
This(ForwardIterator, Distance)
typename boost::remove_const< typename boost::remove_reference<ForwardIterator>::type >::type
void `ForwardIterator`

`std::next(x)`

void `ForwardIterator` `typename std::iterator_traits<ForwardIterator>::difference_type`

`std::next(x, n)`

A PolymorphicFunctionObject type that invokes the `std::prior()` function on its arguments.

A PolymorphicFunctionObject type that invokes the `std::prior()` function on its arguments.

`proto::callable`
This(BidirectionalIterator)
typename boost::remove_const< typename boost::remove_reference<BidirectionalIterator>::type >::type
This(BidirectionalIterator, Distance)
typename boost::remove_const< typename boost::remove_reference<BidirectionalIterator>::type >::type
void `BidirectionalIterator`

`std::prior(x)`

void `BidirectionalIterator` `typename std::iterator_traits<BidirectionalIterator>::difference_type`

`std::prior(x, n)`