Back to Arangodb

Random Access Sequence

3rdParty/boost/1.78.0/libs/mpl/doc/src/refmanual/RandomAccessSequence.rst

3.12.9.12.4 KB
Original Source

.. Sequences/Concepts//Random Access Sequence |30

Random Access Sequence

Description

A |Random Access Sequence| is a |Bidirectional Sequence| whose iterators model |Random Access Iterator|. A random access sequence guarantees amortized constant time access to an arbitrary sequence element.

Refinement of

|Bidirectional Sequence|

Expression requirements

In addition to the requirements defined in |Bidirectional Sequence|, for any |Random Access Sequence| s the following must be met:

+---------------------------+-----------------------------------+---------------------------+ | Expression | Type | Complexity | +===========================+===================================+===========================+ | begin<s>::type | |Random Access Iterator| | Amortized constant time | +---------------------------+-----------------------------------+---------------------------+ | end<s>::type | |Random Access Iterator| | Amortized constant time | +---------------------------+-----------------------------------+---------------------------+ | at<s,n>::type | Any type | Amortized constant time | +---------------------------+-----------------------------------+---------------------------+

Expression semantics

Semantics of an expression is defined only where it differs from, or is not defined in |Bidirectional Sequence|.

+---------------------------+-----------------------------------------------------------------------+ | Expression | Semantics | +===========================+=======================================================================+ | at<s,n>::type | The n\ th element from the beginning of the sequence; see |at|. | +---------------------------+-----------------------------------------------------------------------+

Models

  • |vector|
  • |range_c|

See also

|Sequences|, |Bidirectional Sequence|, |Extensible Sequence|, |Random Access Iterator|, |begin| / |end|, |at|

.. copyright:: Copyright 2001-2009 Aleksey Gurtovoy and David Abrahams 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)