1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
|
.. Sequences/Intrinsic Metafunctions//back
back
====
Synopsis
--------
.. parsed-literal::
template<
typename Sequence
>
struct back
{
typedef |unspecified| type;
};
Description
-----------
Returns the last element in the sequence.
Header
------
.. parsed-literal::
#include <boost/mpl/back.hpp>
Model of
--------
|Tag Dispatched Metafunction|
Parameters
----------
+---------------+---------------------------+-----------------------------------+
| Parameter | Requirement | Description |
+===============+===========================+===================================+
| ``Sequence`` | |Bidirectional Sequence| | A sequence to be examined. |
+---------------+---------------------------+-----------------------------------+
Expression semantics
--------------------
For any |Bidirectional Sequence| ``s``:
.. parsed-literal::
typedef back<s>::type t;
:Return type:
A type.
:Precondition:
``empty<s>::value == false``.
:Semantics:
Equivalent to
.. parsed-literal::
typedef deref< prior< end<s>::type >::type >::type t;
Complexity
----------
Amortized constant time.
Example
-------
.. parsed-literal::
typedef range_c<int,0,1> range1;
typedef range_c<int,0,10> range2;
typedef range_c<int,-10,0> range3;
BOOST_MPL_ASSERT_RELATION( back<range1>::value, ==, 0 );
BOOST_MPL_ASSERT_RELATION( back<range2>::value, ==, 9 );
BOOST_MPL_ASSERT_RELATION( back<range3>::value, ==, -1 );
See also
--------
|Bidirectional Sequence|, |front|, |push_back|, |end|, |deref|, |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)
|