Back to Arangodb

Forward Sequence

3rdParty/boost/1.78.0/libs/mpl/doc/refmanual/forward-sequence.html

3.12.9.13.7 KB
Original Source

| Prev Next | Back Along | Up Home | Full TOC | Front Page / Sequences / Concepts / Forward Sequence |

Forward Sequence

Description

A Forward Sequence is an MPL concept representing a compile-time sequence of elements. Sequence elements are types, and are accessible through Iterators. The begin and end metafunctions provide iterators delimiting the range of the sequence elements. A sequence guarantees that its elements are arranged in a definite, but possibly unspecified, order. Every MPL sequence is a Forward Sequence.

Definitions

  • The size of a sequence is the number of elements it contains. The size is a nonnegative number.
  • A sequence is empty if its size is zero.

Expression requirements

For any Forward Sequence s the following expressions must be valid:

ExpressionTypeComplexity
begin<s>::typeForward IteratorAmortized constant time
end<s>::typeForward IteratorAmortized constant time
size<s>::typeIntegral ConstantUnspecified
empty<s>::typeBoolean Integral ConstantConstant time
front<s>::typeAny typeAmortized constant time

Expression semantics

ExpressionSemantics
begin<s>::typeAn iterator to the first element of the sequence; see begin.
end<s>::typeA past-the-end iterator to the sequence; see end.
size<s>::typeThe size of the sequence; see size.
empty<s>::typeA boolean Integral Constant c such that c::value == true if and only if the sequence is empty; see empty.
front<s>::typeThe first element in the sequence; see front.

Invariants

For any Forward Sequence s the following invariants always hold:

  • [begin<s>::type, end<s>::type) is always a valid range.
  • An algorithm that iterates through the range [begin<s>::type, end<s>::type) will pass through every element of s exactly once.
  • begin<s>::type is identical to end<s>::type if and only if s is empty.
  • Two different iterations through s will access its elements in the same order.

Models

See also

Sequences, Bidirectional Sequence, Forward Iterator, begin / end, size, empty, front

| Prev Next | Back Along | Up Home | Full TOC |

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) |