]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | .. Sequences/Views//joint_view |
2 | ||
3 | joint_view | |
4 | ========== | |
5 | ||
6 | Synopsis | |
7 | -------- | |
8 | ||
9 | .. parsed-literal:: | |
10 | ||
11 | template< | |
12 | typename Sequence1 | |
13 | , typename Sequence2 | |
14 | > | |
15 | struct joint_view | |
16 | { | |
17 | // |unspecified| | |
18 | // |...| | |
19 | }; | |
20 | ||
21 | ||
22 | ||
23 | Description | |
24 | ----------- | |
25 | ||
26 | A view into the sequence of elements formed by concatenating ``Sequence1`` | |
27 | and ``Sequence2`` elements. | |
28 | ||
29 | ||
30 | Header | |
31 | ------ | |
32 | ||
33 | .. parsed-literal:: | |
34 | ||
35 | #include <boost/mpl/joint_view.hpp> | |
36 | ||
37 | ||
38 | Model of | |
39 | -------- | |
40 | ||
41 | * |Forward Sequence| | |
42 | ||
43 | ||
44 | Parameters | |
45 | ---------- | |
46 | ||
47 | +-----------------------+---------------------------+-----------------------------------+ | |
48 | | Parameter | Requirement | Description | | |
49 | +=======================+===========================+===================================+ | |
50 | | ``Sequence1``, | |Forward Sequence| | Sequences to create a view on. | | |
51 | | ``Sequence2`` | | | | |
52 | +-----------------------+---------------------------+-----------------------------------+ | |
53 | ||
54 | Expression semantics | |
55 | -------------------- | |
56 | ||
57 | |Semantics disclaimer...| |Forward Sequence|. | |
58 | ||
59 | In the following table, ``v`` is an instance of ``joint_view``, ``s1`` and ``s2`` are arbitrary | |
60 | |Forward Sequence|\ s. | |
61 | ||
62 | +-------------------------------+-----------------------------------------------------------+ | |
63 | | Expression | Semantics | | |
64 | +===============================+===========================================================+ | |
65 | | .. parsed-literal:: | A lazy |Forward Sequence| of all the elements in the | | |
66 | | | ranges |begin/end<s1>|, |begin/end<s2>|. | | |
67 | | joint_view<s1,s2> | | | |
68 | | joint_view<s1,s2>::type | | | |
69 | +-------------------------------+-----------------------------------------------------------+ | |
70 | | ``size<v>::type`` | The size of ``v``; | | |
71 | | | ``size<v>::value == size<s1>::value + size<s2>::value``; | | |
72 | | | linear complexity; see |Forward Sequence|. | | |
73 | +-------------------------------+-----------------------------------------------------------+ | |
74 | ||
75 | Example | |
76 | ------- | |
77 | ||
78 | .. parsed-literal:: | |
79 | ||
80 | typedef joint_view< | |
81 | range_c<int,0,10> | |
82 | , range_c<int,10,15> | |
83 | > numbers; | |
84 | ||
85 | BOOST_MPL_ASSERT(( equal< numbers, range_c<int,0,15> > )); | |
86 | ||
87 | ||
88 | See also | |
89 | -------- | |
90 | ||
91 | |Sequences|, |Views|, |filter_view|, |transform_view|, |zip_view|, |iterator_range| | |
92 | ||
93 | ||
94 |