1.6 KiB
1.6 KiB
advance
boost::iterators::advance is an adapted version of
std::advance for the Boost iterator traversal concepts.
Header
<boost/iterator/advance.hpp>
Synopsis
template <typename Iterator, typename Distance>
constexpr void advance(Iterator& it, Distance n);
Description
Moves it forward by n increments (or
backward by |n| decrements if n is
negative).
Requirements
Iterator should model Incrementable Iterator.
Preconditions
Let iti be the iterator obtained by
incrementing (or decrementing if n is negative)
it by i. All the iterators
iti for i = 0, 1, 2, ...,
|n| should be valid.
If Iterator does not model Bidirectional Traversal
Iterator, n should be non-negative.
Complexity
If Iterator models Random Access Traversal Iterator, it
takes constant time; otherwise it takes linear time.
Notes
- This function is not a customization point and is protected against being found by argument-dependent lookup (ADL).
- This function is
constexpronly in C++14 or later.
Author: Michel Morin
Copyright © 2017 Michel Morin
Distributed under the Boost Software License, Version 1.0.
Copyright © 2017 Michel Morin
Distributed under the Boost Software License, Version 1.0.