Commit Graph

44 Commits

Author SHA1 Message Date
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