Peter Dimov
a5c891441c
Disable boost::swap for const objects. Fixes #43 .
2018-10-24 12:23:56 +03:00
Peter Dimov
e98a546e89
Use string comparison on MinGW/Cygwin when comparing typeinfo across DLLs
2018-10-21 20:29:10 +03:00
Peter Dimov
3c9c9603ad
Add BOOST_SYMBOL_VISIBLE to core_typeid_
2018-10-21 18:09:31 +03:00
Ion Gaztañaga
79e3bf7175
_set_abort_behavior not supported in old MSVC
...
Last patch before deprecating old MSVC compilers
2018-10-12 12:17:45 +02:00
Glen Fernandes
1d9d6f579e
Qualify empty_init_t and use_empty_value_base
2018-10-01 00:46:43 -04:00
Glen Fernandes
5ed58ee20f
Add ADL guard for empty_value and new member typedef
2018-10-01 00:26:08 -04:00
Peter Dimov
81df44e80b
MinGW-w64 has no quick_exit either
2018-09-06 05:44:56 +03:00
Peter Dimov
944f27853b
Declare _exit as extern 'C'
2018-09-06 05:28:23 +03:00
Peter Dimov
0bc795de4a
Merge branch 'develop' into feature/quick_exit
2018-09-06 00:30:15 +03:00
Glen Fernandes
d2b20486a0
Call test_results() in BOOST_TEST_THROWS()
2018-09-05 16:40:10 -04:00
Peter Dimov
88acbce1e9
Declare and use _exit under MinGW32
2018-09-05 20:56:03 +03:00
Peter Dimov
0c605bf32f
MacOS doesn't have quick_exit; Cygwin doesn't declare it in C++03 mode
2018-09-05 20:45:51 +03:00
Peter Dimov
53772c8c73
Merge branch 'develop' into feature/quick_exit
2018-09-05 20:28:40 +03:00
Peter Dimov
8d4f1bb4af
Revert to always using std::abort instead of the platform-specific _exit/_Exit
2018-09-05 20:23:13 +03:00
Peter Dimov
d56c31d688
Add noreturn/noexcept; use _exit on msvc-12.0 and earlier (and compatible); use ::quick_exit instead of std::quick_exit
2018-09-05 18:16:15 +03:00
Peter Dimov
5e08874182
Add initial implementation of quick_exit
2018-09-05 17:06:42 +03:00
Glen Fernandes
56bd3784bf
Update e-mail address in comments and libraries.json
2018-09-05 08:21:35 -04:00
Peter Dimov
cf66842419
MinGW doesn't have _exit either
2018-09-05 08:39:35 +03:00
Peter Dimov
861eb5cf4c
Merge branch 'develop' into feature/Exit
2018-09-05 07:24:23 +03:00
Peter Dimov
205b319b57
Use _exit instead of _Exit on MinGW
2018-09-05 07:17:58 +03:00
Glen Fernandes
6f1d88d153
Provide detail::test_errors() as others are using it
2018-09-05 00:16:17 -04:00
Peter Dimov
7f7c4c5b83
Call _set_abort_behavior on all compilers impersonating MSVC
2018-09-05 07:01:29 +03:00
Peter Dimov
dfd5a0b8db
Remove dead #else branch
2018-09-05 06:56:59 +03:00
Peter Dimov
d8c0768788
Use _Exit(3) instead of abort() to avoid core dump
2018-09-05 06:26:40 +03:00
Peter Dimov
d0a9206d6a
Call _set_abort_behavior on clang-win too
2018-09-05 06:04:53 +03:00
Glen Fernandes
76c3538315
Suppress MSVC error dialogs and add test for report_errors()
2018-09-04 21:16:36 -04:00
Glen Fernandes
30c006ac82
Call test_results() in BOOST_TEST()
2018-09-04 20:22:56 -04:00
Glen Fernandes
c71eb0e479
Abort instead of assert if report_errors() not called
2018-09-04 17:00:50 -04:00
Glen Fernandes
3f7d36445d
Reduce statics in Lightweight_test
2018-09-04 16:53:25 -04:00
Glen Fernandes
2d99acd7ec
Name the empty_value template parameters
2018-08-27 22:48:06 -04:00
Glen Fernandes
edcd9e2cf5
Add documentation for empty_value
2018-08-26 20:16:26 -04:00
Glen Fernandes
2eaba7d6d1
Make empty_value<T> trivial if T is trivial
2018-08-26 02:10:02 -04:00
Peter Dimov
a05906fd44
Add comment describing noncopyable_::base_token
2018-08-25 15:15:53 +03:00
Peter Dimov
f3782a946f
Derive noncopyable from a base_token class to allow it to be detected by Type Traits without an #include
2018-08-25 01:47:47 +03:00
Glen Fernandes
f504872d89
Implement empty_value
2018-08-24 16:24:34 -04:00
Glen Fernandes
e1f070b7b4
Remove anti_op and change the error output
...
The new output is no less useful, and not potentially misleading (for example in the case of BOOST_TEST_LT(1, nan) failing, it was not right to say that 1 >= nan).
2018-08-09 08:04:09 -04:00
Hans Dembinski
740f2142c5
new test backend based on predicates ( #39 )
...
* Work in progress, some tests fail
* adding tests
* missing header
* moved close_to to detail, added constness, replaced predicates from <functional> with custom ones, new code does not rely on partial template specialization
* renamed predicates and removed close_to predicate
* removing now superfluous headers
* unpatching the fix to put in a separate PR
* move predicate to first argument
* call op and anti_op as normal methods
2018-08-08 15:37:51 +03:00
Peter Dimov
5c10ee4517
explicit_operator_bool: fix g++ 4.6 workaround
2018-08-08 00:27:59 +03:00
Peter Dimov
b7ad896707
explicit_operator_bool: under g++ 4.6 the operator can't be constexpr
2018-08-07 22:59:25 +03:00
Peter Dimov
e1d50a1de2
Fix typo in lightweight_test.hpp
2018-08-07 17:40:47 +03:00
Glen Fernandes
19ec659a91
Simplify exchange implementation for pre-C++11
2018-07-09 08:48:50 -04:00
Glen Fernandes
75ae238d0c
Use #else instead of #elif BOOST_WORKAROUND
2018-07-08 12:04:09 -04:00
Glen Fernandes
630ab2aae4
Workaround MSVC10 and MSVC11 for exchange
2018-07-08 11:18:17 -04:00
Glen Fernandes
2cd4753a02
Implement boost::exchange
2018-07-08 09:25:07 -04:00
Glen Fernandes
9445d08ea7
Rename detail identifiers in addressof
2018-01-27 12:44:50 -05:00
Glen Fernandes
dbb3305050
Only checking BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION is sufficient
2018-01-27 09:42:02 -05:00
Glen Fernandes
23f10ab4bf
Update pointer_traits and to_address to reflect the design adopted for C++20
2018-01-27 05:15:05 -05:00
Glen Fernandes
e5281335e0
Simplify pointer_traits detail traits
2018-01-27 01:37:42 -05:00
jzmaddock
b5dcd204e5
address_of.hpp: VC12 namespace ambiguity
...
I'm seeing compiler errors with vc12, when testing serialization of Boost.Multiprecision types - there is ambiguity between boost::detail and boost::multiprecision::detail. I assume the error occurs for serialization of any type that has it's own detail namespace. The fix is trivially to qualify the use of "detail::".
2017-12-25 20:34:11 -05:00
Peter Dimov
2a3387451f
Avoid 'unused variable v' warning on msvc-10.0, msvc-11.0
2017-11-01 15:38:54 +02:00
Andrey Semashev
2738af9b52
Removed the deprecated empty_deleter header.
2017-09-18 02:02:38 +03:00
Peter Dimov
3792047e09
Reorder includes per best practices
2017-07-22 11:19:17 +03:00
Glen Fernandes
09f4823baa
Add free function to_address
2017-07-21 07:14:02 -04:00
Glen Fernandes
ac6044769f
Add free function to_address
2017-07-21 06:21:50 -04:00
Glen Fernandes
2876914d02
ptr_traits_address helper should be marked inline
2017-07-18 14:15:03 -04:00
Kohei Takahashi
3a2c94df8c
Added BOOST_TEST_GT and BOOST_TEST_GE.
...
Just LT and LE are insufficient for testing operator overloads.
2017-06-18 01:10:43 +09:00
Glen Fernandes
0f8b499bca
Use workaround.hpp from boost/config
2017-06-13 23:24:38 -04:00
Glen Fernandes
cccac1d631
Revert "Slightly more succint sfinae expressions"
2017-06-11 10:53:56 -04:00
Glen Fernandes
6153eebc42
Slightly more succint sfinae expressions
2017-06-11 10:17:35 -04:00
Peter Dimov
637b2ffaff
Make BOOST_TEST_EQ/NE work with nullptr
2017-05-29 21:15:49 +03:00
Glen Fernandes
5eaa31e366
Use BOOST_NO_CXX11_POINTER_TRAITS macro
2017-05-20 09:11:11 -04:00
Glen Fernandes
2d56d6f55b
Improve ptr_traits_has_rebind trait
2017-05-18 20:09:52 -04:00
Glen Fernandes
6fd649d7fd
Qualify pointer_traits in detail namespace
2017-05-18 07:09:26 -04:00
Glen Fernandes
26cab26e52
Add pointer_traits with to_address
2017-05-17 08:09:05 -04:00
Glen Fernandes
80875a19b6
Reduce detection conditions for constexpr addressof
2017-04-30 21:56:10 -04:00
Glen Fernandes
dc6003e26f
Disable addressof for r-values when possible
2017-04-23 02:04:54 -04:00
Peter Dimov
46545326d8
Add BOOST_TEST_LT, BOOST_TEST_LE
2017-03-16 01:31:43 +02:00
Bjorn Reese
a3382dd5a8
Added BOOST_TEST_ALL_WITH macro to compare container contents with a predicate
2017-02-18 13:43:29 +01:00
Bjorn Reese
baed4103a0
Optimized calculation of container sizes
2017-02-12 15:08:25 +01:00
Bjorn Reese
d828e40f6d
Output at most 8 differing container values
2017-02-12 15:06:31 +01:00
Bjorn Reese
db8efb4ce9
Changed ForwardIterator to InputIterator for test_all_eq_impl
2017-02-12 13:19:39 +01:00
Bjorn Reese
fb09632580
Use test_output_impl in test_all_eq_impl
2017-02-12 12:26:58 +01:00
Bjorn Reese
c96ad4ccba
Added container sizes to error output of test_all_eq_impl
2017-02-11 18:39:06 +01:00
Bjorn Reese
265583bc78
Fixed error output of test_all_eq_impl
2017-02-11 18:26:57 +01:00
Bjorn Reese
6a5f540f08
Removed std::ostringstream
2017-02-11 16:37:12 +01:00
Bjorn Reese
3bc56800cd
Added BOOST_TEST_ALL_EQ macro to compare container contents
2017-02-11 15:03:45 +01:00
Peter Dimov
9dd5285dbb
Handle char*, volatile* properly in BOOST_TEST_EQ/NE
2017-02-09 23:14:07 +02:00
Peter Dimov
ef9bb78f19
Merge branch 'bug_fix_support_for_c_string' of https://github.com/HDembinski/core into develop
2017-02-09 19:16:52 +02:00
hans.dembinski@gmail.com
4570cced27
more compared code following suggestion from Glen Fernandes and testing expected failures
2017-02-07 15:05:08 +00:00
hans.dembinski@gmail.com
cc5472623f
compare pointers as addresses and use BOOST_TEST_CSTR_xx to compare cstrings
2017-02-06 20:08:43 +00:00
Glen Fernandes
98ee47effd
Use new BOOST_NO_CXX11_SFINAE_EXPR feature macro
2017-02-06 08:14:36 -05:00
hans.dembinski@gmail.com
cdee8e76c5
fix for trac issue #12814 , including a new test for the issue
2017-02-05 19:06:21 +00:00
Glen Fernandes
e647763fb0
Exclude g++4.7 from constexpr implementation
2017-02-02 21:44:14 -05:00
Glen Fernandes
9587d6b845
Support g++4.7 with SFINAE workaround
2017-02-02 13:43:08 -05:00
Glen Fernandes
4016f8e7cc
Define CORE_NO_CONSTEXPR_ADDRESSOF if NO_CXX11_CONSTEXPR is defined
...
The test case could check for BOOST_NO_CXX11_CONSTEXPR but it makes sense for BOOST_CORE_NO_CONSTEXPR_ADDRESSOF to be defined in this case also.
2017-02-01 11:02:01 -05:00
Glen Fernandes
686dbcb8eb
No BOOST_WORKAROUND for MSVC as >1900 has builtin
2017-02-01 08:34:03 -05:00
Glen Fernandes
3d98e6aed4
Use __builtin_addressof when available
2017-01-31 20:10:18 -05:00
Glen Fernandes
09dcc68ecd
Implement constexpr addressof
2017-01-31 08:45:47 -05:00
Andrey Semashev
1abd68102d
Simplified demangle() a little to make better use of RVO.
2017-01-11 22:25:31 +03:00
Andrey Semashev
5507006fc2
Disabled warnings about signed/unsigned mismatch when using BOOST_TEST_EQ/BOOST_TEST_NE.
2016-11-06 20:57:05 +03:00
Peter Dimov
aa17d6a5e2
Merge branch 'develop' of https://github.com/eldiener/core into develop
2016-09-10 01:06:07 +03:00
Andrey Semashev
2128428ca1
Made the workaround for Oracle compiler more strict.
2016-07-12 13:52:05 +03:00
Andrey Semashev
d732412924
Added a workaround for Oracle compiler with STLport when the first argument to distance() is an array and the second one is a pointer (presumably, pointing into the array).
2016-07-11 16:34:02 +03:00
Edward Diener
f1c51cb19c
Added BOOST_TEST_NOT to lightweight test.
2016-05-19 09:56:23 -04:00
Andrey Semashev
6345b93198
-Added constexpr and noexcept specifiers to make the emulation technically closer to the actual enums.
2016-01-01 19:02:48 +03:00
Andrey Semashev
181965f303
Added support for __has_include on gcc, in addition to clang.
2015-12-31 19:45:37 +03:00
Andrey Semashev
3add966877
Added support for gabi++ ABI implementation used in Android NDK.
2015-08-28 22:31:26 +03:00
Andrey Semashev
a30186cfa4
Merge pull request #16 from jfalcou/enable_if_has_type
...
Added enable_if_has_type facility.
2015-08-15 14:03:19 +03:00
Joel Falcou
87d43ddffc
Rename to enable_if_has_type in concordance with MPL existing traits
2015-08-13 17:42:34 +02:00
Joel Falcou
ad513c1641
Introduces enable_if_type
...
enable_if_type allow to perform SFINAE check on the existence
of a dependent type.
It has been used here and there in various boost library but it's
useful enough to warrant an autonomous existence.
2015-08-10 16:55:44 +02:00