295 Commits

Author SHA1 Message Date
Alexander Grund
1a5af26128 CMake: Fix required C++ standard
cxx_std_14 is only available since CMake 3.8
The CXX_STANDARD_REQUIRED property is a boolean, i.e. ON or OFF not a numeric value. The feature is enough to require the standard already

In the test the specification is not required as the library sets it
boost-1.90.0.beta1 boost-1.90.0
2025-09-06 22:10:39 +08:00
ivanpanch
5493605c78 Update spsc_queue.hpp 2025-08-25 07:50:20 +08:00
ivanpanch
960a2d18f7 Update lockfree.qbk 2025-08-25 07:50:20 +08:00
Ashish Sadanandan
5813db1acc queue: allow non-trivially moveable types
Restores the requirements prior to commit 6a70a658 which replaced
boost::has_trivial_assign with std::is_trivially_assignable.

The latter trait requires both trivial copy and move assignment while
the original only required trivial copy assignment. Since the lockfree
queue doesn't require trivial move assignment, the requirement is being
reverted back to the original.

Also updated the documentation to clarify only trivial copy assignment
is needed.

Fixes #117
2025-05-19 14:44:46 +07:00
Tim Blechmann
e8d3374f69 update clang-format to 20.1.0 2025-04-06 10:16:01 +08:00
Tim Blechmann
7d37abb303 CMake: add option for increasing the stresstest threshold 2025-04-06 10:16:01 +08:00
Tim Blechmann
edd3921e97 CI: remove ubuntu-20.04 based tests 2025-04-06 10:16:01 +08:00
Tim Blechmann
4a69f38b3d freelist: remove duplicate header boost-1.89.0 2025-04-05 10:02:14 +08:00
Tim Blechmann
f296538906 CMake: fix CXX_STANDARD_REQUIRED property
Fixes #114
2025-04-05 09:59:35 +08:00
Jan Palus
fbd28c03b9 include <cstdint> in all files using fix width integer types 2025-04-05 09:50:09 +08:00
Tim Blechmann
cc8b4a9cf7 freelist: include cstdint for uint16_t
Fixes: #111
2025-03-11 21:08:26 +08:00
Tim Blechmann
4429fdb4a8 github: update github actions for ubuntu/clang boost-1.88.0 2024-12-27 12:48:11 +08:00
Tim Blechmann
d8c13b2ba3 lockfree: clean up alignment
* use alignas
* use constexpr variable instead of preprocessor define
2024-12-27 12:48:11 +08:00
Tim Blechmann
ba92d67923 tests: appleclang compile fix 2024-12-15 09:33:48 +08:00
Tim Blechmann
922842f3fa update github actions 2024-12-15 09:33:48 +08:00
Tim Blechmann
435eec3b73 Lockfree: early use of pragma once 2024-12-13 16:32:30 +08:00
Tim Blechmann
ebfefa7594 update github actions 2024-12-13 16:32:30 +08:00
Tim Blechmann
8874ee7527 run pre-commit 2024-12-13 16:32:30 +08:00
Tim Blechmann
c5329ddf9f lockfree: implement spsc_value
spsc_value is a single-producer single-consumer value implemented as a
lockfree triple-buffer.
2024-12-08 08:15:39 +08:00
Tim Blechmann
4ef74dac10 tests: silence warning 2024-12-08 08:15:39 +08:00
Tim Blechmann
26a0337fdd Tests: fix interprocess test case
Fixes: #103
boost-1.87.0 boost-1.88.0.beta1 boost-1.87.0.beta1
2024-09-25 08:55:51 +08:00
Rene Rivera
a748e6c056 Update build deps. 2024-08-19 09:04:16 +08:00
Rene Rivera
a1385a0ea4 Update inter-lib build dependencies. 2024-08-19 09:04:16 +08:00
Rene Rivera
f715aada5b Adjust doc build to avoid boost-root references. 2024-08-19 09:04:16 +08:00
Rene Rivera
d70e1ef784 Move inter-lib dependencies to a project variable and into the build targets. 2024-08-19 09:04:16 +08:00
Rene Rivera
364acdab99 Update copyright dates. 2024-08-19 09:04:16 +08:00
Rene Rivera
ded31a7610 Bump B2 require to 5.2 2024-08-19 09:04:16 +08:00
Rene Rivera
3a15d3e435 Update dependencies. 2024-08-19 09:04:16 +08:00
Rene Rivera
3e38c4933c Add requires-b2 check to top-level build file. 2024-08-19 09:04:16 +08:00
Rene Rivera
94035d860a Switch to library requirements instead of source. As source puts extra source in install targets. 2024-08-19 09:04:16 +08:00
Rene Rivera
0cfe38b356 Make the library modular usable. 2024-08-19 09:04:16 +08:00
Tim Blechmann
82961738b5 requirements: use concepts to improve requirement validation 2024-05-04 13:54:33 +08:00
Tim Blechmann
e650f56778 modernisation: introduce uses_optional api 2024-05-04 11:18:35 +08:00
Tim Blechmann
5e9bc81d9c stack/spsc_queue - introduce move semantics 2024-05-04 10:15:30 +08:00
Tim Blechmann
e702308e19 doxygen cleanups 2024-05-03 21:45:54 +08:00
Tim Blechmann
6a70a658aa modernisation: use c++14 where possible 2024-05-03 21:45:54 +08:00
Tim Blechmann
e0a8797deb CI: remove c++11 compiler configurations 2024-05-03 14:43:10 +08:00
Tim Blechmann
e768411882 ci: fix use of ccache 2024-05-03 14:43:10 +08:00
Tim Blechmann
fdbccb9253 build system: fix cmake tests 2023-12-17 15:11:40 +08:00
Tim Blechmann
f2a934205e cmake: add boost_lockfree_test_common for better ide integration 2023-11-23 13:13:44 +08:00
Tim Blechmann
156ee77163 cmake: link atomic on linux (clang compile fix) 2023-11-23 13:11:17 +08:00
Tim Blechmann
e04bf59236 stack/queue - add missing allocator ctor 2023-11-03 21:33:09 +08:00
Tim Blechmann
bafa33be67 tests: cleanups 2023-11-03 14:59:50 +08:00
Tim Blechmann
8b25ed24db tests: use modern boost.test macros 2023-11-03 14:59:50 +08:00
Tim Blechmann
099f495bbc ci: try mingw builds 2023-11-03 14:59:50 +08:00
Tim Blechmann
e3b6eb8d1f tests: silence warnings 2023-11-03 14:59:50 +08:00
Tim Blechmann
3ccac29ae3 import pre-commit and clang-format 2023-11-03 14:59:50 +08:00
Tim Blechmann
dba9b10b2b build system: polish cmake build system 2023-11-03 14:59:50 +08:00
Tim Blechmann
c762d2e8c5 Merge pull request #87 from boostorg/feature/ci-improvements
ci: improve github actions / remove appveyor/travis
2023-11-02 19:34:22 +08:00
Tim Blechmann
845dfa39eb ci: improve github actions / remove appveyor/travis
* run on matrix.os
* disable old clang compilers
* enable more windows builds
* use ccache
2023-11-02 12:57:58 +08:00