Peter Dimov
90a8527bbf
Fix is_trivially_copyable again
2023-10-19 20:05:06 +03:00
Peter Dimov
53e2379637
Fix is_trivially_copyable
2023-10-19 19:46:53 +03:00
Peter Dimov
bf4a4c6eca
Work around std::is_integral<__int128> being false for libstdc++
2023-10-19 19:38:14 +03:00
Peter Dimov
ccc8c3df3f
Remove C++03 workarounds
2023-10-19 19:22:46 +03:00
Peter Dimov
9d071a3c40
Update C++03 deprecation message
2023-06-03 02:28:53 +03:00
Peter Dimov
b84ac7969b
Add C++03 deprecation notice
2023-03-05 17:54:23 +02:00
Peter Dimov
7832a88828
Make endian_arithmetic's data member public when BOOST_ENDIAN_NO_CTORS is defined; add test
2020-10-06 19:34:40 +03:00
Peter Dimov
9f122a913c
Remove inheritance of endian_arithmetic from endian_buffer
2020-10-06 19:16:13 +03:00
Peter Dimov
914d7d5c8d
Make endian_buffer::value_ public when BOOST_ENDIAN_NO_CTORS is defined; add test
2020-10-06 18:53:56 +03:00
Peter Dimov
f07be92a32
Add noexcept to the array overload of endian_reverse_inplace
2020-05-22 17:41:26 +03:00
Peter Dimov
9ee301b103
Enable conditional_reverse_inplace for arrays
2020-05-05 21:24:02 +03:00
Peter Dimov
62091e5d0c
Add an overload of endian_reverse_inplace for arrays
2020-05-05 20:06:21 +03:00
Peter Dimov
a6e1da6a79
Remove extra spaces
2020-05-03 18:29:48 +03:00
Peter Dimov
e2fe1d7743
Merge pull request #43 from eldiener/develop
...
Changes for Embarcadero C++ clang-based compilers, targeting Boost 1.74. Change __BORLANDC__ to BOOST_BORLANDC and __CODEGEARC__ to BOOST_CODE…
2020-05-03 17:16:05 +03:00
Peter Dimov
3e2890c243
Enable endian_reverse_inplace for integral/enum/float/double
2020-05-03 03:22:21 +03:00
Peter Dimov
8e617a69d1
Enable scoped enums in endian_reverse
2020-05-03 00:10:26 +03:00
Peter Dimov
74b73c5c03
Move is_endian_reversible, is_endian_reversible_inplace to detail/endian_reverse.hpp
2020-05-02 22:15:08 +03:00
Peter Dimov
7f025ef4b6
Change >> to > > for C++03
2020-05-02 20:32:42 +03:00
Peter Dimov
ceb58197d5
Add detail/is_scoped_enum.hpp
2020-05-02 20:23:35 +03:00
Peter Dimov
21eed3fd59
Update is_trivially_copyable to also check has_trivial_destructor in the fallback case
2020-05-02 02:25:15 +03:00
Edward Diener
0f33f25eeb
Change __BORLANDC__ to BOOST_BORLANDC and __CODEGEARC__ to BOOST_CODEGEARC, which are defined in Boost config for the Embarcadero non-clang-based compilers.
2020-03-30 20:55:52 -04:00
Peter Dimov
69c020ea8f
Constrain the primary endian_reverse to not apply to class types; add test. Fixes #41 .
2020-01-13 16:22:16 +02:00
Peter Dimov
7ac116915c
__i386__ and __x86_64__ are little-endian (g++ 4.4 unfortunately has no other endianness macros)
2020-01-05 01:07:15 +02:00
Peter Dimov
7854cc109d
Remove use of Predef in detail/order.hpp
2020-01-04 23:21:23 +02:00
Peter Dimov
b8139ad7a1
Remove use of Predef in arithmetic.hpp, buffers.hpp, conversion.hpp
2020-01-04 21:18:35 +02:00
Peter Dimov
3de20eb340
Merge pull request #38 from tanzislam/fix-macro-use-with-template-parameters
...
Fix BOOST_STATIC_ASSERT with template arguments
2019-10-25 14:06:07 -07:00
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
c64f7c3372
Add <boost/endian.hpp>
2019-10-22 19:41:49 +03: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