1 <?xml version=
"1.0" encoding=
"utf-8" ?>
2 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" xml:
lang=
"en" lang=
"en">
5 <meta http-equiv=
"Content-Type" content=
"text/html; charset=utf-8" />
6 <meta name=
"generator" content=
"Docutils 0.7: http://docutils.sourceforge.net/" />
7 <title>The MPL Reference Manual: Integral Sequence Wrapper
</title>
8 <link rel=
"stylesheet" href=
"../style.css" type=
"text/css" />
10 <body class=
"docframe refmanual">
11 <table class=
"header"><tr class=
"header"><td class=
"header-group navigation-bar"><span class=
"navigation-group"><a href=
"./extensible-associative-sequence.html" class=
"navigation-link">Prev
</a> <a href=
"./variadic-sequence.html" class=
"navigation-link">Next
</a></span><span class=
"navigation-group-separator"> |
</span><span class=
"navigation-group"><a href=
"./extensible-associative-sequence.html" class=
"navigation-link">Back
</a> <a href=
"./variadic-sequence.html" class=
"navigation-link">Along
</a></span><span class=
"navigation-group-separator"> |
</span><span class=
"navigation-group"><a href=
"./concepts.html" class=
"navigation-link">Up
</a> <a href=
"../refmanual.html" class=
"navigation-link">Home
</a></span><span class=
"navigation-group-separator"> |
</span><span class=
"navigation-group"><a href=
"./refmanual_toc.html" class=
"navigation-link">Full TOC
</a></span></td>
12 <td class=
"header-group page-location"><a href=
"../refmanual.html" class=
"navigation-link">Front Page
</a> /
<a href=
"./sequences.html" class=
"navigation-link">Sequences
</a> /
<a href=
"./concepts.html" class=
"navigation-link">Concepts
</a> /
<a href=
"./integral-sequence-wrapper.html" class=
"navigation-link">Integral Sequence Wrapper
</a></td>
13 </tr></table><div class=
"header-separator"></div>
14 <div class=
"section" id=
"integral-sequence-wrapper">
15 <h1><a class=
"toc-backref" href=
"./concepts.html#id1403">Integral Sequence Wrapper
</a></h1>
16 <div class=
"section" id=
"id40">
17 <h3><a class=
"subsection-title" href=
"#description" name=
"description">Description
</a></h3>
18 <p>An
<a class=
"reference internal" href=
"./integral-sequence-wrapper.html">Integral Sequence Wrapper
</a> is a class template that provides a concise
19 interface for creating a corresponding sequence of
<a class=
"reference internal" href=
"./integral-constant.html">Integral Constant
</a>s. In
20 particular, assuming that
<tt class=
"literal"><span class=
"pre">seq
</span></tt> is a name of the wrapper's underlying
21 sequence and
<em>c
</em><sub>1</sub>,
<em>c
</em><sub>2</sub>,...
<em>c
</em><sub>n
</sub> are integral constants of an integral type
<tt class=
"literal"><span class=
"pre">T
</span></tt> to
22 be stored in the sequence, the wrapper provides us with the following
25 <div class=
"line-block">
26 <div class=
"line"><tt class=
"literal"><span class=
"pre">seq_c
<T
</span></tt>,
<em>c
</em><sub>1</sub>,
<em>c
</em><sub>2</sub>,...
<em>c
</em><sub>n
</sub><tt class=
"literal"><span class=
"pre">></span></tt></div>
29 <p>If
<tt class=
"literal"><span class=
"pre">seq
</span></tt> is a
<a class=
"reference internal" href=
"./variadic-sequence.html">Variadic Sequence
</a>,
<em>numbered
</em> wrapper forms are
32 <div class=
"line-block">
33 <div class=
"line"><tt class=
"literal"><span class=
"pre">seq
</span></tt><em>n
</em><tt class=
"literal"><span class=
"pre">_c
<T
</span></tt>,
<em>c
</em><sub>1</sub>,
<em>c
</em><sub>2</sub>,...
<em>c
</em><sub>n
</sub><tt class=
"literal"><span class=
"pre">></span></tt></div>
37 <div class=
"section" id=
"id41">
38 <h3><a class=
"subsection-title" href=
"#expression-requirements" name=
"expression-requirements">Expression requirements
</a></h3>
39 <p>In the following table and subsequent specifications,
<tt class=
"literal"><span class=
"pre">seq
</span></tt> is a placeholder token for the
40 <a class=
"reference internal" href=
"./integral-sequence-wrapper.html">Integral Sequence Wrapper
</a>'s underlying sequence's name.
</p>
41 <table border=
"1" class=
"docutils table">
47 <thead valign=
"bottom">
48 <tr><th class=
"head">Expression
</th>
49 <th class=
"head">Type
</th>
50 <th class=
"head">Complexity
</th>
54 <tr><td><tt class=
"literal"><span class=
"pre">seq_c
<T
</span></tt>,
<em>c
</em><sub>1</sub>,
<em>c
</em><sub>2</sub>,...
<em>c
</em><sub>n
</sub><tt class=
"literal"><span class=
"pre">></span></tt></td>
55 <td><a class=
"reference internal" href=
"./forward-sequence.html">Forward Sequence
</a></td>
56 <td>Amortized constant time.
</td>
58 <tr><td><tt class=
"literal"><span class=
"pre">seq_c
<T
</span></tt>,
<em>c
</em><sub>1</sub>,
<em>c
</em><sub>2</sub>,...
<em>c
</em><sub>n
</sub><tt class=
"literal"><span class=
"pre">>::type
</span></tt></td>
59 <td><a class=
"reference internal" href=
"./forward-sequence.html">Forward Sequence
</a></td>
60 <td>Amortized constant time.
</td>
62 <tr><td><tt class=
"literal"><span class=
"pre">seq_c
<T
</span></tt>,
<em>c
</em><sub>1</sub>,
<em>c
</em><sub>2</sub>,...
<em>c
</em><sub>n
</sub><tt class=
"literal"><span class=
"pre">>::
<a href=
"./value-type.html" class=
"identifier">value_type
</a></span></tt></td>
63 <td>An integral type
</td>
64 <td>Amortized constant time.
</td>
66 <tr><td><tt class=
"literal"><span class=
"pre">seq
</span></tt><em>n
</em><tt class=
"literal"><span class=
"pre">_c
<T
</span></tt>,
<em>c
</em><sub>1</sub>,
<em>c
</em><sub>2</sub>,...
<em>c
</em><sub>n
</sub><tt class=
"literal"><span class=
"pre">></span></tt></td>
67 <td><a class=
"reference internal" href=
"./forward-sequence.html">Forward Sequence
</a></td>
68 <td>Amortized constant time.
</td>
70 <tr><td><tt class=
"literal"><span class=
"pre">seq
</span></tt><em>n
</em><tt class=
"literal"><span class=
"pre">_c
<T
</span></tt>,
<em>c
</em><sub>1</sub>,
<em>c
</em><sub>2</sub>,...
<em>c
</em><sub>n
</sub><tt class=
"literal"><span class=
"pre">>::type
</span></tt></td>
71 <td><a class=
"reference internal" href=
"./forward-sequence.html">Forward Sequence
</a></td>
72 <td>Amortized constant time.
</td>
74 <tr><td><tt class=
"literal"><span class=
"pre">seq
</span></tt><em>n
</em><tt class=
"literal"><span class=
"pre">_c
<T
</span></tt>,
<em>c
</em><sub>1</sub>,
<em>c
</em><sub>2</sub>,...
<em>c
</em><sub>n
</sub><tt class=
"literal"><span class=
"pre">>::
<a href=
"./value-type.html" class=
"identifier">value_type
</a></span></tt></td>
75 <td>An integral type
</td>
76 <td>Amortized constant time.
</td>
81 <div class=
"section" id=
"id42">
82 <h3><a class=
"subsection-title" href=
"#expression-semantics" name=
"expression-semantics">Expression semantics
</a></h3>
83 <pre class=
"literal-block">
84 typedef seq_c
<T,
<em>c
</em><sub>1</sub>,
<em>c
</em><sub>2</sub>,...
<em>c
</em><sub>n
</sub>> s;
85 typedef seq
<em>n
</em>_c
<T,
<em>c
</em><sub>1</sub>,
<em>c
</em><sub>2</sub>,...
<em>c
</em><sub>n
</sub>> s;
87 <table class=
"docutils field-list" frame=
"void" rules=
"none">
88 <col class=
"field-name" />
89 <col class=
"field-body" />
91 <tr class=
"field"><th class=
"field-name">Semantics:
</th><td class=
"field-body"><tt class=
"literal"><span class=
"pre">s
</span></tt> is a sequence
<tt class=
"literal"><span class=
"pre">seq
</span></tt> of integral constant wrappers
<tt class=
"literal"><span class=
"pre"><a href=
"./integral-c.html" class=
"identifier">integral_c
</a><T,
</span></tt><em>c
</em><sub>1</sub><tt class=
"literal"><span class=
"pre">></span></tt>,
92 <tt class=
"literal"><span class=
"pre"><a href=
"./integral-c.html" class=
"identifier">integral_c
</a><T,
</span></tt><em>c
</em><sub>2</sub><tt class=
"literal"><span class=
"pre">></span></tt>, ...
<tt class=
"literal"><span class=
"pre"><a href=
"./integral-c.html" class=
"identifier">integral_c
</a><T,
</span></tt><em>c
</em><sub>n
</sub><tt class=
"literal"><span class=
"pre">></span></tt>.
</td>
94 <tr class=
"field"><th class=
"field-name">Postcondition:
</th><td class=
"field-body"><tt class=
"literal"><span class=
"pre"><a href=
"./size.html" class=
"identifier">size
</a><s
>::value
</span> <span class=
"pre">==
</span> <span class=
"pre">n
</span></tt>.
<!-- .. parsed-literal::
96 BOOST_MPL_ASSERT_RELATION(( at_c<v,0>::type::value,==,\ |c1| ));
97 BOOST_MPL_ASSERT_RELATION(( at_c<v,1>::type::value,==,\ |c2| ));
99 BOOST_MPL_ASSERT_RELATION(( at_c<v,\ *n*>::type::value,==,\ |cn| )); -->
104 <!-- .......................................................................... -->
105 <pre class=
"literal-block">
106 typedef seq_c
<T,
<em>c
</em><sub>1</sub>,
<em>c
</em><sub>2</sub>,...
<em>c
</em><sub>n
</sub>>::type s;
107 typedef seq
<em>n
</em>_c
<T,
<em>c
</em><sub>1</sub>,
<em>c
</em><sub>2</sub>,...
<em>c
</em><sub>n
</sub>>::type s;
109 <table class=
"docutils field-list" frame=
"void" rules=
"none">
110 <col class=
"field-name" />
111 <col class=
"field-body" />
113 <tr class=
"field"><th class=
"field-name">Semantics:
</th><td class=
"field-body"><tt class=
"literal"><span class=
"pre">s
</span></tt> is identical to
114 <tt class=
"literal"><span class=
"pre">seq
</span></tt><em>n
</em><tt class=
"literal"><span class=
"pre"><</span></tt><tt class=
"literal"><span class=
"pre"><a href=
"./integral-c.html" class=
"identifier">integral_c
</a><T,
</span></tt><em>c
</em><sub>1</sub><tt class=
"literal"><span class=
"pre">></span></tt>,
<tt class=
"literal"><span class=
"pre"><a href=
"./integral-c.html" class=
"identifier">integral_c
</a><T,
</span></tt><em>c
</em><sub>2</sub><tt class=
"literal"><span class=
"pre">></span></tt>,
115 ...
<tt class=
"literal"><span class=
"pre"><a href=
"./integral-c.html" class=
"identifier">integral_c
</a><T,
</span></tt><em>c
</em><sub>n
</sub><tt class=
"literal"><span class=
"pre">></span></tt> <tt class=
"literal"><span class=
"pre">></span></tt>.
</td>
119 <!-- .......................................................................... -->
120 <pre class=
"literal-block">
121 typedef seq_c
<T,
<em>c
</em><sub>1</sub>,
<em>c
</em><sub>2</sub>,...
<em>c
</em><sub>n
</sub>>::
<a href=
"./value-type.html" class=
"identifier">value_type
</a> t;
122 typedef seq
<em>n
</em>_c
<T,
<em>c
</em><sub>1</sub>,
<em>c
</em><sub>2</sub>,...
<em>c
</em><sub>n
</sub>>::
<a href=
"./value-type.html" class=
"identifier">value_type
</a> t;
124 <table class=
"docutils field-list" frame=
"void" rules=
"none">
125 <col class=
"field-name" />
126 <col class=
"field-body" />
128 <tr class=
"field"><th class=
"field-name">Semantics:
</th><td class=
"field-body"><tt class=
"literal"><span class=
"pre">is_same
<t,T
>::value
</span> <span class=
"pre">==
</span> <span class=
"pre">true
</span></tt>.
</td>
133 <div class=
"section" id=
"id43">
134 <h3><a class=
"subsection-title" href=
"#models" name=
"models">Models
</a></h3>
136 <li><a class=
"reference internal" href=
"./vector-c.html">vector_c
</a></li>
137 <li><a class=
"reference internal" href=
"./list-c.html">list_c
</a></li>
138 <li><a class=
"reference internal" href=
"./set-c.html">set_c
</a></li>
141 <div class=
"section" id=
"id44">
142 <h3><a class=
"subsection-title" href=
"#see-also" name=
"see-also">See also
</a></h3>
143 <p><a class=
"reference internal" href=
"./sequences.html">Sequences
</a>,
<a class=
"reference internal" href=
"./variadic-sequence.html">Variadic Sequence
</a>,
<a class=
"reference internal" href=
"./integral-constant.html">Integral Constant
</a></p>
144 <!-- Sequences/Concepts//Variadic Sequence |100 -->
148 <div class=
"footer-separator"></div>
149 <table class=
"footer"><tr class=
"footer"><td class=
"header-group navigation-bar"><span class=
"navigation-group"><a href=
"./extensible-associative-sequence.html" class=
"navigation-link">Prev
</a> <a href=
"./variadic-sequence.html" class=
"navigation-link">Next
</a></span><span class=
"navigation-group-separator"> |
</span><span class=
"navigation-group"><a href=
"./extensible-associative-sequence.html" class=
"navigation-link">Back
</a> <a href=
"./variadic-sequence.html" class=
"navigation-link">Along
</a></span><span class=
"navigation-group-separator"> |
</span><span class=
"navigation-group"><a href=
"./concepts.html" class=
"navigation-link">Up
</a> <a href=
"../refmanual.html" class=
"navigation-link">Home
</a></span><span class=
"navigation-group-separator"> |
</span><span class=
"navigation-group"><a href=
"./refmanual_toc.html" class=
"navigation-link">Full TOC
</a></span></td>
150 <td><div class=
"copyright-footer"><div class=
"copyright">Copyright ©
2001-
2009 Aleksey Gurtovoy and David Abrahams
</div>
151 Distributed under the Boost Software License, Version
1.0. (See accompanying
152 file LICENSE_1_0.txt or copy at
<a class=
"reference external" href=
"http://www.boost.org/LICENSE_1_0.txt" target=
"_top">http://www.boost.org/LICENSE_1_0.txt
</a>)
</div></td></tr></table></body>