diff --git a/doc/index.html b/doc/index.html
index 539b816..895e680 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -53,7 +53,10 @@
Conclusions
Overall FAQ
Release history
- Changes since formal review
+ Changes
+requested by formal review
+ Other changes since
+formal review
Acknowledgements
@@ -171,7 +174,8 @@ integers. The types may be aligned.
Boost Endian is a header-only library.
+Boost Endian is a header-only library. C++03 compilers are supported. C++11 features
+affecting interfaces, such as noexcept
, are used only if available.
Are C++03 compilers supported?
+ ++ ++Yes.
+ +
Does the implementation use compiler intrinsic built-in byte swapping?
@@ -596,50 +608,33 @@ and 16, 32, and 64-bit aligned integers.
The library was reworked from top to bottom to accommodate changes requested +during the formal review. See Mini-Review +page for details.
+endian/arithmetic.hpp
and
endian/conversion.hpp
. endian/buffers.hpp
has been
added.
Infrastructure file names were changed accordingly.float)
and
- 64-bit (double)
floating point, as requested.order::native
is now a synonym for order::big
- or order::little
according to the endianness of the platform, as
- requested. This reduces the number of template specializations required._t
suffix, for
+ consistency with the standard library integer type aliases and because use of
+ aligned types is much more common than unaligned types._ut
suffix. This
+ is short, yet stands out enough to alert the reader than unusual types are
+ involved.endian_reverse()
overloads for int8_t
and
uint8_t
have been added for improved generality. (Pierre Talbot)endian_reverse_inplace()
have been replaced with a single
endian_reverse_inplace()
template. (Pierre Talbot)noexcept
are now used, while still
- supporting C++03 compilers.noexcept
, are now used.
+ C++03 compilers are still
+ supported.Here is what needs to be done to get the library ready for a mini-review: +
+
+![]() |
+ + + Endian Mini-Review | +
+ Endian Home + Conversion Functions + Arithmetic Types + Buffer Types + Choosing Approach | +
The results of the Boost.Endian formal review included a list of issues to be +resolved before a mini-review.
- +The issues are shown in bold below, with the resolution indicated.
-Common use case scenarios should be developed.
+1. Common use case scenarios should be developed.
--Done. See Use cases.
+Done. The documentation have been refactored. A page is now devoted to + Choosing the Approach to endianness. See + Use cases for use case + scenarios.
Example programs should be developed for the common use case scenarios.
+2. Example programs should be developed for the common use case scenarios.
--+
Done. See Choosing the Approach. + Example code has been added throughout.
Documentation should illuminate the differences between endian +
3. Documentation should illuminate the differences between endian integer/float type and endian conversion approaches to the common use case scenarios, and provide guidelines for choosing the most appropriate approach in user's applications.
--Done. See Choosing between endian conversion - functions, endian buffer types, and endian arithmetic types.
+Done. See Choosing the Approach.
Conversion functions supplying results via return should be provided.
+4 .Conversion functions supplying results via return should be provided.
--Done. See conversion docs.
+Done. See ConversionFunctions.
Platform specific performance enhancements such as use of compiler intrinsics or relaxed alignment requirements should be supported.
+5. Platform specific performance enhancements such as use of compiler intrinsics or relaxed alignment requirements should be supported.
-Done. Compiler (Clang, GCC, VisualC++, etc.) intrinsics and built-in functions are used in the implementation where appropriate, as requested. See @@ -44,7 +70,7 @@ approach in user's applications.
Timings for Example 2 to gauge the impact of intrinsics.
Endian integer (and floating) types should be implemented via the +
6. Endian integer (and floating) types should be implemented via the conversion functions. If that can't be done efficiently, consideration should be given to expanding the conversion function signatures to resolve the inefficiencies.
@@ -52,7 +78,7 @@ resolve the inefficiencies.Done. For the endian types, the implementation uses the endian conversion functions, and thus the intrinsics, as requested.
-Benchmarks that measure performance should be provided. It should be +
7. Benchmarks that measure performance should be provided. It should be possible to compare platform specific performance enhancements against portable base implementations, and to compare endian integer approaches against endian conversion approaches for the common use case scenarios.
@@ -60,7 +86,7 @@ against endian conversion approaches for the common use case scenarios.Done. See Timings for Example 2. The endian/test
directory
also contains several additional benchmark and speed test programs.
Float (32-bits) and double (64-bits) should be supported. IEEE 754 is +
8. Float (32-bits) and double (64-bits) should be supported. IEEE 754 is the primary use case.
-Done. The endian buffer types, @@ -68,12 +94,13 @@ the primary use case.
endian conversion functions now support 32-bit (float)
and 64-bit(double)
floating point, as requested.
Support for user defined types (UDTs) is desirable, and should be +
9. Support for user defined types (UDTs) is desirable, and should be provided where there would be no conflict with the other concerns.
--Done. See conversion requirements.
+Done. See Customization + points for user-defined types (UDTs).
There is some concern that endian integer/float arithmetic operations +
10. There is some concern that endian integer/float arithmetic operations might used inadvertently or inappropriately. The impact of adding an endian_buffer class without arithmetic operations should be investigated.
@@ -83,23 +110,37 @@ might used inadvertently or inappropriately. The impact of adding an endian_buff-endian_buffer
is a public base class forendian_arithmetic
, and can also be used by users as a stand-alone class.
Stream insertion and extraction of the endian integer/float types should +
11. Stream insertion and extraction of the endian integer/float types should be documented and included in the test coverage.
-Done. See Stream inserter and Stream extractor.
Binary I/O support that was investigated during development of the Endian +
12. Binary I/O support that was investigated during development of the Endian library should be put up for mini-review for inclusion in the Boost I/O library.
-++
Not done yet. Will be handled as a separate min-review soon after the + Endian mini-review.
+
13. Other requested changes.
+ +++
- In addition to the named-endianness conversion functions, functions that perform + compile-time (via template) and run-time (via function argument) dispatch + are now provided.
+- +
order::native
is now a synonym fororder::big
+ ororder::little
according to the endianness of the platform. This reduces the number of template specializations required.- Headers have been reorganized to make them easier to read, + with a synopsis at the front and implementation following.
+
Last revised: -17 December, 2014
+02 January, 2015© Copyright Beman Dawes, 2014
Distributed under the Boost Software License, Version 1.0. See www.boost.org/ LICENSE_1_0.txt