]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/mpl/doc/src/refmanual/single_view.rst
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / mpl / doc / src / refmanual / single_view.rst
1 .. Sequences/Views//single_view
2
3 single_view
4 ===========
5
6 Synopsis
7 --------
8
9 .. parsed-literal::
10
11 template<
12 typename T
13 >
14 struct single_view
15 {
16 // |unspecified|
17 // |...|
18 };
19
20
21
22 Description
23 -----------
24
25 A view onto an arbitrary type ``T`` as on a single-element sequence.
26
27
28 Header
29 ------
30
31 .. parsed-literal::
32
33 #include <boost/mpl/single_view.hpp>
34
35
36 Model of
37 --------
38
39 * |Random Access Sequence|
40
41
42 Parameters
43 ----------
44
45 +---------------+-------------------+-----------------------------------------------+
46 | Parameter | Requirement | Description |
47 +===============+===================+===============================================+
48 | ``T`` | Any type | The type to be wrapped in a sequence. |
49 +---------------+-------------------+-----------------------------------------------+
50
51
52 Expression semantics
53 --------------------
54
55 |Semantics disclaimer...| |Random Access Sequence|.
56
57 In the following table, ``v`` is an instance of ``single_view``, ``x`` is an arbitrary type.
58
59 +-------------------------------+-----------------------------------------------------------+
60 | Expression | Semantics |
61 +===============================+===========================================================+
62 | .. parsed-literal:: | A single-element |Random Access Sequence| ``v`` such that |
63 | | ``front<v>::type`` is identical to ``x``. |
64 | single_view<x> | |
65 | single_view<x>::type | |
66 +-------------------------------+-----------------------------------------------------------+
67 | ``size<v>::type`` | The size of ``v``; ``size<v>::value == 1``; |
68 | | see |Random Access Sequence|. |
69 +-------------------------------+-----------------------------------------------------------+
70
71 Example
72 -------
73
74 .. parsed-literal::
75
76 typedef single_view<int> view;
77 typedef begin<view>::type first;
78 typedef end<view>::type last;
79
80 BOOST_MPL_ASSERT(( is_same< deref<first>::type,int > ));
81 BOOST_MPL_ASSERT(( is_same< next<first>::type,last > ));
82 BOOST_MPL_ASSERT(( is_same< prior<last>::type,first > ));
83
84 BOOST_MPL_ASSERT_RELATION( size<view>::value, ==, 1 );
85
86
87 See also
88 --------
89
90 |Sequences|, |Views|, |iterator_range|, |filter_view|, |transform_view|, |joint_view|, |zip_view|
91
92
93 .. copyright:: Copyright © 2001-2009 Aleksey Gurtovoy and David Abrahams
94 Distributed under the Boost Software License, Version 1.0. (See accompanying
95 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)