Subject: [boost] [Boost.Endian] Review Results
From: joel falcou (joel.falcou_at_[hidden])
Date: 2011-11-03 14:53:03
after some delay, here is the result of the review of Beman Dawes'
Boost.Endian library. First, I want to thanks all participants
of the review that lead to very deep and interesting discussions on the
5 votes were cast : 2 unconditionally in favor, 3 conditionally in favor
after changes made and there is a mini-review.
The verdict is that Boost.Endian is **CONDITIONNALY ACCEPTED**
Here is what needs to be done to get the library ready for a mini-review:
* Common use case scenarios should be developed.
* Example programs should be developed for the common use case scenarios.
* 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.
* Conversion functions supplying results via return should be provided.
* Platform specific performance enhancements such as use of compiler
intrinsics or relaxed alignment requirements should be supported.
* 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.
* 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.
* Float (32-bits) and double (64-bits) should be supported. IEEE 754 is
the primary use case.
* Support for user defined types (UDTs) is desirable, and should be
provided where there would be no conflict with the other concerns.
* 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.
* Stream insertion and extraction of the endian integer/float types
should be documented and included in the test coverage.
* 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.
From this point, I will let Beman prepare Endian for the mini-review
and I already volunteer to manage the mini-review so informations are
not scattered around.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk