653 Commits

Author SHA1 Message Date
Glen Fernandes
b852430614 Update formatting to be consistent with rest of span 2025-10-25 14:55:53 -04:00
Peter Dimov
ed46bfacff Merge pull request #203 from ashtum/develop
detail::span_convertible handles void types
2025-10-24 11:36:04 +03:00
Peter Dimov
67aaac82d8 Move boost/core/static_assert.hpp to boost/core/detail 2025-10-24 02:57:49 +03:00
Peter Dimov
a330736438 Use a local C++03 implementation of BOOST_CORE_STATIC_ASSERT 2025-10-21 02:32:00 +03:00
Peter Dimov
82a16ccc95 Add boost/core/static_assert.hpp; change bit.hpp and cmath.hpp to use it 2025-10-21 02:32:00 +03:00
Peter Dimov
7b2c714b55 Disable warning 4127 under msvc-12.0 and earlier 2025-10-20 20:58:49 +03:00
Peter Dimov
4777321ff2 Revert "Omit do {} while (false) for MSVC versions prior to 2015"
This reverts commit 40fda50ae1.
2025-10-20 20:27:17 +03:00
Andrey Semashev
45bd9bf69b Use std::data and std::size for boost equivalents, when possible.
This avoids the potential ambiguity between boost:: and std:: functions
when the user calls data() or size() unqualified and both alternatives
are found via ADL.

Refs https://github.com/boostorg/core/issues/206.
2025-10-19 21:56:04 +03:00
Gennaro Prota
40fda50ae1 Omit do {} while (false) for MSVC versions prior to 2015
Reason: See the new code comment.
2025-10-15 12:30:48 +02:00
Gennaro Prota
8a352e253a Use the do {} while (false) idiom for BOOST_TEST_THROWS() and BOOST_TEST_NO_THROW()
Reason: Common hygiene for multi-line macros. Makes things like

if (condition)
    BOOST_TEST_THROWS(...);
else
    ...

work correctly. Also, it doesn't generate an empty statement (which
compilers may warn about) when the user adds a semicolon (which they
usually do).
2025-10-09 19:00:47 +02:00
Mohammad Nejati
6afe70e09d detail::span_convertible handles void types
fixes #202
2025-09-08 17:02:46 +00:00
Peter Dimov
65337d1af8 Add a std::formatter specialization for core::string_view. Fixes #190. 2025-06-25 17:11:26 +03:00
Peter Dimov
8d25b9ce54 Add missing include 2025-06-06 21:47:38 +03:00
Abhay Kumar
f32cb2f696 🐛 Fix bit_ceil() to return 1 for input 0 as per specification 2025-06-06 14:23:26 +05:30
Peter Dimov
21761b3f62 Merge pull request #192 from mborland/msvc_clz
Use bit scan intrinsic on Windows ARM64 platform
2025-04-16 15:13:43 +03:00
Dirk Stolle
db59ef2a81 Fix a few typos 2025-04-16 02:16:49 +02:00
Matt Borland
4c74671f73 Use bit scan intrinsic on ARM64 platform 2025-04-10 08:35:11 -04: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