Tanzinul Islam
7f9a618b8c
Fix BOOST_STATIC_ASSERT with template arguments
...
a2025a932 introduced a `BOOST_STATIC_ASSERT`-check with a template argument list. This causes a compilation error in a pre-C++11 compiler without support for variadic arguments (i.e. if `BOOST_NO_CXX11_VARIADIC_MACROS` is set).
For example:
$ echo '#include <boost/endian/buffers.hpp>' > test.cpp
$ g++ -c -std=c++03 -DBOOST_NO_CXX11_VARIADIC_MACROS -I/path/to/boost test.cpp
results in:
```
In file included from /path/to/boost/boost/endian/detail/endian_store.hpp:9,
from /path/to/boost/boost/endian/buffers.hpp:30,
from test.cpp:1:
/path/to/boost/boost/endian/detail/endian_reverse.hpp:111:76: error: macro "BOOST_STATIC_ASSERT" passed 2 arguments, but takes just 1
111 | BOOST_STATIC_ASSERT( is_integral<T>::value && !is_same<T, bool>::value );
| ^
In file included from /path/to/boost/boost/endian/detail/endian_reverse.hpp:13,
from /path/to/boost/boost/endian/detail/endian_store.hpp:9,
from /path/to/boost/boost/endian/buffers.hpp:30,
from test.cpp:1:
/path/to/boost/boost/static_assert.hpp:157: note: macro "BOOST_STATIC_ASSERT" defined here
157 | # define BOOST_STATIC_ASSERT( B ) \
|
```
2019-10-25 15:18:24 +01:00
Peter Dimov
fbc198e75d
Add __int128 support to endian_reverse
2019-10-20 21:28:38 +03:00
Peter Dimov
59097ada36
Change data() to return unsigned char*; add non-const versions
2019-10-15 18:58:48 +03:00
Peter Dimov
b015a164f8
Add floating point typedefs to arithmetic.hpp; rename double64 to float64 in buffers.hpp
2019-10-15 02:26:58 +03:00
Peter Dimov
e6136ddf27
Add floating point buffer typedefs
2019-10-15 01:54:26 +03:00
Peter Dimov
4054afda70
Add convenience store functions
2019-10-12 19:21:19 +03:00
Peter Dimov
22d0d7bcd1
Add convenience load functions
2019-10-12 18:50:59 +03:00
Peter Dimov
a4bc0f1a44
Make endian_reverse constexpr when possible
2019-10-11 19:43:02 +03:00
Peter Dimov
cc28f5d658
Add BOOST_CONSTEXPR to endian_reverse functions
2019-10-11 18:49:06 +03:00
Peter Dimov
e68d8f939c
static_assert the requirements of endian_load and endian_store
2019-05-01 00:13:22 +03:00
Peter Dimov
79c3add907
Support any expanding loads in endian_load
2019-04-30 23:53:39 +03:00
Peter Dimov
8df14956d4
Support any truncating store in endian_store
2019-04-30 20:39:17 +03:00
Peter Dimov
d40a3ac3f4
Switch the parameter order of endian_store
2019-04-30 05:13:47 +03:00
Peter Dimov
f0f8e398d6
conversion.hpp: remove unused detail functions, static-assert that types are EndianReversible
2019-04-29 01:32:07 +03:00
Peter Dimov
b29b3dfc10
Move all deprecated names to endian.hpp; add deprecated_test.cpp to test/Jamfile
2019-04-29 00:36:21 +03:00
Peter Dimov
ff59429171
Remove obsolete std_pair.hpp
2019-04-28 16:30:51 +03:00
Peter Dimov
630e09942b
Remove endian/detail/cover_operators.hpp
2019-04-28 00:58:29 +03:00
Peter Dimov
cd8fbbdbcb
Remove use of cover_operators in arithmetic.hpp
2019-04-28 00:52:36 +03:00
Peter Dimov
9efbcd7c7b
Simplify endian_arithmetic
2019-04-27 22:46:32 +03:00
Peter Dimov
43d21860a4
Do not #pragma pack(1) before including headers
2019-04-27 22:37:40 +03:00
Peter Dimov
6b5792647c
Simplify endian_buffer specializations
2019-04-27 20:11:41 +03:00
Peter Dimov
f77a318c37
Remove BOOST_ENDIAN_LOG
2019-04-27 19:28:49 +03:00
Peter Dimov
8e3eccaa14
Do not include conversion.hpp from endian_load, endian_store.hpp
2019-04-27 19:15:28 +03:00
Peter Dimov
e58970b167
Remove endian/detail/lightweight_test.hpp
2019-04-27 02:32:24 +03:00
Peter Dimov
26b0170a6e
Fix typo in conversion.hpp
2019-04-27 01:47:28 +03:00
Peter Dimov
a2025a9320
Refactor endian_reverse into its own header, make it work for long and long long
2019-04-26 20:24:27 +03:00
Peter Dimov
146c1af963
Merge branch 'develop' into feature/endian-load-store
2019-03-20 17:30:05 +02:00
Peter Dimov
01146c9558
Add char and char16_t overloads of endian_reverse
2019-03-19 01:06:53 +02:00
Peter Dimov
2bd479044b
Add spirit_conflict_test.cpp (refs #33 )
2019-03-13 02:12:48 +02:00
Peter Dimov
de33887009
Identify and static-assert the requirements of endian_load/endian_store
2019-03-13 01:44:29 +02:00
Peter Dimov
95178e3cfb
Add endian_store, use it in buffers.hpp
2019-03-12 20:21:11 +02:00
Peter Dimov
019fb85ea9
Add endian_load, use it in buffers.hpp
2019-03-12 19:42:35 +02:00
Peter Dimov
e08864d648
Fix msvc warnings
2019-02-19 01:13:31 +02:00
Peter Dimov
dafb9b1795
Use unsigned char in store_{big,little}
2018-12-06 20:44:42 +02:00
Peter Dimov
96c2e6dacb
Cosmetic fixes
2018-12-06 20:34:15 +02:00
Peter Dimov
9f67f19d35
Merge branch 'unaligned-big-endian' of https://github.com/wijagels/endian into feature/pr-31
2018-12-06 19:57:58 +02:00
Peter Dimov
bde5937912
A header named _pop should presumably pop instead of push
2018-09-15 03:40:33 +03:00
Peter Dimov
e5753d13e2
Remove unused header
2018-09-15 03:38:52 +03:00
Peter Dimov
2837f3b9c5
g++ 4.5 and earlier do not support unrestricted unions
2018-09-11 20:18:13 +03: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
William Jagels
327b501169
Take advantage of unaligned load/store for big endian
2018-03-24 20:41:40 -04:00
Peter Dimov
e93f6a2270
Fix unaligned loads and stores
2017-12-23 18:40:09 +02:00
Peter Dimov
134b225378
Shifting a negative number is an -fsanitize=undefined violation, use the unsigned type
2017-12-22 16:24:21 +02:00
Peter Dimov
34542134be
Merge pull request #23 from arvidn/remove-trailing-whitespace
...
[cleanup] remove trailing whitespace from source code files
2017-12-21 17:42:03 +02:00
arvidn
4b4123a0fa
[cleanup] remove trailing whitespace from source code files
2017-11-04 13:07:54 +01:00
Beman
754a4144ec
Clear signed/unsigned warnings
2016-08-09 16:49:20 -04:00
Ben Wiederhake
b51593c766
Fix typos in documentation/comments
...
Credits go to the authors of codespell.
2016-04-03 19:13:04 +02:00
Ben Wiederhake
d1865063ad
Fix typos in documentation
...
Found and fixed while reading documentation
2016-04-03 19:12:49 +02:00
Beman
1b0a41e6cb
Add Clang/c2 solution with conversion_test_clang project. Clang/c2 uses the Microsoft rather than GCC intrinsics, so check for defined(_MSC_VER) before defined(__clang__)
2015-12-11 08:15:25 -05:00
Beman
f14f080359
Change the specification for native ordering to allow implementations to support orderings in addition to big and little. Thanks to Howard Hinnant for suggesting this change and providing draft wording. Also update headers to reflect actual inclusion hierarchy.
2015-10-16 10:30:34 -04:00