Beman
|
8c36890e77
|
Test and doc updates for Pierre Talbot's int8_t/uint8_t reverse_value() and templated reverse() patch.
|
2014-04-16 13:52:24 -04:00 |
|
Pierre Talbot
|
11fc1ea374
|
Add overloads for int8_t and uint8_t (rational: useful with generic programming). Template the reverse function (same body in each overloads).
|
2014-01-22 18:09:50 +01:00 |
|
Beman
|
d339470e6e
|
Remove "explicit" from Endian type constructors. Rationale: Having to write "cntr.insert(big_int32_t(value))" instead of "cntr.insert(value)" gets old fast when you are writing application code and the use case arises more or less continuously. Additionally, the use of an endian type is an implementation detail that should not leak into the application code that needs to create values of the type. Furthermore, the ambiguities that caused the constructors to be made explicit no longer occur; they were eliminated when BOOST_MINIMAL_INTEGER_COVER_OPERATORS was introduced to removed a dependency on boost/operators.hpp. If an ambiguity does arise, it is easy to clear via a static_cast or a function-style cast.
|
2013-09-06 10:36:54 -04:00 |
|
Beman
|
016d3b2e7c
|
Rename the endian typedefs. Rationale: Subjective - during three months working on the B-tree library, the *un_t names were a constant source of irritation. Objective - the new scheme, which reverts the *un_t names to having no alignment decoration, provides consistent *_align* decoration for both FP and integer types. Also, the library now provides conversion functions which may reduce use of aligned endian types.
|
2013-09-01 08:40:32 -04:00 |
|
Beman
|
d1d62f3adc
|
Use detail::reverse_value() to implement reverse_value() for float and double, thus eliminating type-punning warning from gcc.
|
2013-06-07 15:46:14 -04:00 |
|
Beman
|
db3864b3d4
|
Fix boo boos detected by inspect program.
|
2013-05-29 09:40:35 -04:00 |
|
Beman
|
fbedc9bb9f
|
Remove another bin_manip file. Note that all the bin-manip files have been copied to git@github.com:Beman/bin-manip.git
|
2013-05-29 08:36:40 -04:00 |
|
Beman
|
50b5488997
|
loop_time_test current work-in-progress
|
2013-05-27 08:53:18 -04:00 |
|
Beman
|
7f9d91e6d2
|
Rename unaligned integers to fit the floating point pattern. Unifies the naming pattern, deliberately makes the unaligned type names a bit uglier.
|
2013-05-26 12:05:33 -04:00 |
|
Beman
|
dff7c1254e
|
Add unaligned floating point types and supporting infrastructure.
|
2013-05-26 08:25:10 -04:00 |
|
Beman
|
a7ba65f830
|
Implement, test, float and double endian types.
|
2013-05-25 12:16:32 -04:00 |
|
Beman
|
41f0c15844
|
Initial done_list.html. Improve general FAQ. Update example. Add BOOST_NOEXCEPT to types.hpp and cover_operators.hpp.
|
2013-05-22 13:26:51 -04:00 |
|
Beman
|
6f84684e9e
|
Add separate big and little specializations for aligned case; the attempt to combine into a single specialization was selecting the unaligned specialization. Rework speed_test to try to get more meaningful results and cover more test cases.
|
2013-05-22 08:14:51 -04:00 |
|
Beman
|
a855a35c57
|
align::yes specialization working, using ::boost::endian::convert_value<...>(T).
|
2013-05-21 17:31:08 -04:00 |
|
Beman
|
50e389f63c
|
Preliminary work on align::yes specialization.
|
2013-05-21 17:03:07 -04:00 |
|
Beman
|
4d6f7001fa
|
Create separate synopsis section
|
2013-05-21 08:38:24 -04:00 |
|
Beman
|
ddb5936b68
|
Yet another naming scheme for type synonyms. Aligned type names now exactly follow the <cstdint> pattern, while the unaligned names elide "int".
|
2013-05-21 07:56:27 -04:00 |
|
Beman
|
870b542456
|
Rename endian types to a scheme that mimics cstdint.hpp. Change test and example code accordingly.
|
2013-05-20 17:03:12 -04:00 |
|
Beman
|
f13a9cd6a4
|
Rename integers.hpp to types.hpp in case floating point is someday supported.
|
2013-05-20 09:07:01 -04:00 |
|
Beman
|
6130c5f84c
|
Continue refinement of specs. Add to FAQ. Create function group bookmarks and link to them.
|
2013-05-19 17:08:42 -04:00 |
|
Beman
|
1fc19c5a27
|
Rename actual_order to effective_order. We don't know the actual order. Simplify an expression.
|
2013-05-19 07:15:09 -04:00 |
|
Beman
|
9089eb037b
|
Rename header converters.hpp back to conversion.hpp. Clean up infrastructure.
|
2013-05-18 16:14:30 -04:00 |
|
Beman
|
90eea0566c
|
Fix misplaced namespace endian
|
2013-05-18 08:27:37 -04:00 |
|
Beman
|
4a2ccdcfc8
|
Fix failure to define BOOST_ENDIAN_INTRINSIC_MSG when user defines BOOST_ENDIAN_NO_INTRINSICS
|
2013-05-16 17:48:47 -04:00 |
|
Beman
|
9a1d520572
|
Use a more robust detection of __builtin_bswap funtions for Clang. Fix Clang lack of __builtin_bswap16 in some releases. To be conservative only, fallback to byteswap.h if __linux__ is defined. Fix intrinsic_test so that <cstdint> isn't required.
|
2013-05-16 17:22:38 -04:00 |
|
Beman
|
4066443d89
|
Rework intrinsic.hpp to handle GCC and Clang __builtin_bswap* if available. Add test program.
|
2013-05-16 10:40:18 -04:00 |
|
Beman
|
88268249a9
|
Remove inclusion of unreferenced headers. Add comment about Microsoft/Visual Studio availability of intrinsics.
|
2013-05-15 15:38:34 -04:00 |
|
Beman
|
8b4bd2adfc
|
Add synonyms based on names popularized by BSD, e.g. OS X, Linux.
|
2013-05-15 08:51:05 -04:00 |
|
Beman
|
09b361e161
|
Simulated function template partial specialization working. converter_test and pair_test passing.
|
2013-05-14 17:59:50 -04:00 |
|
Beman
|
1a496f277e
|
Signs of life
|
2013-05-14 09:59:18 -04:00 |
|
Beman
|
c407260b51
|
Initial commit
|
2013-05-13 16:00:56 -04:00 |
|
Beman
|
6cf5464cd2
|
Distinguish between ReversibleValue and Reversible in both name and behavior.
|
2013-05-13 14:16:54 -04:00 |
|
Beman
|
2f6dba3ab6
|
Fixes for older gcc. Fixes for big endian machines.
|
2013-05-13 10:09:25 -04:00 |
|
Beman
|
4c0bd87c18
|
Tweaks to get tests running with various compilers.
|
2013-05-12 17:42:48 -04:00 |
|
Beman
|
a7475d0f63
|
Really fix the bug this time. Add TODO list.
|
2013-05-12 14:28:20 -04:00 |
|
Beman
|
ccc71a9ec8
|
Change T to Reversible to indicate requirement on template parameters. Fix bug in big_endian.
|
2013-05-12 11:45:04 -04:00 |
|
Beman
|
6c00b65eb4
|
Add light test of modify-in-place interface
|
2013-05-12 11:31:32 -04:00 |
|
Beman
|
89d13e9d02
|
Add modify in place interface, implementation. No tests yet.
|
2013-05-12 10:16:35 -04:00 |
|
Beman
|
0fef88ab3f
|
Change names to make room for modify-in-place names.
|
2013-05-12 08:58:44 -04:00 |
|
Beman
|
854c27939a
|
Change name of conditional conversion functions to big_endian and little_endian.
|
2013-05-12 07:52:42 -04:00 |
|
Beman
|
50c1a27386
|
Change name convert_bytes to convert. Given the namespace, template parameters, and function arguments, it is obvious what is being converted, and "bytes" is too low level for this function.
|
2013-05-12 07:25:12 -04:00 |
|
Beman
|
2794810b29
|
converter_test.cpp refactoring complete
|
2013-05-11 17:41:06 -04:00 |
|
Beman
|
97b024bcf6
|
Continue refactoring converter_test.cpp.
|
2013-05-11 17:18:17 -04:00 |
|
Beman
|
c349e35e91
|
Enable double, fix bug in generic reverse_bytes implementation. Begin refactoring converter_test code.
|
2013-05-11 16:08:15 -04:00 |
|
Beman
|
9e96faf4c1
|
float showing signs of life.
|
2013-05-11 08:13:55 -04:00 |
|
Beman
|
6af16cc339
|
compile-time convert_bytes working, all signed and unsigned integer cases being tested.
|
2013-05-10 17:51:58 -04:00 |
|
Beman
|
553d6a2426
|
Work in progress. Detect wrong endianness reported by boost/detail/endian.hpp. Add intrinsic timing to benchmark.cpp. Add boost/endian/detail/intrinsic.hpp. Use intrinsics in converters when available. Begin adding convert_bytes tests to converter_test.cpp.
|
2013-05-10 16:51:24 -04:00 |
|
Beman
|
fcb5386537
|
All tests passing, all VC++ projects consistent
|
2013-05-10 11:26:17 -04:00 |
|
Beman
|
6f496a40cd
|
Unstable work-in-progress. Define order enum in either header. Add runtime function implementations.
|
2013-05-10 08:56:14 -04:00 |
|
Beman
|
cd9117941f
|
Unstable work in progress.
Change names to reverse_bytes and convert_bytes.
Add runtime convert_bytes function.
compile-time generic byte order conversion.
|
2013-05-10 07:36:21 -04:00 |
|
Beman
|
736d9cce09
|
Change name of endianness enum to order. This is often used with namespace qualifier, and endian::order is shorter and reads better than endian::endianness.
Continue infrastructure and test updates.
|
2013-03-19 09:28:22 -04:00 |
|
Beman
|
35a3fcb709
|
Set up infrastructure, change to new names, clean up comments.
|
2013-03-18 20:39:21 -04:00 |
|
Beman
|
d7120e6fac
|
Delete the original conversion.hpp.
Rename conversion2.hpp to converters.hpp.
Adjust infrastructure accordingly.
|
2013-03-18 20:12:41 -04:00 |
|
Beman
|
c177062bf5
|
Delete some obsolete files, cleanup the Jamefile.
|
2013-03-18 19:38:25 -04:00 |
|
Beman
|
8b25b2148c
|
Directory reorg to follow Boost Git practice.
|
2013-03-18 15:02:04 -04:00 |
|