• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4<title>Class template array</title>
5<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
6<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
7<link rel="home" href="../index.html" title="Document To Test Formatting">
8<link rel="up" href="../document_to_test_formatting/array.html#header.boost.array_hpp" title="Header &lt;boost/array.hpp&gt;">
9<link rel="prev" href="../document_to_test_formatting/array.html" title="Array Example Boostbook XML Documentation">
10<link rel="next" href="../document_to_test_formatting/accumulators.html" title="Accumulators Example Doxygen Documentation">
11</head>
12<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13<table cellpadding="2" width="100%"><tr>
14<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
15<td align="center"><a href="../../../../index.html">Home</a></td>
16<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
17<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19<td align="center"><a href="../../../../more/index.htm">More</a></td>
20</tr></table>
21<hr>
22<div class="spirit-nav">
23<a accesskey="p" href="../document_to_test_formatting/array.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../document_to_test_formatting/array.html#header.boost.array_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../document_to_test_formatting/accumulators.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
24</div>
25<div class="refentry">
26<a name="boost.array"></a><div class="titlepage"></div>
27<div class="refnamediv">
28<h2><span class="refentrytitle">Class template array</span></h2>
29<p>boost::array &#8212; STL compliant container wrapper for arrays of constant size</p>
30</div>
31<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
32<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../document_to_test_formatting/array.html#header.boost.array_hpp" title="Header &lt;boost/array.hpp&gt;">boost/array.hpp</a>&gt;
33
34</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> N<span class="special">&gt;</span>
35<span class="keyword">class</span> <a class="link" href="array.html" title="Class template array">array</a> <span class="special">{</span>
36<span class="keyword">public</span><span class="special">:</span>
37  <span class="comment">// types</span>
38  <span class="keyword">typedef</span> <span class="identifier">T</span>                                                                        <a name="boost.array.value_type"></a><span class="identifier">value_type</span><span class="special">;</span>
39  <span class="keyword">typedef</span> <span class="identifier">T</span><span class="special">*</span>                                                                       <a name="boost.array.iterator"></a><span class="identifier">iterator</span><span class="special">;</span>
40  <span class="keyword">typedef</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span>                                                                 <a name="boost.array.const_iterator"></a><span class="identifier">const_iterator</span><span class="special">;</span>
41  <span class="keyword">typedef</span>
42                  std::reverse_iterator<span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;</span>
43                      <a name="boost.array.reverse_iterator"></a><span class="identifier">reverse_iterator</span><span class="special">;</span>
44  <span class="keyword">typedef</span>
45                  std::reverse_iterator<span class="special">&lt;</span><span class="identifier">const_iterator</span><span class="special">&gt;</span>
46                <a name="boost.array.const_reverse_iterator"></a><span class="identifier">const_reverse_iterator</span><span class="special">;</span>
47  <span class="keyword">typedef</span> <span class="identifier">T</span><span class="special">&amp;</span>                                                                       <a name="boost.array.reference"></a><span class="identifier">reference</span><span class="special">;</span>
48  <span class="keyword">typedef</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span>                                                                 <a name="boost.array.const_reference"></a><span class="identifier">const_reference</span><span class="special">;</span>
49  <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span>                                                              <a name="boost.array.size_type"></a><span class="identifier">size_type</span><span class="special">;</span>
50  <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span>                                                           <a name="boost.array.difference_type"></a><span class="identifier">difference_type</span><span class="special">;</span>
51
52  <span class="comment">// static constants</span>
53  <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">size_type</span> <span class="identifier">static_size</span> = <span class="identifier">N</span><span class="special">;</span>
54
55  <span class="comment">// <a class="link" href="array.html#boost.arrayconstruct-copy-destruct">construct/copy/destruct</a></span>
56  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> U<span class="special">&gt;</span> array&amp; <a class="link" href="array.html#id330673-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">U</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
57
58  <span class="comment">// <a class="link" href="array.html#id330714-bb">iterator support</a></span>
59  <span class="identifier">iterator</span> <a class="link" href="array.html#id330722-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
60  <span class="identifier">const_iterator</span> <a class="link" href="array.html#id330729-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
61  <span class="identifier">iterator</span> <a class="link" href="array.html#id330755-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
62  <span class="identifier">const_iterator</span> <a class="link" href="array.html#id330761-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
63
64  <span class="comment">// <a class="link" href="array.html#id330785-bb">reverse iterator support</a></span>
65  <span class="identifier">reverse_iterator</span> <a class="link" href="array.html#id330793-bb"><span class="identifier">rbegin</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
66  <span class="identifier">const_reverse_iterator</span> <a class="link" href="array.html#id330800-bb"><span class="identifier">rbegin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
67  <span class="identifier">reverse_iterator</span> <a class="link" href="array.html#id330821-bb"><span class="identifier">rend</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
68  <span class="identifier">const_reverse_iterator</span> <a class="link" href="array.html#id330827-bb"><span class="identifier">rend</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
69
70  <span class="comment">// <a class="link" href="array.html#id330844-bb">capacity</a></span>
71  <span class="identifier">size_type</span> <a class="link" href="array.html#id330848-bb"><span class="identifier">size</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
72  <span class="keyword">bool</span> <a class="link" href="array.html#id330866-bb"><span class="identifier">empty</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
73  <span class="identifier">size_type</span> <a class="link" href="array.html#id330890-bb"><span class="identifier">max_size</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
74
75  <span class="comment">// <a class="link" href="array.html#id330915-bb">element access</a></span>
76  <span class="identifier">reference</span> <a class="link" href="array.html#id330923-bb"><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span>
77  <span class="identifier">const_reference</span> <a class="link" href="array.html#id330938-bb"><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
78  <span class="identifier">reference</span> <a class="link" href="array.html#id330986-bb"><span class="identifier">at</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span>
79  <span class="identifier">const_reference</span> <a class="link" href="array.html#id331001-bb"><span class="identifier">at</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
80  <span class="identifier">reference</span> <a class="link" href="array.html#id331061-bb"><span class="identifier">front</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
81  <span class="identifier">const_reference</span> <a class="link" href="array.html#id331069-bb"><span class="identifier">front</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
82  <span class="identifier">reference</span> <a class="link" href="array.html#id331115-bb"><span class="identifier">back</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
83  <span class="identifier">const_reference</span> <a class="link" href="array.html#id331123-bb"><span class="identifier">back</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
84  <span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <a class="link" href="array.html#id331165-bb"><span class="identifier">data</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
85  <span class="identifier">T</span><span class="special">*</span> <a class="link" href="array.html#id331198-bb"><span class="identifier">c_array</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
86
87  <span class="comment">// <a class="link" href="array.html#id331230-bb">modifiers</a></span>
88  <span class="keyword">void</span> <a class="link" href="array.html#id331235-bb"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
89  <span class="keyword">void</span> <a class="link" href="array.html#id331296-bb"><span class="identifier">assign</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
90  <span class="identifier">T</span> elems[N]<span class="special">;</span>
91<span class="special">}</span><span class="special">;</span>
92
93<span class="comment">// <a class="link" href="array.html#id331348-bb">specialized algorithms</a></span>
94<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> N<span class="special">&gt;</span> <span class="keyword">void</span> <a class="link" href="array.html#boost.array.swap"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span><span class="special">,</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
95
96<span class="comment">// <a class="link" href="array.html#id331434-bb">comparisons</a></span>
97<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> N<span class="special">&gt;</span>
98  <span class="keyword">bool</span> <a class="link" href="array.html#boost.array.operator=="><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
99<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> N<span class="special">&gt;</span>
100  <span class="keyword">bool</span> <a class="link" href="array.html#boost.array.operator!="><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
101<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> N<span class="special">&gt;</span>
102  <span class="keyword">bool</span> <a class="link" href="array.html#boost.array.operator_id331592"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
103<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> N<span class="special">&gt;</span>
104  <span class="keyword">bool</span> <a class="link" href="array.html#boost.array.operator_id331679"><span class="keyword">operator</span><span class="special">&gt;</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
105<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> N<span class="special">&gt;</span>
106  <span class="keyword">bool</span> <a class="link" href="array.html#boost.array.operator_=_id331750"><span class="keyword">operator</span><span class="special">&lt;=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
107<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> N<span class="special">&gt;</span>
108  <span class="keyword">bool</span> <a class="link" href="array.html#boost.array.operator_=_id332091"><span class="keyword">operator</span><span class="special">&gt;=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre></div>
109<div class="refsect1">
110<a name="id776025"></a><h2>Description</h2>
111<div class="refsect2">
112<a name="id776028"></a><h3>
113<a name="boost.arrayconstruct-copy-destruct"></a><code class="computeroutput">array</code>
114        public
115       construct/copy/destruct</h3>
116<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
117<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> U<span class="special">&gt;</span> array&amp; <a name="id330673-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">U</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span> other<span class="special">)</span><span class="special">;</span></pre>
118<div class="variablelist"><table border="0">
119<col align="left" valign="top">
120<tbody><tr>
121<td><p><span class="term">Effects:</span></p></td>
122<td>
123                     <code class="computeroutput">
124                        std::copy(rhs.<a class="link" href="array.html#id330718-bb">begin</a>(),rhs.<a class="link" href="array.html#id330751-bb">end</a>(), <a class="link" href="array.html#id330718-bb">begin</a>())
125                     </code>
126                  </td>
127</tr></tbody>
128</table></div>
129</li></ol></div>
130</div>
131<div class="refsect2">
132<a name="id776182"></a><h3>
133<a name="id330714-bb"></a><code class="computeroutput">array</code> iterator support</h3>
134<div class="orderedlist"><ol class="orderedlist" type="1">
135<li class="listitem">
136<pre class="literallayout"><a name="id330718-bb"></a><span class="identifier">iterator</span> <a name="id330722-bb"></a><span class="identifier">begin</span><span class="special">(</span><span class="special">)</span><span class="special">;</span>
137<span class="identifier">const_iterator</span> <a name="id330729-bb"></a><span class="identifier">begin</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
138<div class="variablelist"><table border="0">
139<col align="left" valign="top">
140<tbody>
141<tr>
142<td><p><span class="term">Returns:</span></p></td>
143<td>iterator for the first element</td>
144</tr>
145<tr>
146<td><p><span class="term">Throws:</span></p></td>
147<td>will not throw</td>
148</tr>
149</tbody>
150</table></div>
151</li>
152<li class="listitem">
153<pre class="literallayout"><a name="id330751-bb"></a><span class="identifier">iterator</span> <a name="id330755-bb"></a><span class="identifier">end</span><span class="special">(</span><span class="special">)</span><span class="special">;</span>
154<span class="identifier">const_iterator</span> <a name="id330761-bb"></a><span class="identifier">end</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
155<div class="variablelist"><table border="0">
156<col align="left" valign="top">
157<tbody>
158<tr>
159<td><p><span class="term">Returns:</span></p></td>
160<td>iterator for position after the last element</td>
161</tr>
162<tr>
163<td><p><span class="term">Throws:</span></p></td>
164<td>will not throw</td>
165</tr>
166</tbody>
167</table></div>
168</li>
169</ol></div>
170</div>
171<div class="refsect2">
172<a name="id776385"></a><h3>
173<a name="id330785-bb"></a><code class="computeroutput">array</code> reverse iterator support</h3>
174<div class="orderedlist"><ol class="orderedlist" type="1">
175<li class="listitem">
176<pre class="literallayout"><a name="id330789-bb"></a><span class="identifier">reverse_iterator</span> <a name="id330793-bb"></a><span class="identifier">rbegin</span><span class="special">(</span><span class="special">)</span><span class="special">;</span>
177<span class="identifier">const_reverse_iterator</span> <a name="id330800-bb"></a><span class="identifier">rbegin</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
178<div class="variablelist"><table border="0">
179<col align="left" valign="top">
180<tbody><tr>
181<td><p><span class="term">Returns:</span></p></td>
182<td>reverse iterator for the first element of reverse iteration</td>
183</tr></tbody>
184</table></div>
185</li>
186<li class="listitem">
187<pre class="literallayout"><a name="id330817-bb"></a><span class="identifier">reverse_iterator</span> <a name="id330821-bb"></a><span class="identifier">rend</span><span class="special">(</span><span class="special">)</span><span class="special">;</span>
188<span class="identifier">const_reverse_iterator</span> <a name="id330827-bb"></a><span class="identifier">rend</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
189<div class="variablelist"><table border="0">
190<col align="left" valign="top">
191<tbody><tr>
192<td><p><span class="term">Returns:</span></p></td>
193<td>reverse iterator for position after the last element in reverse iteration</td>
194</tr></tbody>
195</table></div>
196</li>
197</ol></div>
198</div>
199<div class="refsect2">
200<a name="id776574"></a><h3>
201<a name="id330844-bb"></a><code class="computeroutput">array</code> capacity</h3>
202<div class="orderedlist"><ol class="orderedlist" type="1">
203<li class="listitem">
204<pre class="literallayout"><span class="identifier">size_type</span> <a name="id330848-bb"></a><span class="identifier">size</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
205<div class="variablelist"><table border="0">
206<col align="left" valign="top">
207<tbody><tr>
208<td><p><span class="term">Returns:</span></p></td>
209<td>
210                        <code class="computeroutput">N</code>
211                     </td>
212</tr></tbody>
213</table></div>
214</li>
215<li class="listitem">
216<pre class="literallayout"><span class="keyword">bool</span> <a name="id330866-bb"></a><span class="identifier">empty</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
217<div class="variablelist"><table border="0">
218<col align="left" valign="top">
219<tbody>
220<tr>
221<td><p><span class="term">Returns:</span></p></td>
222<td>
223                        <code class="computeroutput">N==0</code>
224                     </td>
225</tr>
226<tr>
227<td><p><span class="term">Throws:</span></p></td>
228<td>will not throw</td>
229</tr>
230</tbody>
231</table></div>
232</li>
233<li class="listitem">
234<pre class="literallayout"><span class="identifier">size_type</span> <a name="id330890-bb"></a><span class="identifier">max_size</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
235<div class="variablelist"><table border="0">
236<col align="left" valign="top">
237<tbody>
238<tr>
239<td><p><span class="term">Returns:</span></p></td>
240<td>
241                        <code class="computeroutput">N</code>
242                     </td>
243</tr>
244<tr>
245<td><p><span class="term">Throws:</span></p></td>
246<td>will not throw</td>
247</tr>
248</tbody>
249</table></div>
250</li>
251</ol></div>
252</div>
253<div class="refsect2">
254<a name="id776761"></a><h3>
255<a name="id330915-bb"></a><code class="computeroutput">array</code> element access</h3>
256<div class="orderedlist"><ol class="orderedlist" type="1">
257<li class="listitem">
258<pre class="literallayout"><a name="id330919-bb"></a><span class="identifier">reference</span> <a name="id330923-bb"></a><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span><span class="special">(</span><span class="identifier">size_type</span> i<span class="special">)</span><span class="special">;</span>
259<span class="identifier">const_reference</span> <a name="id330938-bb"></a><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span><span class="special">(</span><span class="identifier">size_type</span> i<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
260<div class="variablelist"><table border="0">
261<col align="left" valign="top">
262<tbody>
263<tr>
264<td><p><span class="term">Requires:</span></p></td>
265<td>
266                        <code class="computeroutput">i &lt; N</code>
267                     </td>
268</tr>
269<tr>
270<td><p><span class="term">Returns:</span></p></td>
271<td>
272                        element with index <code class="computeroutput">i</code>
273                     </td>
274</tr>
275<tr>
276<td><p><span class="term">Throws:</span></p></td>
277<td>will not throw.</td>
278</tr>
279</tbody>
280</table></div>
281</li>
282<li class="listitem">
283<pre class="literallayout"><a name="id330982-bb"></a><span class="identifier">reference</span> <a name="id330986-bb"></a><span class="identifier">at</span><span class="special">(</span><span class="identifier">size_type</span> i<span class="special">)</span><span class="special">;</span>
284<span class="identifier">const_reference</span> <a name="id331001-bb"></a><span class="identifier">at</span><span class="special">(</span><span class="identifier">size_type</span> i<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
285<div class="variablelist"><table border="0">
286<col align="left" valign="top">
287<tbody>
288<tr>
289<td><p><span class="term">Returns:</span></p></td>
290<td>
291                        element with index <code class="computeroutput">i</code>
292                     </td>
293</tr>
294<tr>
295<td><p><span class="term">Throws:</span></p></td>
296<td>
297                        <code class="computeroutput">
298                           std::range_error
299                        </code> if <code class="computeroutput">i &gt;= N</code>
300                     </td>
301</tr>
302</tbody>
303</table></div>
304</li>
305<li class="listitem">
306<pre class="literallayout"><a name="id331056-bb"></a><span class="identifier">reference</span> <a name="id331061-bb"></a><span class="identifier">front</span><span class="special">(</span><span class="special">)</span><span class="special">;</span>
307<span class="identifier">const_reference</span> <a name="id331069-bb"></a><span class="identifier">front</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
308<div class="variablelist"><table border="0">
309<col align="left" valign="top">
310<tbody>
311<tr>
312<td><p><span class="term">Requires:</span></p></td>
313<td>
314                        <code class="computeroutput">N &gt; 0</code>
315                     </td>
316</tr>
317<tr>
318<td><p><span class="term">Returns:</span></p></td>
319<td>the first element</td>
320</tr>
321<tr>
322<td><p><span class="term">Throws:</span></p></td>
323<td>will not throw</td>
324</tr>
325</tbody>
326</table></div>
327</li>
328<li class="listitem">
329<pre class="literallayout"><a name="id331110-bb"></a><span class="identifier">reference</span> <a name="id331115-bb"></a><span class="identifier">back</span><span class="special">(</span><span class="special">)</span><span class="special">;</span>
330<span class="identifier">const_reference</span> <a name="id331123-bb"></a><span class="identifier">back</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
331<div class="variablelist"><table border="0">
332<col align="left" valign="top">
333<tbody>
334<tr>
335<td><p><span class="term">Requires:</span></p></td>
336<td>
337                        <code class="computeroutput">N &gt; 0</code>
338                     </td>
339</tr>
340<tr>
341<td><p><span class="term">Returns:</span></p></td>
342<td>the last element</td>
343</tr>
344<tr>
345<td><p><span class="term">Throws:</span></p></td>
346<td>will not throw</td>
347</tr>
348</tbody>
349</table></div>
350</li>
351<li class="listitem">
352<pre class="literallayout"><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <a name="id331165-bb"></a><span class="identifier">data</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
353<div class="variablelist"><table border="0">
354<col align="left" valign="top">
355<tbody>
356<tr>
357<td><p><span class="term">Returns:</span></p></td>
358<td>
359                        <code class="computeroutput">elems</code>
360                     </td>
361</tr>
362<tr>
363<td><p><span class="term">Throws:</span></p></td>
364<td>will not throw</td>
365</tr>
366</tbody>
367</table></div>
368</li>
369<li class="listitem">
370<pre class="literallayout"><span class="identifier">T</span><span class="special">*</span> <a name="id331198-bb"></a><span class="identifier">c_array</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
371<div class="variablelist"><table border="0">
372<col align="left" valign="top">
373<tbody>
374<tr>
375<td><p><span class="term">Returns:</span></p></td>
376<td>
377                        <code class="computeroutput">elems</code>
378                     </td>
379</tr>
380<tr>
381<td><p><span class="term">Throws:</span></p></td>
382<td>will not throw</td>
383</tr>
384</tbody>
385</table></div>
386</li>
387</ol></div>
388</div>
389<div class="refsect2">
390<a name="id777380"></a><h3>
391<a name="id331230-bb"></a><code class="computeroutput">array</code> modifiers</h3>
392<div class="orderedlist"><ol class="orderedlist" type="1">
393<li class="listitem">
394<pre class="literallayout"><span class="keyword">void</span> <a name="id331235-bb"></a><span class="identifier">swap</span><span class="special">(</span><a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span> other<span class="special">)</span><span class="special">;</span></pre>
395<div class="variablelist"><table border="0">
396<col align="left" valign="top">
397<tbody>
398<tr>
399<td><p><span class="term">Effects:</span></p></td>
400<td>
401                        <code class="computeroutput">
402                           std::swap_ranges(<a class="link" href="array.html#id330718-bb">begin</a>(), <a class="link" href="array.html#id330751-bb">end</a>(), other.<a class="link" href="array.html#id330718-bb">begin</a>())
403                        </code>
404                     </td>
405</tr>
406<tr>
407<td><p><span class="term">Complexity:</span></p></td>
408<td>
409                        linear in <code class="computeroutput">N</code>
410                     </td>
411</tr>
412</tbody>
413</table></div>
414</li>
415<li class="listitem">
416<pre class="literallayout"><span class="keyword">void</span> <a name="id331296-bb"></a><span class="identifier">assign</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> value<span class="special">)</span><span class="special">;</span></pre>
417<div class="variablelist"><table border="0">
418<col align="left" valign="top">
419<tbody><tr>
420<td><p><span class="term">Effects:</span></p></td>
421<td>
422                        <code class="computeroutput">
423                           std::fill_n(<a class="link" href="array.html#id330718-bb">begin</a>(), N, value)
424                        </code>
425                     </td>
426</tr></tbody>
427</table></div>
428</li>
429</ol></div>
430</div>
431<div class="refsect2">
432<a name="id777592"></a><h3>
433<a name="id331348-bb"></a><code class="computeroutput">array</code> specialized algorithms</h3>
434<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
435<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> N<span class="special">&gt;</span> <span class="keyword">void</span> <a name="boost.array.swap"></a><span class="identifier">swap</span><span class="special">(</span><a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span> x<span class="special">,</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span> y<span class="special">)</span><span class="special">;</span></pre>
436<div class="variablelist"><table border="0">
437<col align="left" valign="top">
438<tbody>
439<tr>
440<td><p><span class="term">Effects:</span></p></td>
441<td>
442                        <code class="computeroutput">
443                           x.<a class="link" href="array.html#id331235-bb">swap</a>(y)
444                        </code>
445                     </td>
446</tr>
447<tr>
448<td><p><span class="term">Throws:</span></p></td>
449<td>will not throw.</td>
450</tr>
451</tbody>
452</table></div>
453</li></ol></div>
454</div>
455<div class="refsect2">
456<a name="id777791"></a><h3>
457<a name="id331434-bb"></a><code class="computeroutput">array</code> comparisons</h3>
458<div class="orderedlist"><ol class="orderedlist" type="1">
459<li class="listitem">
460<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> N<span class="special">&gt;</span>
461  <span class="keyword">bool</span> <a name="boost.array.operator=="></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span> x<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span> y<span class="special">)</span><span class="special">;</span></pre>
462<div class="variablelist"><table border="0">
463<col align="left" valign="top">
464<tbody><tr>
465<td><p><span class="term">Returns:</span></p></td>
466<td>
467                        <code class="computeroutput">
468                           std::equal(x.<a class="link" href="array.html#id330718-bb">begin</a>(), x.<a class="link" href="array.html#id330751-bb">end</a>(), y.<a class="link" href="array.html#id330718-bb">begin</a>())
469                        </code>
470                     </td>
471</tr></tbody>
472</table></div>
473</li>
474<li class="listitem">
475<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> N<span class="special">&gt;</span>
476  <span class="keyword">bool</span> <a name="boost.array.operator!="></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span> x<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span> y<span class="special">)</span><span class="special">;</span></pre>
477<div class="variablelist"><table border="0">
478<col align="left" valign="top">
479<tbody><tr>
480<td><p><span class="term">Returns:</span></p></td>
481<td>
482                        <code class="computeroutput">!(x == y)</code>
483                     </td>
484</tr></tbody>
485</table></div>
486</li>
487<li class="listitem">
488<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> N<span class="special">&gt;</span>
489  <span class="keyword">bool</span> <a name="boost.array.operator_id331592"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span> x<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span> y<span class="special">)</span><span class="special">;</span></pre>
490<div class="variablelist"><table border="0">
491<col align="left" valign="top">
492<tbody><tr>
493<td><p><span class="term">Returns:</span></p></td>
494<td>
495                        <code class="computeroutput">
496                           std::lexicographical_compare(x.<a class="link" href="array.html#id330718-bb">begin</a>(), x.<a class="link" href="array.html#id330751-bb">end</a>(), y.<a class="link" href="array.html#id330718-bb">begin</a>(), y.<a class="link" href="array.html#id330751-bb">end</a>())
497                        </code>
498                     </td>
499</tr></tbody>
500</table></div>
501</li>
502<li class="listitem">
503<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> N<span class="special">&gt;</span>
504  <span class="keyword">bool</span> <a name="boost.array.operator_id331679"></a><span class="keyword">operator</span><span class="special">&gt;</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span> x<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span> y<span class="special">)</span><span class="special">;</span></pre>
505<div class="variablelist"><table border="0">
506<col align="left" valign="top">
507<tbody><tr>
508<td><p><span class="term">Returns:</span></p></td>
509<td>
510                        <code class="computeroutput">y &lt; x</code>
511                     </td>
512</tr></tbody>
513</table></div>
514</li>
515<li class="listitem">
516<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> N<span class="special">&gt;</span>
517  <span class="keyword">bool</span> <a name="boost.array.operator_=_id331750"></a><span class="keyword">operator</span><span class="special">&lt;=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span> x<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span> y<span class="special">)</span><span class="special">;</span></pre>
518<div class="variablelist"><table border="0">
519<col align="left" valign="top">
520<tbody><tr>
521<td><p><span class="term">Returns:</span></p></td>
522<td>
523                        <code class="computeroutput">!(y &lt; x)</code>
524                     </td>
525</tr></tbody>
526</table></div>
527</li>
528<li class="listitem">
529<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> N<span class="special">&gt;</span>
530  <span class="keyword">bool</span> <a name="boost.array.operator_=_id332091"></a><span class="keyword">operator</span><span class="special">&gt;=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span> x<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span><span class="special">&amp;</span> y<span class="special">)</span><span class="special">;</span></pre>
531<div class="variablelist"><table border="0">
532<col align="left" valign="top">
533<tbody><tr>
534<td><p><span class="term">Returns:</span></p></td>
535<td>
536                        <code class="computeroutput">!(x &lt; y)</code>
537                     </td>
538</tr></tbody>
539</table></div>
540</li>
541</ol></div>
542</div>
543</div>
544</div>
545<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
546<td align="left"></td>
547<td align="right"><div class="copyright-footer">Copyright &#169; 2007 John Maddock, Joel de Guzman, Eric Niebler and Matias
548      Capeletto<p>
549        Distributed under the Boost Software License, Version 1.0. (See accompanying
550        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
551      </p>
552</div></td>
553</tr></table>
554<hr>
555<div class="spirit-nav">
556<a accesskey="p" href="../document_to_test_formatting/array.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../document_to_test_formatting/array.html#header.boost.array_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../document_to_test_formatting/accumulators.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
557</div>
558</body>
559</html>
560