Back to Arangodb

advance

3rdParty/boost/1.78.0/libs/iterator/doc/advance.rst

3.12.9.11.6 KB
Original Source

.. Copyright (C) 2017 Michel Morin. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

======= advance

boost::iterators::advance is an adapted version of std::advance for the Boost iterator traversal concepts.

<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 it\ :sub:i be the iterator obtained by incrementing (or decrementing if n is negative) it by i. All the iterators it\ :sub:i 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 constexpr only in C++14 or later.

| Author: Michel Morin | Copyright |C| 2017 Michel Morin | Distributed under the Boost Software License, Version 1.0 <http://www.boost.org/LICENSE_1_0.txt>_.

.. |C| unicode:: U+00A9 .. COPYRIGHT SIGN