Commit Graph

  • 620e09223c Remove unneeded includes develop Ion Gaztañaga 2026-01-19 01:17:00 +01:00
  • 9201bbf83b - Modify dlmalloc_allocation_command to use alignment info, this requires modifying the dlmalloc_ext wrapper library. - Replace all dlmalloc_malloc uses with dlmalloc_allocation_command to support overaligned types in array allocations. Ion Gaztañaga 2026-01-19 01:06:56 +01:00
  • 1e1741ce63 Delete unused includes Ion Gaztañaga 2026-01-19 01:01:53 +01:00
  • 62619d8a44 Add overaligned_copyable_int for testing over-aligned types in containers Ion Gaztañaga 2026-01-18 21:38:33 +01:00
  • fbfa25d434 Add missing <.../multiallocation_chain.hpp> include Ion Gaztañaga 2026-01-18 21:38:06 +01:00
  • a0dd5bb7c5 Fix -Wshadow warning Ion Gaztañaga 2026-01-18 17:15:29 +01:00
  • 58b82b68ef Add bench tests to the regression tests Ion Gaztañaga 2026-01-18 16:15:19 +01:00
  • 120d663949 Make node pool based allocators support overaligned types. To avoid breaking ABI, pack overalignment value in spare bits on existing fields. Probably in the future we want to break ABI to simplify the maintenance. Ion Gaztañaga 2026-01-18 16:15:01 +01:00
  • 93752fd9ed Reduce element size, it was accidently committed and it makes regression runners take longer than needed Ion Gaztañaga 2026-01-18 16:13:31 +01:00
  • 2bc94e2c5e Fix warning on casting removing const qualifiers Ion Gaztañaga 2026-01-18 16:12:20 +01:00
  • f818ee9bfd Delete alignment check, ubsan will be used to detect this in tests Ion Gaztañaga 2026-01-14 12:36:54 +01:00
  • 72ff09d7d2 Fix bug, m_nodes_per_block was directly used instead of unpacking its value and stripping the stored bits. Ion Gaztañaga 2026-01-13 01:26:43 +01:00
  • 7cc06da5d8 Insert alignment assertion for construct Ion Gaztañaga 2026-01-13 01:25:57 +01:00
  • ac36c424fd Add overalignment support for private_node_pool_impl. To avoid breaking ABI (internal Interprocess pool representation depends on this and it might brake programs) the overalignmend (alignment bigger than pointer alignment) is stored in the free bits of existing 3 integers. Ion Gaztañaga 2026-01-12 23:06:07 +01:00
  • b0d7141c0c Add compile time log2_pow2 Ion Gaztañaga 2026-01-12 23:04:42 +01:00
  • 071961cf2b Add comprehensive CLAUDE.MD development guide claude/update-claude-md-LXLNm Claude 2026-01-10 23:54:33 +00:00
  • ee1c553a67 Added changelog about basic_string master Ion Gaztañaga 2026-01-05 02:17:41 +01:00
  • 40c440cca5 Add operation by operation testsuite. Ion Gaztañaga 2026-01-02 20:35:29 +01:00
  • 0e70115cd2 Add static const npos definition Ion Gaztañaga 2026-01-02 20:14:50 +01:00
  • c1a6136513 Clean commented temporal testsuite. Ion Gaztañaga 2026-01-02 18:49:25 +01:00
  • 639337e079 Add missing string_view-like overloads for assign, insert and append. Ion Gaztañaga 2026-01-02 18:46:33 +01:00
  • 2659a1670a Since warnings in integer conversion on "operator<<" and "operator>>" Ion Gaztañaga 2026-01-02 18:45:02 +01:00
  • e14d24fd65 Fix missing default arguments for append and compare that were added in C++14 Ion Gaztañaga 2026-01-02 18:42:06 +01:00
  • 414e89c781 Fix bug in operator[]: Access is allowed to the terminating null since C++11 Ion Gaztañaga 2026-01-02 18:40:00 +01:00
  • 0a0ea3e694 Remove buffer_move_or_copy usage and reformat devector. Ion Gaztañaga 2026-01-02 18:30:02 +01:00
  • 84d9a29107 Implement the same logic as deque, resetting the back index to the first index instead of putting both at offset zero. Ion Gaztañaga 2026-01-02 13:39:16 +01:00
  • fe373c480b More consistent formatting and calls Ion Gaztañaga 2026-01-02 13:38:15 +01:00
  • 41a95f145a Merge pull request #326 from sdarwin/feature/ci3 Ion Gaztañaga 2025-12-31 04:55:31 +01:00
  • 3626cbd56b GitHub Actions: test doc builds sdarwin 2025-12-30 09:23:08 -07:00
  • d24a219afe Fix some documentation bugs generated by doxygen leaking macros Ion Gaztañaga 2025-12-28 01:55:20 +01:00
  • a1a50581dd Update docs with new overaligned allocation changes. Ion Gaztañaga 2025-12-26 18:26:19 +01:00
  • c99257c1dc Fix recursion in aligned_allocation. Rename aligned_alloc.hpp to aligned_allocation.hpp to be consistent: - "aligned_allocation" will be the internal name for the utility in the Container library. - "aligned_alloc" is the C11 function name Ion Gaztañaga 2025-12-26 16:14:33 +01:00
  • e19e121cf4 Make an exception to MacOs platforms, where system malloc only aligns to 8 bytes, even in ARM64. Ion Gaztañaga 2025-12-26 14:17:45 +01:00
  • d8620c7784 Test new_delete_resource overalignment in all platforms Ion Gaztañaga 2025-12-26 11:00:48 +01:00
  • ae9265dc7d Add overalignment support for new_delete_resource for newer (__cpp_aligned_new) and older standards, including some workaround for targets where __STDCPP_DEFAULT_NEW_ALIGNMENT__ value is not correctly aligned between GCC and the malloc implementation (Win32) Ion Gaztañaga 2025-12-26 10:59:37 +01:00
  • 52b34fb1da Add aligned new overloads and make sure zero-allocated malloc is not called (operator new requires non-null for zero-sized allocations). Ion Gaztañaga 2025-12-26 10:57:24 +01:00
  • 73ddb75de4 Fix code release notes to avoid a quickbook error that interprets a missing [[endsect]]. Ion Gaztañaga 2025-12-24 01:59:09 +01:00
  • 0872852941 Remove toolset --version command Ion Gaztañaga 2025-12-23 23:06:36 +01:00
  • 17828f8346 Use loop instead of an array to ease maintenance Ion Gaztañaga 2025-12-23 22:45:29 +01:00
  • 8ac7364a16 Fix test for platforms where "weak-alignment" allocations are implemented, small allocations can't return alignment smaller than "max_align". Ion Gaztañaga 2025-12-23 22:37:16 +01:00
  • 0d2dff8517 Print compiler version and make cxxstd an option Ion Gaztañaga 2025-12-23 21:10:41 +01:00
  • 5c3e6a0a25 Update release notes for 1.91 with latest additions Ion Gaztañaga 2025-12-23 19:35:50 +01:00
  • b892abf191 Add new_delete_resource test-suite Ion Gaztañaga 2025-12-23 19:29:54 +01:00
  • 1cef6075b8 Add BOOST_CONTAINER_NODISCARD to getters Ion Gaztañaga 2025-12-23 19:25:02 +01:00
  • 313e8c7626 Remove in-progress file Ion Gaztañaga 2025-12-23 13:53:13 +01:00
  • f29a4c8248 Make new_delete_resource_imp and null_memory_resource_imp "final" Ion Gaztañaga 2025-12-23 11:07:04 +01:00
  • e4fcf4b862 Add overaligned type support for global pmr: implement operator_new_raw_allocate/operator_delete_raw_deallocate and use them in new_delete_resource_imp Ion Gaztañaga 2025-12-23 11:02:38 +01:00
  • 7e00044ecf Add comprehensive test for pmr::new_delete_resource claude/test-pmr-new-delete-gAdEc Claude 2025-12-22 23:18:23 +00:00
  • ce530f5fbe Improve C++ conformance chapter adding mention to uses-allocator related utilities Ion Gaztañaga 2025-12-19 10:10:32 +01:00
  • 7a22ae2ade Replace BOOST_CONTAINER_ATTRIBUTE_NODISCARD with BOOST_CONTAINER_NODISCARD Ion Gaztañaga 2025-12-18 15:56:59 +01:00
  • ac523b2c1e Add more BOOST_CONTAINER_ATTRIBUTE_NODISCARD attributes and fix warnings triggered by this attribute Ion Gaztañaga 2025-12-18 15:23:56 +01:00
  • 8ce8b9ee43 Add nodiscard to memory resource Ion Gaztañaga 2025-12-18 11:25:32 +01:00
  • 1a0bbe0e79 Add __declspec(novtable) for memory_resource in MSVC compilers to slightly optimize code generation (just like MS STL does) Ion Gaztañaga 2025-12-18 10:02:13 +01:00
  • 03d4f4fef7 Place better BOOST_CONTAINER_DOXYGEN_INVOKED checks so that doxygen does not generate unwanted types in the documentation Ion Gaztañaga 2025-12-17 23:39:27 +01:00
  • 68b80e6ac7 Implemented C++20's uninitialized_construct_using_allocator and make_obj_using_allocator. Ion Gaztañaga 2025-12-17 22:00:52 +01:00
  • f26b0ff58c Implement C++20's uninitialized_construct_using_allocator Ion Gaztañaga 2025-12-17 14:39:45 +01:00
  • 3183fc28cc Handle BOOST_CONSTEXPR macros in Jamfile Ion Gaztañaga 2025-12-17 14:39:16 +01:00
  • cf54b3a333 Add #pragma once to devector.hpp Ion Gaztañaga 2025-12-17 14:38:42 +01:00
  • 2fe7163fa0 Hide uses_allocator_imp implementation detail from docs Ion Gaztañaga 2025-12-16 19:34:52 +01:00
  • 1ccebc915c Make sure pthread is used for cygwin Ion Gaztañaga 2025-12-16 19:34:36 +01:00
  • df5010d5eb Make apt update more robust adding sleeps betwen retries Ion Gaztañaga 2025-12-13 17:20:34 +01:00
  • c8e61a12ff Remove cxxstd variants for cygwin (already tested on Linux) Add cygserver launch on cygwin Leave only latest BSDs to speed up testing Ion Gaztañaga 2025-12-13 15:27:48 +01:00
  • e2dcbb58cc Add "import testing ;" to bench Ion Gaztañaga 2025-12-11 15:24:19 +01:00
  • 4f62d12541 Add "import testing ;" Ion Gaztañaga 2025-12-11 15:16:24 +01:00
  • 9bddac68c0 Add BSD variants Ion Gaztañaga 2025-12-11 15:04:25 +01:00
  • 8723667fdd Add cygwin regression Ion Gaztañaga 2025-12-10 15:11:52 +01:00
  • 145bd51451 Fix instantiation error in MSVC for recursive types when evaluating the conditional defaulted destructor. Ion Gaztañaga 2025-12-09 22:38:10 +01:00
  • db43fc9228 Fix unused variable warning when compiling without exceptions Ion Gaztañaga 2025-12-09 22:37:39 +01:00
  • ccc9efcd74 Make static_vector<T, N>'s destructor trivial if T is trivial. Ion Gaztañaga 2025-12-09 17:11:57 +01:00
  • 6afcdbf11a Add C++03 for ASAN Ion Gaztañaga 2025-12-06 22:57:36 +01:00
  • 8e6a2012cd Use latest GCC for ubsan/asan and use separate runners for ubsan and asan test to improve test performance. Ion Gaztañaga 2025-12-06 21:35:05 +01:00
  • 50d012cd5d Rollback to Ubuntu 25.04 as 26.04 (still beta) package update might fail. Ion Gaztañaga 2025-12-06 19:28:18 +01:00
  • 34e0ad9fbb Avoid testing C++03 with libc++ Ion Gaztañaga 2025-12-06 19:24:48 +01:00
  • fda4b2420b - Fix clang-20/libc++ installation - Add C++03 to libc++ - Add Asan to tests Ion Gaztañaga 2025-12-06 19:20:04 +01:00
  • 0d9be824f3 Use containers for clang libc++ w/wo ubsan Ion Gaztañaga 2025-12-06 11:53:36 +01:00
  • c3201cd4eb Add clang-20 libc++ w/wo Ubsan Ion Gaztañaga 2025-12-06 11:51:09 +01:00
  • fe9fbbb6eb Use "-pipe" option for gcc-15 and latest clang Ion Gaztañaga 2025-12-06 11:47:04 +01:00
  • 6080373d92 Use Ubuntu 26.04 instead of 25.04 for GH actions Ion Gaztañaga 2025-12-06 11:27:04 +01:00
  • 6c5be5289d Install clang-20 for Ubuntu 25.04 Ion Gaztañaga 2025-12-06 11:22:27 +01:00
  • 2a2f2ce1b3 Add gcc-15 and clang-20 to the regression testing Ion Gaztañaga 2025-12-06 11:06:41 +01:00
  • 7a2192b417 Fixes #323 ("flat_tree::try_emplace UB") Ion Gaztañaga 2025-12-06 11:03:24 +01:00
  • ee24095f5c - Remove fallback_to_dispatch_uses_allocator - Remove unused arg_alloc arguments Ion Gaztañaga 2025-11-30 23:23:35 +01:00
  • 97c0a899cc Change depinst call so that always uses "-C" Ion Gaztañaga 2025-11-30 17:24:08 +01:00
  • 3e04de4c9f Use "depinst.py -C" option to detect circular references Ion Gaztañaga 2025-11-30 17:10:20 +01:00
  • bad90ed378 Fix copy-paste error: use boost/container/xxx instead of wrong boost/interprocess/xxx Ion Gaztañaga 2025-11-30 16:52:49 +01:00
  • 9ae8e433e4 Implement "fallback_to_dispatch_uses_allocator". This helper function tests if the target type is constructible from the original arguments. If so, uses the original arguments. If not, fallbacks to uses-allocator construction via dispatch_uses_allocator. Ion Gaztañaga 2025-11-30 00:47:13 +01:00
  • 8bce1f9ecd Remove constructible_with_allocator_suffix/constructible_with_allocator_prefix from documentation as they are not needed now. Utilities will reman anonymous to maintain a minimum backwards compatibility. Ion Gaztañaga 2025-11-29 22:41:19 +01:00
  • e2d3cf7bd2 Use safe fallback with uses-allocator construction when prefix or suffix calls are not available. Instead of being ill-formed, ignore allocator argument, just like when uses_allocator<T>::value is false. Ion Gaztañaga 2025-11-29 21:54:21 +01:00
  • fdf6b37b67 - Use newly added is_constructible to implement portably constructible_with_allocator_suffix/constructible_with_allocator_prefix Ion Gaztañaga 2025-11-29 21:51:31 +01:00
  • 5039410be5 Add is_constructible implementation, compatible with several C++03 compilers Ion Gaztañaga 2025-11-29 21:48:11 +01:00
  • 86a69d852e Use newly added limit_by_stored_size_type Ion Gaztañaga 2025-11-29 21:46:39 +01:00
  • a682f10fbb Implement helper functions to deal with potential narrowing and avoid warnings Ion Gaztañaga 2025-11-29 21:46:06 +01:00
  • dd5ad5672e Remove unneeded typename Ion Gaztañaga 2025-11-29 21:45:18 +01:00
  • d2154ae3f6 Update README with active tests Ion Gaztañaga 2025-11-25 22:28:08 +01:00
  • 68914708b2 Add dummy allocator utility to be able to use allocator_traits machinery without instantiating a real allocator Ion Gaztañaga 2025-11-24 21:25:04 +01:00
  • aca13505b8 Fix typo Ion Gaztañaga 2025-11-24 21:24:27 +01:00
  • 558e3f24e8 Fix typo Ion Gaztañaga 2025-11-23 00:43:27 +01:00
  • 7bae5106eb Optimize GH runner script: - Disable debug info to improve disk performance - Remove ancient Clang 3.5 - Add -pipe to avoid disk writing for intermediate files - Separate 32 and 64 bit window tasks as Windows machines are much slower than Linux machines Ion Gaztañaga 2025-11-11 22:59:41 +01:00
  • b48049378a Update release notes for Boost 1.91 Ion Gaztañaga 2025-11-10 21:25:33 +01:00
  • 5353cfc736 Implement C++26 heterogeneous "insert" for set and flat_set. Range insertion functions in flat_tree are renamed to support some older compilers that have problems with SFINAE against the heterogeneous insert overload Ion Gaztañaga 2025-11-09 21:16:24 +01:00