Files
boost_array/array.hpp.html

163 lines
14 KiB
HTML
Raw Normal View History

<html>
<head>
<title>array.hpp</title>
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
</head>
<body text="#000000" bgcolor="#FFFFFF">
&nbsp;
<table height="40" width="100%">
<tr>
<td align="LEFT" width="100%" bgcolor="#DDDDDD"><font face="Arial,Helvetica" size="+2"><b>&nbsp;array.hpp</b></font></td>
</tr>
</table>
<br>
<br>
<br>
<tt><span class="Source"><font color="0000FF">/</font><i><font face="Arial,Helvetica,sans-serif" color="0000FF">*&nbsp;The&nbsp;following&nbsp;code&nbsp;declares&nbsp;class&nbsp;array,</font></i><br>
&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">*&nbsp;an&nbsp;STL&nbsp;container&nbsp;(as&nbsp;wrapper)&nbsp;for&nbsp;arrays&nbsp;of&nbsp;constant&nbsp;size.</font></i><br>
&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">*</font></i><br>
&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">*&nbsp;See</font></i><br>
&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.josuttis.com/cppcode</font></i><br>
&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">*&nbsp;for&nbsp;details&nbsp;and&nbsp;the&nbsp;latest&nbsp;version.</font></i><br>
&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">*</font></i><br>
&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">*&nbsp;(C)&nbsp;Copyright&nbsp;Nicolai&nbsp;M.&nbsp;Josuttis&nbsp;1999.</font></i><br>
&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">*&nbsp;Permission&nbsp;to&nbsp;copy,&nbsp;use,&nbsp;modify,&nbsp;sell&nbsp;and&nbsp;distribute&nbsp;this&nbsp;software</font></i><br>
&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">*&nbsp;is&nbsp;granted&nbsp;provided&nbsp;this&nbsp;copyright&nbsp;notice&nbsp;appears&nbsp;in&nbsp;all&nbsp;copies.</font></i><br>
&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">*&nbsp;This&nbsp;software&nbsp;is&nbsp;provided&nbsp;&quot;as&nbsp;is&quot;&nbsp;without&nbsp;express&nbsp;or&nbsp;implied</font></i><br>
&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">*&nbsp;warranty,&nbsp;and&nbsp;with&nbsp;no&nbsp;claim&nbsp;as&nbsp;to&nbsp;its&nbsp;suitability&nbsp;for&nbsp;any&nbsp;purpose.</font></i><br>
&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">*</font></i><br>
&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">*&nbsp;Jul&nbsp;31,&nbsp;2000</font></i><br>
&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">*/</font></i><br>
#ifndef&nbsp;BOOST_ARRAY_HPP<br>
#define&nbsp;BOOST_ARRAY_HPP<br>
<br>
#include&nbsp;&lt;cstddef&gt;<br>
#include&nbsp;&lt;stdexcept&gt;<br>
#include&nbsp;&lt;iterator&gt;<br>
#include&nbsp;&lt;algorithm&gt;<br>
<br>
<i><font face="Arial,Helvetica,sans-serif" color="0000FF">//&nbsp;BUG-FIX&nbsp;for&nbsp;compilers&nbsp;that&nbsp;don't&nbsp;support</font></i><br>
<i><font face="Arial,Helvetica,sans-serif" color="0000FF">//&nbsp;std::size_t&nbsp;and&nbsp;std::ptrdiff_t&nbsp;yet</font></i><br>
<i><font face="Arial,Helvetica,sans-serif" color="0000FF">//&nbsp;(such&nbsp;as&nbsp;gcc)</font></i><br>
#include&nbsp;&lt;<a href="../../boost/config.hpp">boost/config.hpp</a>&gt;<br>
<br>
namespace&nbsp;boost&nbsp;{<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;template&lt;class&nbsp;T,&nbsp;std::size_t&nbsp;N&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;array&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T&nbsp;elems[N];&nbsp;&nbsp;&nbsp;&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">//&nbsp;fixed-size&nbsp;array&nbsp;of&nbsp;elements&nbsp;of&nbsp;type&nbsp;T</font></i><br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">//&nbsp;type&nbsp;definitions</font></i><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;T&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value_type;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;T*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iterator;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;const&nbsp;T*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const_iterator;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;T&amp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reference;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;const&nbsp;T&amp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const_reference;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;std::size_t&nbsp;&nbsp;&nbsp;&nbsp;size_type;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;std::ptrdiff_t&nbsp;difference_type;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">//&nbsp;iterator&nbsp;support</font></i><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iterator&nbsp;begin()&nbsp;{&nbsp;return&nbsp;elems;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const_iterator&nbsp;begin()&nbsp;const&nbsp;{&nbsp;return&nbsp;elems;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iterator&nbsp;end()&nbsp;{&nbsp;return&nbsp;elems+N;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const_iterator&nbsp;end()&nbsp;const&nbsp;{&nbsp;return&nbsp;elems+N;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">//&nbsp;reverse&nbsp;iterator&nbsp;support</font></i><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;std::reverse_iterator&lt;iterator&gt;&nbsp;reverse_iterator;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;std::reverse_iterator&lt;const_iterator&gt;&nbsp;const_reverse_iterator;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reverse_iterator&nbsp;rbegin()&nbsp;{&nbsp;return&nbsp;reverse_iterator(end());&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const_reverse_iterator&nbsp;rbegin()&nbsp;const&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;const_reverse_iterator(end());<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reverse_iterator&nbsp;rend()&nbsp;{&nbsp;return&nbsp;reverse_iterator(begin());&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const_reverse_iterator&nbsp;rend()&nbsp;const&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;const_reverse_iterator(begin());<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">//&nbsp;operator[]</font></i><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reference&nbsp;operator[](size_type&nbsp;i)&nbsp;{&nbsp;return&nbsp;elems[i];&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const_reference&nbsp;operator[](size_type&nbsp;i)&nbsp;const&nbsp;{&nbsp;return&nbsp;elems[i];&nbsp;}<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">//&nbsp;at()&nbsp;with&nbsp;range&nbsp;check</font></i><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">//&nbsp;note:&nbsp;rangecheck()&nbsp;is&nbsp;public&nbsp;because&nbsp;we&nbsp;have&nbsp;implemented&nbsp;array</font></i><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;as&nbsp;aggregate,&nbsp;which&nbsp;forbids&nbsp;non-public&nbsp;members</font></i><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;rangecheck&nbsp;(size_type&nbsp;i)&nbsp;const&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(i&nbsp;&gt;=&nbsp;size())&nbsp;{&nbsp;throw&nbsp;std::range_error(&quot;array&quot;);&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reference&nbsp;at(size_type&nbsp;i)&nbsp;{&nbsp;rangecheck(i);&nbsp;return&nbsp;elems[i];&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const_reference&nbsp;at(size_type&nbsp;i)&nbsp;const&nbsp;{&nbsp;rangecheck(i);&nbsp;return&nbsp;elems[i];&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">//&nbsp;front()&nbsp;and&nbsp;back()</font></i><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reference&nbsp;front()&nbsp;{&nbsp;return&nbsp;elems[0];&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const_reference&nbsp;front()&nbsp;const&nbsp;{&nbsp;return&nbsp;elems[0];&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reference&nbsp;back()&nbsp;{&nbsp;return&nbsp;elems[N-1];&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const_reference&nbsp;back()&nbsp;const&nbsp;{&nbsp;return&nbsp;elems[N-1];&nbsp;}<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">//&nbsp;size&nbsp;is&nbsp;constant</font></i><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static&nbsp;size_type&nbsp;size()&nbsp;{&nbsp;return&nbsp;N;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static&nbsp;bool&nbsp;empty()&nbsp;{&nbsp;return&nbsp;false;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static&nbsp;size_type&nbsp;max_size()&nbsp;{&nbsp;return&nbsp;N;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enum&nbsp;{&nbsp;static_size&nbsp;=&nbsp;N&nbsp;};<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">//&nbsp;swap&nbsp;(note:&nbsp;linear&nbsp;complexity)</font></i><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;swap&nbsp;(array&amp;&nbsp;y)&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;std::swap_ranges(begin(),end(),y.begin());<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">//&nbsp;direct&nbsp;access&nbsp;to&nbsp;data</font></i><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;T*&nbsp;data()&nbsp;const&nbsp;{&nbsp;return&nbsp;elems;&nbsp;}<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">//&nbsp;assignment&nbsp;with&nbsp;type&nbsp;conversion</font></i><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">//template&nbsp;&lt;typename&nbsp;T2&gt;</font></i><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">//T&amp;&nbsp;operator=&nbsp;(const&nbsp;array&lt;T2,N&gt;&amp;&nbsp;rhs)&nbsp;{</font></i><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">//&nbsp;&nbsp;&nbsp;&nbsp;std::copy&nbsp;(begin(),end(),rhs.begin());</font></i><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">//}</font></i><br>
&nbsp;&nbsp;&nbsp;&nbsp;};<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">//&nbsp;comparisons</font></i><br>
&nbsp;&nbsp;&nbsp;&nbsp;template&lt;class&nbsp;T,&nbsp;std::size_t&nbsp;N&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;bool&nbsp;operator==&nbsp;(const&nbsp;array&lt;T,N&gt;&amp;&nbsp;x,&nbsp;const&nbsp;array&lt;T,N&gt;&amp;&nbsp;y)&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;std::equal(x.begin(),&nbsp;x.end(),&nbsp;y.begin());<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;template&lt;class&nbsp;T,&nbsp;std::size_t&nbsp;N&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;bool&nbsp;operator&lt;&nbsp;(const&nbsp;array&lt;T,N&gt;&amp;&nbsp;x,&nbsp;const&nbsp;array&lt;T,N&gt;&amp;&nbsp;y)&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;std::lexicographical_compare(x.begin(),x.end(),y.begin(),y.end());<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;template&lt;class&nbsp;T,&nbsp;std::size_t&nbsp;N&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;bool&nbsp;operator!=&nbsp;(const&nbsp;array&lt;T,N&gt;&amp;&nbsp;x,&nbsp;const&nbsp;array&lt;T,N&gt;&amp;&nbsp;y)&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;!(x==y);<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;template&lt;class&nbsp;T,&nbsp;std::size_t&nbsp;N&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;bool&nbsp;operator&gt;&nbsp;(const&nbsp;array&lt;T,N&gt;&amp;&nbsp;x,&nbsp;const&nbsp;array&lt;T,N&gt;&amp;&nbsp;y)&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;y&lt;x;<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;template&lt;class&nbsp;T,&nbsp;std::size_t&nbsp;N&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;bool&nbsp;operator&lt;=&nbsp;(const&nbsp;array&lt;T,N&gt;&amp;&nbsp;x,&nbsp;const&nbsp;array&lt;T,N&gt;&amp;&nbsp;y)&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;!(y&lt;x);<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;template&lt;class&nbsp;T,&nbsp;std::size_t&nbsp;N&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;bool&nbsp;operator&gt;=&nbsp;(const&nbsp;array&lt;T,N&gt;&amp;&nbsp;x,&nbsp;const&nbsp;array&lt;T,N&gt;&amp;&nbsp;y)&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;!(x&lt;y);<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">//&nbsp;global&nbsp;swap()</font></i><br>
&nbsp;&nbsp;&nbsp;&nbsp;template&lt;class&nbsp;T,&nbsp;std::size_t&nbsp;N&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;inline&nbsp;void&nbsp;swap&nbsp;(const&nbsp;array&lt;T,N&gt;&amp;&nbsp;x,&nbsp;const&nbsp;array&lt;T,N&gt;&amp;&nbsp;y)&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x.swap(y);<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
}&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">/*&nbsp;namespace&nbsp;boost&nbsp;*/</font></i><br>
<br>
#endif&nbsp;<i><font face="Arial,Helvetica,sans-serif" color="0000FF">/*BOOST_ARRAY_HPP*/</font></i><br>
</span></tt>
</body>
</html>