Commit Graph

593 Commits

Author SHA1 Message Date
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
Peter Dimov 36fa78f53c Add support for incomplete classes to type_name<>. Refs #145. 2023-05-21 05:52:33 +03:00
Peter Dimov 5eb54d1d36 Fix type_name<> for cv-qualified member pointers without variadic templates. Refs #145. 2023-05-21 05:33:21 +03:00
Peter Dimov 5904fb5636 Disable call to ::_seterrormode when WINAPI_FAMILY is defined to something other than WINAPI_FAMILY_DESKTOP_APP. Refs #143. 2023-04-15 19:36:12 +03:00
Glen Fernandes c4e420f69d Use boost::data in boost::span 2023-02-22 09:40:54 -05:00
Glen Fernandes 379899ef15 Move identity from functional to core 2023-02-20 23:02:30 -05:00
Peter Dimov 0be25e19cc Add load_construct_data_adl, save_construct_data_adl 2023-02-21 02:04:39 +02:00
Peter Dimov 38037b45f1 Add boost::core::split_member 2023-02-20 21:00:26 +02:00
Peter Dimov 89c5a78129 Add boost/core/serialization.hpp, serialization_nvp_test, serialization_split_free_test 2023-02-20 20:06:19 +02:00
Glen Fernandes 249c5bece2 Implement data and size functions 2023-02-17 15:27:36 -05:00
Glen Fernandes edc0d935c0 Implement make_span 2023-01-28 13:07:33 -05:00
Glen Fernandes 7736b0b8ce span support for initializer_list 2023-01-28 12:20:59 -05:00
Peter Dimov 1aa287e413 Avoid the inclusion of <new> 2023-01-26 19:37:46 +02:00
Peter Dimov 8c65a5b0e8 Work around g++ 4.6 failure 2023-01-26 19:18:44 +02:00
Peter Dimov 99515c341e Add boost::core::memory_resource 2023-01-26 18:09:35 +02:00
Peter Dimov 42b3a3f111 Use BOOST_CORE_ALIGNOF in boost/core/max_align.hpp 2023-01-26 03:17:05 +02:00
Peter Dimov c092532a71 Merge branch 'develop' into feature/max-align 2023-01-26 03:06:45 +02:00
Peter Dimov 39cf1e65a3 Add BOOST_CORE_ALIGNOF 2023-01-25 20:10:31 +02:00
Peter Dimov 3edd3aa982 Define and use BOOST_CORE_HAS_FLOAT128 2023-01-25 19:38:20 +02:00
Peter Dimov ece7a9ad9c Update max_align_test.cpp 2023-01-25 01:52:18 +02:00
Peter Dimov 5632ee0367 Test __SIZEOF_FLOAT128__ as well, for g++ -m32 2023-01-25 01:41:01 +02:00
Peter Dimov 8052abb15c Add boost::core::max_align(_t) 2023-01-24 21:06:07 +02:00
Peter Dimov c4777c309e Avoid including <new> in core/launder.hpp when not C++17 2023-01-24 18:54:45 +02:00
Peter Dimov 2b3b97c633 Add boost::core::launder 2023-01-24 17:50:45 +02:00
Peter Dimov ab455ab2f8 Disable -Wdeprecated-declarations for early clang-cl 2023-01-23 05:24:28 +02:00
Peter Dimov d8cfc71073 lwt_unattended: disable WER dialog box on crash 2023-01-19 02:35:15 +02:00
Andrey Semashev 0890785fec Added #pragma once in swap.hpp. 2023-01-07 03:52:46 +03:00
Andrey Semashev 8a8738a981 Propagate noexcept specification in boost::swap.
Mark boost::swap noexcept if the type supports non-throwing swap
implementation.
2023-01-07 03:42:15 +03:00
Andrey Semashev 99f9654f18 Fixed incorrect preprocessor condition for ref_empty definition.
Closes https://github.com/boostorg/core/pull/137.
2023-01-07 01:06:41 +03:00
Andrey Semashev 1e84baeea3 Use defaulted template arguments to restrict boost::ref converting ctor. 2023-01-06 19:38:55 +03:00
Andrey Semashev 1825265014 Marked boost::ref methods and associated functions with noexcept. 2023-01-06 19:12:47 +03:00
Peter Dimov 6299da9273 Add boost::core::lwt_init() 2022-12-30 21:17:58 +02:00
Peter Dimov 843e0f7bb0 Add boost::core::detail::lwt_unattended() 2022-12-28 17:49:01 +02:00
Andrey Semashev 86bf1d4aec Deprecated boost::core::is_same and the associated header.
Moved is_same implementation to detail (both directory and namespace)
to use in the public headers and avoid introducing new dependencies.
The documentation now recommends users to use Boost.TypeTraits or
C++ standard library instead.

Also, removed unnecessary includes and added missing ones in a few
places.
2022-12-22 17:55:47 +03:00
Glen Fernandes 2286749f97 Change order of restoration of warning disables in allocator access 2022-12-15 01:08:51 -05:00
Andrey Semashev d428335758 Remove the use of snprintf for trivial formatting.
This implements in-place formatting for small hex numbers instead of
using snprintf with the associated portability scaffolding. This also
removes the need for #include <cstdio>.
2022-12-09 04:15:02 +03:00
Andrey Semashev be8790115c Added portable snprintf/vsnprintf definition.
This definitions is mostly a workaround for older MSVC versions that only
provided non-portable _snprintf etc. that are not fully conforming to
the standard snprintf. This implementation fixes its issues wrt. null
termination and returned values in case of buffer overflows.

On platforms that support the standard snprintf, the definitions in
the header are equivalent to the standard functions.
2022-12-09 03:53:01 +03:00
Peter Dimov 2778c5cca6 Rename BOOST_CORE_SNPRINTF to BOOST_CORE_DETAIL_SNPRINTF 2022-12-07 22:33:17 +02:00
Matt Borland d5b7c3c0dc Add snprintf macro 2022-12-06 08:11:22 -08:00
Matt Borland db916e4673 Correct test macro and add undef 2022-12-06 08:10:14 -08:00
Matt Borland 3eaba7afc0 Fix for sprintf deprecation warning 2022-12-05 20:34:46 -08:00
Peter Dimov b407b5d87d Change bit_width to return int, LWG3656 has been applied as a DR to C++20 2022-09-22 01:31:01 +03:00
Peter Dimov 013c7856ce Merge branch 'develop' into feature/bit 2022-09-21 21:41:43 +03:00
Peter Dimov 66a742f41e Statically assert the unsigned integer requirements in bit.hpp. Fixes #129. 2022-09-21 19:19:02 +03:00
Andrey Semashev 00f4f11f14 Added a check for NULL pointer in fclose_deleter.
The deleter can be called on a null pointer by shared_ptr.

Also added tests with unique_ptr from Boost.Move and shared_ptr
from Boost.SmartPtr.
2022-09-21 18:09:42 +03:00
Andrey Semashev 3510f6244b Added fclose_deleter.
fclose_deleter can be used as a deleter function object for std::FILE
pointers returned by std::fopen.
2022-09-21 13:50:22 +03:00