1427 Commits

Author SHA1 Message Date
Ion Gaztañaga
9e2afe85ad Add "inline_chars" option to basic_string 2026-01-24 23:29:36 +01:00
Ion Gaztañaga
06cdd2fc4a Make customization example more clear with a heading before each option 2026-01-24 22:53:42 +01:00
Ion Gaztañaga
34bdb94986 Add documentation chapter and example code for string options. 2026-01-24 17:12:47 +01:00
Ion Gaztañaga
11f13e8d7e Add warning to stored_size option 2026-01-24 17:12:20 +01:00
Ion Gaztañaga
7adef4f425 Use SFINAE to avoid calling iterator-range functions when trying to call size + value constructors 2026-01-24 17:11:34 +01:00
Ion Gaztañaga
d4e38179fc Add options "stored_size" and "growth_factor" options to string. Make string's default growth factor the same as vector's (60%) 2026-01-24 11:08:28 +01:00
Ion Gaztañaga
6689e38a35 Make boost_cont_allocation_command compile under non C99 compilers (e.g. MSVC 2010) 2026-01-24 11:06:04 +01:00
Ion Gaztañaga
f2c1b10bc9 Remove unneded "typename" to avoid warnings 2026-01-24 11:05:29 +01:00
Ion Gaztañaga
da579be9c1 Avoid priv_set_storage since storage is only stored in long representation 2026-01-23 22:51:56 +01:00
Ion Gaztañaga
d60d8d1e21 Correct dlmalloc_allocation_command arguments are bytes, not objects 2026-01-23 00:37:55 +01:00
Ion Gaztañaga
4f449051f0 Rollback clang's _NonNull attribute, too many warnings in older compilers. Replaced with BOOST_ASSERT null checks and added some corner cases to the test-suite. 2026-01-23 00:18:46 +01:00
Ion Gaztañaga
60d933fc09 Added Clang nullability checks for basic_string methods 2026-01-22 19:42:55 +01:00
Ion Gaztañaga
20aa1aee7e Implement "ends_with" and update "starts_with" to the same implementation style. 2026-01-22 00:09:11 +01:00
Ion Gaztañaga
dc3a96a29b Add C++20 "starts_with" overloads 2026-01-21 23:40:18 +01:00
Ion Gaztañaga
a02aae0b9f Add C++23 "contains" to basic_string. 2026-01-21 22:46:19 +01:00
Ion Gaztañaga
548496fa2e Fixes #328 ("boost::container::deque stores a redundant copy of the allocator, increasing size") 2026-01-21 13:43:31 +01:00
Ion Gaztañaga
bf058bcc54 Force explicit alignment argument to private_node_pool and shared_node_pool to avoid bugs on overaligned types. 2026-01-20 23:57:43 +01:00
Ion Gaztañaga
07806c7752 Properly rename implementation pool types 2026-01-20 22:51:43 +01:00
Ion Gaztañaga
89d04c76ea Re-enable full node_allocator testing 2026-01-20 20:49:17 +01:00
Ion Gaztañaga
4e2e8ecd18 Add unlikely hint and uniffy priv_allocation_command with adaptive_pool. 2026-01-20 19:41:23 +01:00
Ion Gaztañaga
7f2e33ec38 - Make sure only version-related functions are called.
- Add some missing nodiscard
2026-01-20 19:39:54 +01:00
Ion Gaztañaga
08ee5c97bd Remove unused "allocate" function, as aligned allocations are used now 2026-01-20 19:37:37 +01:00
Ion Gaztañaga
75806031b9 Disable overaligned tests until the root cause of failure is found 2026-01-20 10:36:39 +01:00
Ion Gaztañaga
faa4ce8111 Remove deprecated hint parameter from "allocate" 2026-01-20 10:22:18 +01:00
Ion Gaztañaga
91663758da Add testcase for node allocator testing list/vector x v2/v1 x int/overaligned_int 2026-01-20 01:02:35 +01:00
Ion Gaztañaga
189c2faefe Take advantage of alignment argument of shared_node_pool so that node_allocator supports overaligned types 2026-01-20 00:59:26 +01:00
Ion Gaztañaga
06f38d1cae Always pass node alignment to private_node_pool_impl 2026-01-20 00:58:12 +01:00
Ion Gaztañaga
bc322c91b3 Remove unneeded comments 2026-01-19 23:36:36 +01:00
Ion Gaztañaga
edcfde1ade Add test for adaptive_pool in several configurations (list/vector x int/aligned_int x v2/v1 allocation versions) 2026-01-19 23:32:11 +01:00
Ion Gaztañaga
49c9c26dbf Add missing alignment argument to shared_adaptive_node_pool. 2026-01-19 23:23:57 +01:00
Ion Gaztañaga
620e09223c Remove unneeded includes 2026-01-19 01:17:00 +01:00
Ion Gaztañaga
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.
2026-01-19 01:06:56 +01:00
Ion Gaztañaga
1e1741ce63 Delete unused includes 2026-01-19 01:01:53 +01:00
Ion Gaztañaga
62619d8a44 Add overaligned_copyable_int for testing over-aligned types in containers 2026-01-18 21:38:33 +01:00
Ion Gaztañaga
fbfa25d434 Add missing <.../multiallocation_chain.hpp> include 2026-01-18 21:38:06 +01:00
Ion Gaztañaga
a0dd5bb7c5 Fix -Wshadow warning 2026-01-18 17:15:29 +01:00
Ion Gaztañaga
58b82b68ef Add bench tests to the regression tests 2026-01-18 16:15:19 +01:00
Ion Gaztañaga
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. 2026-01-18 16:15:01 +01:00
Ion Gaztañaga
93752fd9ed Reduce element size, it was accidently committed and it makes regression runners take longer than needed 2026-01-18 16:13:31 +01:00
Ion Gaztañaga
2bc94e2c5e Fix warning on casting removing const qualifiers 2026-01-18 16:12:20 +01:00
Ion Gaztañaga
f818ee9bfd Delete alignment check, ubsan will be used to detect this in tests 2026-01-14 12:36:54 +01:00
Ion Gaztañaga
72ff09d7d2 Fix bug, m_nodes_per_block was directly used instead of unpacking its value and stripping the stored bits. 2026-01-13 01:26:43 +01:00
Ion Gaztañaga
7cc06da5d8 Insert alignment assertion for construct 2026-01-13 01:25:57 +01:00
Ion Gaztañaga
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. 2026-01-12 23:06:07 +01:00
Ion Gaztañaga
b0d7141c0c Add compile time log2_pow2 2026-01-12 23:04:42 +01:00
Ion Gaztañaga
ee1c553a67 Added changelog about basic_string 2026-01-05 02:17:41 +01:00
Ion Gaztañaga
40c440cca5 Add operation by operation testsuite. 2026-01-02 20:35:29 +01:00
Ion Gaztañaga
0e70115cd2 Add static const npos definition 2026-01-02 20:14:50 +01:00
Ion Gaztañaga
c1a6136513 Clean commented temporal testsuite. 2026-01-02 18:49:25 +01:00
Ion Gaztañaga
639337e079 Add missing string_view-like overloads for assign, insert and append. 2026-01-02 18:46:33 +01:00