Commit Graph
65 Commits
Author SHA1 Message Date
Beman c755a6b6af Add overall css style sheet for more uniform presentation and ease of maintenance. 2014-11-12 08:26:01 -05:00
Beman c41521cead For the endian types, add stream inserters and extractors as requested during the formal review. 2014-11-11 21:08:08 -05:00
Beman 4c58fc2efa Clear [-Wunused-parameter] warnings (Roger Leigh) 2014-08-29 08:12:16 -04:00
Beman f1dc05db63 Replaced deprecated macro with BOOST_NO_CXX11_DEFAULTED_FUNCTIONS 2014-08-15 13:10:58 -04:00
Beman 17ca240b10 Use boost/predef/detail/endian_compat.h to determine endianness. 2014-08-15 10:59:49 -04:00
Beman f489fad5e0 Also add aligned float types. Add docs. No tests yet. 2014-08-13 13:44:28 -04:00
Beman 8ea7d201f9 native_float32_t and native_float64_t, fixing issue #2. 2014-08-13 13:23:11 -04:00
Beman 071099b656 Remove commented out code residue from treating native as a synonym for big or little. 2014-08-12 08:29:24 -04:00
Beman d31caa413c Add types native synonyms. All tests now passing, at least on a little endian machine. 2014-08-11 17:17:50 -04:00
Beman 8e5cd7dfc4 Treat "native" as synonym for "big" or "little" according to platform endianness, as suggested by Vicente J Botet. Converter_test working. 2014-08-11 16:21:04 -04:00
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