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 <boost/array.hpp>"> 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 — 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: <<a class="link" href="../document_to_test_formatting/array.html#header.boost.array_hpp" title="Header <boost/array.hpp>">boost/array.hpp</a>> 33 34</span><span class="keyword">template</span><span class="special"><</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">></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"><</span><span class="identifier">iterator</span><span class="special">></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"><</span><span class="identifier">const_iterator</span><span class="special">></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">&</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">&</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"><</span><span class="keyword">typename</span> U<span class="special">></span> array& <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"><</span><span class="identifier">U</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</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">&</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"><</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">></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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</span><span class="special">,</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</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"><</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">></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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</span><span class="special">)</span><span class="special">;</span> 99<span class="keyword">template</span><span class="special"><</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">></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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</span><span class="special">)</span><span class="special">;</span> 101<span class="keyword">template</span><span class="special"><</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">></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"><</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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</span><span class="special">)</span><span class="special">;</span> 103<span class="keyword">template</span><span class="special"><</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">></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">></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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</span><span class="special">)</span><span class="special">;</span> 105<span class="keyword">template</span><span class="special"><</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">></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"><=</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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</span><span class="special">)</span><span class="special">;</span> 107<span class="keyword">template</span><span class="special"><</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">></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">>=</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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</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"><</span><span class="keyword">typename</span> U<span class="special">></span> array& <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"><</span><span class="identifier">U</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</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 < 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 >= 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 > 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 > 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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</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">&</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"><</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">></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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</span> x<span class="special">,</span> <a class="link" href="array.html" title="Class template array">array</a><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</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"><</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">></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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</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"><</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">></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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</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"><</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">></span> 489 <span class="keyword">bool</span> <a name="boost.array.operator_id331592"></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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</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"><</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">></span> 504 <span class="keyword">bool</span> <a name="boost.array.operator_id331679"></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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</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 < 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"><</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">></span> 517 <span class="keyword">bool</span> <a name="boost.array.operator_=_id331750"></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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</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 < 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"><</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">></span> 530 <span class="keyword">bool</span> <a name="boost.array.operator_=_id332091"></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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</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"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">&</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 < 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 © 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