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)