1
0
forked from boostorg/core
Commit Graph

638 Commits

Author SHA1 Message Date
Peter Dimov 5f6bb283fb Disable constexpr under GCC 4.x when there's BOOST_ASSERT 2025-02-23 18:55:04 +02:00
Peter Dimov 6b1d7a91e6 Use BOOST_ASSERT instead of BOOST_CORE_DETAIL_ASSERT 2025-02-23 18:55:04 +02:00
Glen Fernandes 787b03ea9c Use BOOST_ASSERT but disable assertions on older GCC 2025-01-18 17:14:03 -05:00
Glen Fernandes b9a2221b3b Rename detail assert macro since it isn't a public facility 2025-01-18 14:14:24 -05:00
Glen Fernandes cb603c9c6b Undef assert macro and remove guards 2025-01-18 00:53:35 -05:00
Glen Fernandes 24a8174ef1 Add asserts to span 2025-01-18 00:52:31 -05:00
Qijia Liu 9a3febf848 OpenHarmony doesn't support pthread_setcancelstate. 2025-01-07 21:13:58 -05:00
Alexander Grund 1222948a8e Avoid -Wzero-as-null-pointer-constant warning in string_view ctor 2025-01-05 11:57:02 +01:00
Peter Dimov 92f6cfb3cc Remove hash_value overload for basic_string_view; it's no longer needed 2024-11-11 03:18:02 +02:00
Glen Fernandes 9e9e6e3898 Rename base type again 2024-07-16 23:53:47 -04:00
Glen Fernandes 242b14bb69 Rename base typedef 2024-07-14 07:14:38 -04:00
Mohammad Nejati 72761e34e0 Rename typedef base to core_ev_base
Using typedef `base` poses a high risk of name conflict, given that
`empty_value` is inherited in user types.
2024-07-13 09:14:58 +00:00
Braden Ganetsky acbeaae181 Add link to Visual Studio bug report 2024-07-11 17:02:24 -05:00
Braden Ganetsky e22bd49fa7 Fix MSVC issue with deriving from empty_value 2024-07-11 17:02:21 -05:00
Peter Dimov 3f36d507f2 Disable the tn_holder<wchar_t> specialization when BOOST_NO_INTRINSIC_WCHAR_T. Refs #173. 2024-05-28 19:32:36 +03:00
Peter Dimov 965508d9e1 Fix type_name for abstract classes. Fixes #172. 2024-04-24 21:46:32 +03:00
Peter Dimov f774295cdb Add boost/core/detail/minstd_rand.hpp 2024-04-14 04:40:44 +03:00
Peter Dimov c928c844da Merge branch 'feature/sign-conversion' into develop 2024-04-11 13:43:49 +03:00
Glen Fernandes 04cc766db3 Address C++17 redeclaration of constexpr static 2024-04-11 00:52:26 -04:00
Peter Dimov 03040c7f5c Avoid -Wsign-conversion warnings in string_view.hpp. Fixes #170. 2024-04-11 04:09:29 +03:00
Peter Dimov 8b31acf9a4 Disable -Wsign-conversion in lightweight_test.hpp for GCC 6/7 2024-04-10 22:25:11 +03:00
Glen Fernandes 31117ef800 Implement pointer_in_range 2024-04-08 09:56:16 -04:00
Braden Ganetsky a973490f53 Fix deprecated warning ignores in allocator_access.hpp, and add compile test for pmr allocator 2024-03-17 20:12:06 -05:00
Andrey Semashev 0fb4d92d83 Moved checked deleters into internal namespace to block unintended ADL.
This prevents adding namespace boost to ADL when the deleters are used
in template parameters, e.g. in std::unique_ptr.
2024-02-07 15:12:36 +03:00
Ruben Perez 59c0fb69f0 Constructor from std::string_view is now constexpr
close #163
2024-02-06 23:15:26 +01:00
Andrey Semashev 0a35bb6a20 Move functor to its own namespace to block bringing boost::core to ADL. 2024-02-02 05:23:00 +03:00
Andrey Semashev 95f0b35c36 Move fclose_deleter and null_deleter to their own namespaces to block ADL.
This prevents bringing namespace boost into ADL when the deleters are used
in template parameters, e.g. in std::unique_ptr.
2024-02-02 05:17:19 +03:00
Andrey Semashev 80e12e1116 Added a new boost/core/functor.hpp header.
The feader defines a new functor class template that can be used to wrap
raw functions into a function object class. This is useful, for example,
for integrating std::unique_ptr and unique_resource with custom deleters
implemented as raw functions (e.g. in C libraries).
2024-01-26 20:51:02 +03:00
Peter Dimov e4adc769aa Disable use of std::launder under msvc-14.1. Fixes #160. 2024-01-04 04:07:34 +02:00
Peter Dimov 6c95750f37 Use BOOST_GCC instead of BOOST_GCC_VERSION 2023-11-30 10:33:08 +02:00
Andrey Semashev a9f1407d84 Added a sanity check to prevent duplicate definition of BOOST_CORE_HAS_BUILTIN_BIT_CAST. 2023-11-25 16:04:12 +03:00
Andrey Semashev db0fd77af1 Added support for __builtin_bswap16. 2023-11-25 16:04:12 +03:00
Daniel Richard G 0120dbfe65 Fix Intel compiler build 2023-10-05 20:26:24 -04:00
Andrey Semashev 5f6fe65eb2 Merge pull request #149 from boostorg/feature/invoke_swap
Rename `boost::swap` to `boost::core::invoke_swap`, deprecate `boost::swap`
2023-08-25 14:50:06 +03:00
Peter Dimov c7134904e2 Android doesn't support pthread_setcancelstate. Fixes #150. 2023-07-25 18:03:51 +03:00
Andrey Semashev 9fc2a2f1ac Renamed boost::swap to boost::core::invoke_swap, deprecated boost::swap.
The rename allows to avoid forming an infinite recursion in compile time
(because of noexcept specification that needs to resolve the unqualified call
to swap) or run time (in case if the boost::swap function is the only one
suitable for the passed arguments).

To avoid the compile-time recursion, removed noexcept specification from
boost::swap. The specification is still present in boost::core::invoke_swap.

Deprecated boost::swap and associated headers. boost::core::invoke_swap
is defined in a new boost/core/invoke_swap.hpp header.

Updated docs and tests. Removed tests that check inclusion of deprecated
headers.

Fixes https://github.com/boostorg/core/issues/148.
2023-07-12 12:17:07 +03:00
Peter Dimov 216999e552 Avoid -Wsign-conversion warning in checked_delete.hpp 2023-06-25 13:46:53 +03:00
Peter Dimov 66890c3f3d Use SwitchToThread instead of Sleep(0) is sp_thread_yield; the general consensus is that it's newer and 'smarter' 2023-06-18 21:54:13 +03:00
Peter Dimov 0e71b6158d Add noexcept to yield primitives 2023-06-02 04:27:12 +03:00
Peter Dimov 23ef6d3531 Disable cancelation around nanosleep in sp_thread_sleep 2023-06-02 03:57:38 +03:00
Peter Dimov 57151ab82e Update sp_thread_pause.hpp 2023-06-02 02:05:36 +03:00
Peter Dimov 4e769d1cdd Add boost/core/yield_primitives.hpp 2023-06-01 23:08:32 +03:00
Peter Dimov 5a3b4df5de Use __builtin_bit_cast when available 2023-06-01 02:38:57 +03:00
Peter Dimov 85527c4045 More -Wconversion fixes 2023-05-31 20:22:15 +03:00
Peter Dimov 266fbe6449 Fix -Wconversion warnings 2023-05-31 18:53:35 +03:00
Peter Dimov 06fef712c9 Use MS _byteswap intrinsics 2023-05-30 21:12:25 +03:00
Peter Dimov f41b8f38c4 Use __builtin_bswap under GCC and Clang 2023-05-30 19:22:00 +03:00
Peter Dimov b591214103 Add byteswap to bit.hpp 2023-05-30 19:09:09 +03:00
Peter Dimov 6c7edac9b1 Fix 32 bit constexpr failures 2023-05-30 04:32:23 +03:00
Peter Dimov b2fe98edf8 Make bit manipulation functions constexpr on MSVC 19.25+. Closes #109. 2023-05-30 02:56:37 +03:00