Minor edits. Update TOC.

This commit is contained in:
Beman
2014-12-31 10:32:47 -05:00
parent 48f7363cd7
commit ca8b904502

View File

@ -42,15 +42,20 @@
<a href="#Abstract">Abstract</a><br> <a href="#Abstract">Abstract</a><br>
<a href="#Introduction-to-endianness">Introduction to endianness</a><br> <a href="#Introduction-to-endianness">Introduction to endianness</a><br>
<a href="#Introduction">Introduction to the Boost.Endian library</a><br> <a href="#Introduction">Introduction to the Boost.Endian library</a><br>
<a href="#Choosing">Choosing between conversion, buffer types,</a><br> <a href="#Choosing">Choosing between conversion functions,</a><br>
&nbsp;<a href="#Choosing">and arithmetic types</a><br> &nbsp; <a href="#Choosing">buffer types, and arithmetic types</a><br>
&nbsp;&nbsp;&nbsp;<a href="#Characteristics">Characteristics</a><br> &nbsp;&nbsp;&nbsp;<a href="#Characteristics">Characteristics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Endianness-invariants">Endianness invariants</a><br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Endianness-invariants">Endianness invariants</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Conversion-explicitness">Conversion explicitness</a><br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Conversion-explicitness">Conversion explicitness</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Arithmetic-operations">Arithmetic operations</a><br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Arithmetic-operations">Arithmetic operations</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Sizes">Sizes</a><br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Sizes">Sizes</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Alignments">Alignments</a><br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Alignments">Alignments</a><br>
&nbsp;&nbsp;&nbsp;<a href="#Use-cases">Use cases</a><br> &nbsp;&nbsp;&nbsp;<a href="#Design-patterns">Design patterns</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#As-needed">Convert only as needed (i.e. lazy)</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Anticipating-need">Convert in anticipation of need</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Convert-generally-as-needed-locally-in-anticipation">Generally
as needed, locally in anticipation</a><br>
&nbsp;&nbsp;&nbsp;<a href="#Use-cases">Use case examples</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Porting-endian-unaware-codebase">Porting endian unaware codebase</a><br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Porting-endian-unaware-codebase">Porting endian unaware codebase</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Porting-endian-aware-codebase">Porting endian aware codebase</a><br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Porting-endian-aware-codebase">Porting endian aware codebase</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Reliability-arithmetic-speed">Reliability and arithmetic-speed</a><br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Reliability-arithmetic-speed">Reliability and arithmetic-speed</a><br>
@ -83,7 +88,11 @@
<a href="#Introduction-to-endianness">endianness</a> of integers, <a href="#Introduction-to-endianness">endianness</a> of integers,
floating point numbers, and user-defined types.</p> floating point numbers, and user-defined types.</p>
<ul> <ul>
<li>Primary use cases:<br> <li>Three approaches to dealing with endianness are supported. Each has a
long history of successful use, and each approach has use cases where it is
preferred over the other approaches.<br>
&nbsp;</li>
<li>Primary uses:<br>
&nbsp;<ul> &nbsp;<ul>
<li>Data portability. The Endian library supports binary data exchange, via either external media or network transmission, <li>Data portability. The Endian library supports binary data exchange, via either external media or network transmission,
regardless of platform endianness.<br> regardless of platform endianness.<br>
@ -97,14 +106,15 @@ floating point numbers, and user-defined types.</p>
</ul> </ul>
</li> </li>
<li>Secondary use case: Minimizing data size via sizes and/or alignments not supported by the <li>Secondary use: Minimizing data size via sizes and/or alignments not supported by the
standard C++ arithmetic types.<br> standard C++ arithmetic types.<br>
<br></li> </li>
<li>Three approaches to dealing with endianness are supported. Each has a
long history of successful use, and each approach has use cases where it is
preferred over the other approaches.</li>
</ul> </ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p> <p>&nbsp;</p>
<p>&nbsp;</p> <p>&nbsp;</p>
@ -810,17 +820,14 @@ and 16, 32, and 64-bit aligned integers.</p>
<h2><a name="Release-history">Release history</a></h2> <h2><a name="Release-history">Release history</a></h2>
<h3><a name="Changes-since-formal-review">Changes since formal review</a></h3> <h3><a name="Changes-since-formal-review">Changes since formal review</a></h3>
<ul> <ul>
<li> <li>The endian types have been decomposed into endian buffer types
<p>The endian types have been decomposed into endian buffer types
and endian arithmetic types, as requested. The arithmetic types derive from and endian arithmetic types, as requested. The arithmetic types derive from
the buffer types.</li> the buffer types.</li>
<li> <li>Headers have been renamed to <code>endian/arithmetic.hpp</code> and
<p>Headers have been renamed to <code>endian/arithmetic.hpp</code> and
<code>endian/conversion.hpp</code>. <code>endian/buffers.hpp</code> has been <code>endian/conversion.hpp</code>. <code>endian/buffers.hpp</code> has been
added. added.
Infrastructure file names were changed accordingly.</li> Infrastructure file names were changed accordingly.</li>
<li> <li>The endian buffer and arithmetic types and endian conversion functions now support 32-bit (<code>float)</code> and
<p>The endian buffer and arithmetic types and endian conversion functions now support 32-bit (<code>float)</code> and
64-bit <code>(double)</code> floating point, as requested.</li> 64-bit <code>(double)</code> floating point, as requested.</li>
<li>The endian types now have stream inserter and extractor templates, as <li>The endian types now have stream inserter and extractor templates, as
requested.</li> requested.</li>