Commit Graph

35 Commits

Author SHA1 Message Date
Peter Dimov
59097ada36 Change data() to return unsigned char*; add non-const versions 2019-10-15 18:58:48 +03:00
Peter Dimov
5623e48fb5 Comment out MyInt test, because MyInt is not TriviallyCopyable under C++03 2019-03-13 01:45:16 +02:00
Peter Dimov
1b589e28d0 Add check_udt_le() to endian_test.cpp; make MyInt default-constructible 2018-12-06 20:33:42 +02:00
Peter Dimov
07ec535600 boost/predef/detail/endian_compat.h is deprecated; switch to boost/predef/other/endian.h 2018-09-11 18:54:54 +03:00
Peter Dimov
10877d3667 Remove one more integer overflow 2017-12-23 04:47:54 +02:00
Peter Dimov
d4738d8598 Avoid undefined behavior due to signed integer overflow 2017-12-23 00:04:34 +02:00
arvidn
4b4123a0fa [cleanup] remove trailing whitespace from source code files 2017-11-04 13:07:54 +01:00
Ben Wiederhake
b51593c766 Fix typos in documentation/comments
Credits go to the authors of codespell.
2016-04-03 19:13:04 +02:00
Beman
5caf1d16c8 Remove floating point support for boost 1.58.0. As currently implemented, return by value operations are not reliable because normalization and other bit pattern changes can occur. Docs not updated as yet. Floating point support will be corrected and reinstated for boost 1.59.0, based on in-place customization and inplace and/or copy signatures to replace the unsafe (i.e. native_to_big/little ) by value returns. The big/little_to_native return by value functions are safe, but require reimplementation. 2015-03-24 17:24:56 -04:00
Beman
9c0cbae556 Revert the default (*_t) types to unaligned, and used *_at to identify the aligned types. See mini-review thread for rationale. 2015-02-23 07:24:17 -05:00
Beman
b0ef03b9d6 Rearranges rows and columns in tables. Add big_int8_t, big_uint8_t, little_int8_t, little_uint8_t arithmetic and buffer types, in response to mini-review query. 2015-02-16 19:31:48 -05:00
Beman
6c173766e3 Eliminate gcc -Wconversion warnings. 2014-12-10 15:03:06 -05:00
Beman
dcde9463fc Do not define _SCL_SECURE_NO_WARNINGS or _CRT_SECURE_NO_WARNINGS if already defined (such as on the command line), plus related cleanups. 2014-12-10 10:26:49 -05:00
Beman
c201455c84 Change "in_place" to "inplace". Rationale: shortens names without impacting expressiveness. 2014-12-10 09:39:03 -05:00
Beman
4b6019c82e Use hex in literal for value where octal is confusing. 2014-12-09 07:10:25 -05:00
Beman
e2045b7ffa Finalize buffer and arithmetic decomposition. Finalize name changes. Finalize test cases. Remove cruft. Docs still to do. 2014-11-26 10:04:33 -05:00
Beman
fc7733ade1 Major renaming. Class "endian" becomes class "endian_arithmetic" to mimic the C++ standard's description of such types as "arithmetic types". Rename header accordingly. The convenience typedefs have been changed shorten aligned names, as they are often being, but keeping the unaligned type names relatively short via a simple "_ut" suffix. 2014-11-19 10:53:11 -05:00
Beman
ea44132749 Add native float tests. 2014-08-13 14:02:09 -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
74b122c581 Alignment of 64-bit integers on a 32-bit system may be to a 32-bit boundary! 2013-05-30 10:07:16 -04:00
Beman
db3864b3d4 Fix boo boos detected by inspect program. 2013-05-29 09:40:35 -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
c7beb10785 Add alignment test cases for aligned endian types. 2013-05-22 08:46:56 -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
db2f30b77c Better fix that works with more compilers, old and new, VC++ and GCC. 2013-05-13 11:05:31 -04:00
Beman
4c0bd87c18 Tweaks to get tests running with various compilers. 2013-05-12 17:42:48 -04:00
Beman
3877219925 Remove spurious semi-colon. 2013-05-12 07:21:37 -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
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
8782df3ab5 Get VC++ solution working with new directory structure (Except benchmark link errors). 2013-03-18 15:53:49 -04:00
Beman
d131123327 Directory reorg to follow Boost Git practice. 2013-03-18 14:57:23 -04:00