Docs fixes (Nico)+ add return 0; to test files (Beman)

[SVN r8496]
This commit is contained in:
Beman Dawes
2000-12-27 02:03:29 +00:00
parent debb0f0908
commit a91e96a8ab
6 changed files with 58 additions and 38 deletions

View File

@ -15,11 +15,14 @@
Wrapper) for Arrays of Constant Size</font></b></td> Wrapper) for Arrays of Constant Size</font></b></td>
</tr> </tr>
</table> </table>
<p><font face="Arial, Helvetica, sans-serif" size="-1">The C++ Standard Template <p><font size="-1" face="Arial, Helvetica, sans-serif">[<a href="#intro">intro</a>]
Library STL as part of the C++ Standard Library provides a framework for processing [<a href="#interface">interface</a>] [<a href="#discussion">discussion</a>]
algorithms on different kind of containers. However, ordinary arrays don't provide [<a href="#code">code</a>]</font>
the interface of STL containers (although, they provide the iterator interface <p><font face="Arial, Helvetica, sans-serif" size="-1"><a name="intro"></a>The
of STL containers).</font> C++ Standard Template Library STL as part of the C++ Standard Library provides
a framework for processing algorithms on different kind of containers. However,
ordinary arrays don't provide the interface of STL containers (although, they
provide the iterator interface of STL containers).</font>
<p><font face="Arial, Helvetica, sans-serif" size="-1">As replacement for ordinary <p><font face="Arial, Helvetica, sans-serif" size="-1">As replacement for ordinary
arrays, the STL provides class <font face="Courier New, Courier, mono">vector&lt;&gt;</font>. arrays, the STL provides class <font face="Courier New, Courier, mono">vector&lt;&gt;</font>.
However, <font face="Courier New, Courier, mono">vector&lt;&gt;</font> provides However, <font face="Courier New, Courier, mono">vector&lt;&gt;</font> provides
@ -38,8 +41,8 @@
the essence of these approaches spiced with many feedback from <a href="http://www.boost.org">boost</a>.</font> the essence of these approaches spiced with many feedback from <a href="http://www.boost.org">boost</a>.</font>
<p><font face="Arial, Helvetica, sans-serif" size="-1">After considering different <p><font face="Arial, Helvetica, sans-serif" size="-1">After considering different
names, we decided to name this class simply <font face="Courier New, Courier, mono"><b>array</b></font>.</font> names, we decided to name this class simply <font face="Courier New, Courier, mono"><b>array</b></font>.</font>
<p><font face="Arial, Helvetica, sans-serif" size="-1">The class provides the <p><font face="Arial, Helvetica, sans-serif" size="-1"><a name="interface"></a>The
following interface:</font> class provides the following interface:</font>
<table border="0"> <table border="0">
<tr> <tr>
<td><font face="Arial, Helvetica, sans-serif" size="-1"><b>Types:</b></font></td> <td><font face="Arial, Helvetica, sans-serif" size="-1"><b>Types:</b></font></td>
@ -127,7 +130,7 @@
<tr> <tr>
<td><font face="Courier New, Courier, mono" size="-1">rend()</font></td> <td><font face="Courier New, Courier, mono" size="-1">rend()</font></td>
<td><font face="Arial, Helvetica, sans-serif" size="-1">returns reverse iterator <td><font face="Arial, Helvetica, sans-serif" size="-1">returns reverse iterator
for posistion behind last element of reverese iteration </font></td> for position behind last element of reverse iteration </font></td>
</tr> </tr>
<tr> <tr>
<td><font face="Courier New, Courier, mono" size="-1">operator[<i>i</i>]</font></td> <td><font face="Courier New, Courier, mono" size="-1">operator[<i>i</i>]</font></td>
@ -197,10 +200,10 @@
time</font></td> time</font></td>
</tr> </tr>
</table> </table>
<p><font face="Arial, Helvetica, sans-serif" size="-1">Class array fulfills most <p><font face="Arial, Helvetica, sans-serif" size="-1"><a name="discussion"></a>Class
but not all of the requirements of &quot;reversible containers&quot; (see Section array fulfills most but not all of the requirements of &quot;reversible containers&quot;
23.1, [lib.container.requirements] of the C++ Standard). The reasons array is (see Section 23.1, [lib.container.requirements] of the C++ Standard). The reasons
not an reversible STL container is because: </font> <font face="Arial, Helvetica, sans-serif" size="-1"><br> array is not an reversible STL container is because: </font> <font face="Arial, Helvetica, sans-serif" size="-1"><br>
- No constructors are provided<br> - No constructors are provided<br>
- Elements may have an indetermined initial value (see below)<br> - Elements may have an indetermined initial value (see below)<br>
- swap() has no constant complexity<br> - swap() has no constant complexity<br>
@ -236,43 +239,45 @@
<li><font face="Arial, Helvetica, sans-serif" size="-1">It has no virtual functions.</font></li> <li><font face="Arial, Helvetica, sans-serif" size="-1">It has no virtual functions.</font></li>
</ul> </ul>
<p><font face="Arial, Helvetica, sans-serif" size="-1">The current implementation <p><font face="Arial, Helvetica, sans-serif" size="-1">The current implementation
useus this approach. However, being able to have indetermined initial values uses this approach. However, being able to have indeterminate initial values
is a big drawback. So, please give me some feedback, how useful you consider is a big drawback. So, please give me some feedback, how useful you consider
this feature to be. This leads to the list of <b>Open issues:</b></font> this feature to be. This leads to the list of <b>Open issues:</b></font>
<ul> <ul>
<li><font face="Arial, Helvetica, sans-serif">Do we want initializer list support <li><font face="Arial, Helvetica, sans-serif" size="-1">Do we want initializer
or would the following be OK?:</font> list support or would the following be OK?:</font>
<blockquote> <blockquote>
<p><font face="Courier New, Courier, mono">int data[] = { 1, 2, 3, 4 }</font></p> <p><font face="Courier New, Courier, mono" size="-1">int data[] = { 1, 2,
<p><font face="Courier New, Courier, mono">array&lt;int,5&gt; x(data); <font face="Arial, Helvetica, sans-serif">or 3, 4 }</font></p>
</font>&nbsp;&nbsp;array&lt;int,data&gt; x;</font></p> <p><font face="Courier New, Courier, mono" size="-1">array&lt;int,5&gt;
x(data); <font face="Arial, Helvetica, sans-serif">or </font>&nbsp;&nbsp;array&lt;int,data&gt;
x;</font></p>
</blockquote> </blockquote>
</li> </li>
<li><font face="Arial, Helvetica, sans-serif">Could &quot;<font face="Courier New, Courier, mono">{ <li><font face="Arial, Helvetica, sans-serif" size="-1">Could &quot;<font face="Courier New, Courier, mono">{
</font>...<font face="Courier New, Courier, mono"> }</font>&quot; be used </font>...<font face="Courier New, Courier, mono"> }</font>&quot; be used
portably instead of &quot;<font face="Courier New, Courier, mono">{ { </font>...<font face="Courier New, Courier, mono"> portably instead of &quot;<font face="Courier New, Courier, mono">{ { </font>...<font face="Courier New, Courier, mono">
} }</font>&quot; to initialize values?</font> </li> } }</font>&quot; to initialize values?</font> </li>
<blockquote> <blockquote>
<p><font face="Arial, Helvetica, sans-serif">8.5.1 (11) of the Standard seem <p><font face="Arial, Helvetica, sans-serif" size="-1">8.5.1 (11) of the Standard
to allow it; however, gcc 2.95.2 printa warning message.</font></p> seems to allow it; however, gcc 2.95.2 prints a warning message.</font></p>
</blockquote> </blockquote>
<li><font face="Arial, Helvetica, sans-serif">Any way to have determined initial <li><font face="Arial, Helvetica, sans-serif" size="-1">Any way to have determinate
values and initializer list support?</font></li> initial values and initializer list support?</font></li>
<li><font face="Arial, Helvetica, sans-serif">Static_casts for reverse iterator <li><font face="Arial, Helvetica, sans-serif" size="-1">Static_casts for reverse
stuff</font><font face="Arial, Helvetica, sans-serif">?</font></li> iterator stuff?</font></li>
</ul> </ul>
<p><font face="Arial, Helvetica, sans-serif">I'd appreciate any constructive <a href="mailto:solutions@josuttis.com">feedback</a>. <p><font face="Arial, Helvetica, sans-serif" size="-1">I'd appreciate any constructive
<b>Please note: I don't have time to read all boost mails. Thus, to make sure <a href="mailto:solutions@josuttis.com">feedback</a>. <b>Please note: I don't
that feedback arrives me, please send me a copy of each mail regarding this have time to read all boost mails. Thus, to make sure that feedback arrives
class.</b></font> me, please send me a copy of each mail regarding this class.</b></font>
<p><font face="Arial, Helvetica, sans-serif">The code is provided "as is" without <p><font face="Arial, Helvetica, sans-serif"><a name="code"></a>The code is provided
expressed or implied warranty.</font> "as is" without expressed or implied warranty.</font>
<p><font face="Arial, Helvetica, sans-serif"><b>array.hpp</b>, the implementation <p><font face="Arial, Helvetica, sans-serif"><b>array.hpp</b>, the implementation
of <font face="Courier New, Courier, mono">array&lt;&gt;</font><b>:</b> </font> of <font face="Courier New, Courier, mono">array&lt;&gt;</font><b>:</b> </font>
<li><font face="Arial, Helvetica, sans-serif"> <li><font face="Arial, Helvetica, sans-serif">
<a href="array.hpp.html">as HTML file</a></font></li> <a href="array.hpp.html">as HTML file</a></font></li>
<li><font face="Arial, Helvetica, sans-serif"> <li><font face="Arial, Helvetica, sans-serif">
<a href="../../boost/array.hpp">as plain file</a></font></li> <a href="array.hpp">as plain file</a></font></li>
<p> <font face="Arial, Helvetica, sans-serif">Simple Example for using <font face="Courier New, Courier, mono">array&lt;&gt;<font face="Arial, Helvetica, sans-serif">:</font></font></font> <p> <font face="Arial, Helvetica, sans-serif">Simple Example for using <font face="Courier New, Courier, mono">array&lt;&gt;<font face="Arial, Helvetica, sans-serif">:</font></font></font>
<li><font face="Arial, Helvetica, sans-serif"> <li><font face="Arial, Helvetica, sans-serif">
<a href="array1.cpp.html">as HTML file</a></font> </li> <a href="array1.cpp.html">as HTML file</a></font> </li>
@ -298,7 +303,12 @@
<li><font face="Arial, Helvetica, sans-serif"> <a href="array5.cpp.html">as HTML <li><font face="Arial, Helvetica, sans-serif"> <a href="array5.cpp.html">as HTML
file</a></font></li> file</a></font></li>
<li><font face="Arial, Helvetica, sans-serif"> <a href="array5.cpp">as plain file</a></font></li> <li><font face="Arial, Helvetica, sans-serif"> <a href="array5.cpp">as plain file</a></font></li>
<p><font face="Arial, Helvetica, sans-serif"> <p><b><font face="Arial, Helvetica, sans-serif">All files</font></b>
<li><font face="Arial, Helvetica, sans-serif"> <a href="array.zip">as ZIP file
(24KB)</a></font></li>
<li><font face="Arial, Helvetica, sans-serif"> <a href="array.tgz">as TGZ file
(13KB)</a><br>
<br>
To find more details about using ordinary arrays in C++ and the framework of To find more details about using ordinary arrays in C++ and the framework of
the STL, see e.g.</font> <font face="Arial, Helvetica, sans-serif"><br> the STL, see e.g.</font> <font face="Arial, Helvetica, sans-serif"><br>
<i>&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.josuttis.com/libbook/">The C++ <i>&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.josuttis.com/libbook/">The C++
@ -307,9 +317,14 @@
M. Josuttis</a></font> <font face="Arial, Helvetica, sans-serif"><br> M. Josuttis</a></font> <font face="Arial, Helvetica, sans-serif"><br>
&nbsp;&nbsp;&nbsp;&nbsp; Addison Wesley Longman, 1999</font> <font face="Arial, Helvetica, sans-serif"><br> &nbsp;&nbsp;&nbsp;&nbsp; Addison Wesley Longman, 1999</font> <font face="Arial, Helvetica, sans-serif"><br>
&nbsp;&nbsp;&nbsp;&nbsp; ISBN 0-201-37926-0</font> <font face="Arial, Helvetica, sans-serif"><br> &nbsp;&nbsp;&nbsp;&nbsp; ISBN 0-201-37926-0</font> <font face="Arial, Helvetica, sans-serif"><br>
</font> </font></li>
<p><font face="Arial, Helvetica, sans-serif"><a href="http://www.josuttis.com/" TARGET="_top">Home <p><font face="Arial, Helvetica, sans-serif"><a href="http://www.josuttis.com/" TARGET="_top">Home
Page of Nicolai Josuttis</a></font> <font face="Arial, Helvetica, sans-serif"><br> Page of Nicolai Josuttis</a></font><font face="Arial, Helvetica, sans-serif">
&nbsp; </font> </font>
<p><font size="-1" face="Arial, Helvetica, sans-serif">[<a href="#intro">intro</a>]
[<a href="#interface">interface</a>] [<a href="#discussion">discussion</a>]
[<a href="#code">code</a>]</font>
<p><font face="Arial, Helvetica, sans-serif" size="-1"></font>
<p><font face="Arial, Helvetica, sans-serif">&nbsp; </font>
</body> </body>
</html> </html>

View File

@ -42,5 +42,6 @@ int main()
std::cout << "copy construction and copy assignment FAILED" std::cout << "copy construction and copy assignment FAILED"
<< std::endl; << std::endl;
} }
return 0;
} }

View File

@ -29,5 +29,6 @@ int main()
a.begin(), // destination a.begin(), // destination
negate<int>()); // operation negate<int>()); // operation
PRINT_ELEMENTS(a); PRINT_ELEMENTS(a);
return 0;
} }

View File

@ -35,6 +35,7 @@ int main()
std::cout << " " << *pos; std::cout << " " << *pos;
} }
std::cout << std::endl; std::cout << std::endl;
return 0;
} }
template <class T> template <class T>

View File

@ -32,5 +32,6 @@ int main()
std::cout << "last element of last array: " std::cout << "last element of last array: "
<< seasons_i18n[seasons_i18n.size()-1][seasons_i18n[0].size()-1] << seasons_i18n[seasons_i18n.size()-1][seasons_i18n[0].size()-1]
<< std::endl; << std::endl;
return 0;
} }

View File

@ -60,5 +60,6 @@ int main()
DArray da; DArray da;
da = ia; da = ia;
da.assign(42); da.assign(42);
return 0;
} }