Ion Gaztañaga
cd0387b5fc
Changed return type of erase/erase_if/unique members of list and slist to size_type to follow C++20 changes to std::list.
2026-02-05 00:29:03 +01:00
Ion Gaztañaga
8ed60bcbe1
Protect CTAD from old clang compilers that suffer from ICE
2026-02-03 15:50:39 +01:00
Ion Gaztañaga
f483482d7c
Optimize segmented_vector:
...
- Add option to deque_impl to optimize a "single-ended" version.
- If single_ended, start offset is not stored as member and is assumed to be zero.
- Members with cases for front insertion are modified to avoid those branches.
- If single_ended, only a free slot at the back on the index is needed instead of 2 (front and back)
2026-02-03 02:09:50 +01:00
Ion Gaztañaga
fc89601942
Add more checks in each erase step
2026-02-03 01:53:40 +01:00
Ion Gaztañaga
17c4c688e5
Add expected sizeof test to detect any unwanted growth when refactoring
2026-02-02 23:02:21 +01:00
Ion Gaztañaga
56268e7a18
Add experimental "segmented_vector" container, which is a single-ended version of deque. First implementation is suboptimal.
2026-02-02 12:59:07 +01:00
Ion Gaztañaga
0a78d89b24
Replace BOOST_ASSERT with BOOST_TEST
2026-02-02 12:56:29 +01:00
Ion Gaztañaga
aec7dfbaae
Rename "deque" instances with "cont" to be able to easily diff tests and see differences between container tests
2026-02-01 21:54:16 +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
f2c1b10bc9
Remove unneded "typename" to avoid warnings
2026-01-24 11:05:29 +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
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
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
75806031b9
Disable overaligned tests until the root cause of failure is found
2026-01-20 10:36:39 +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
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
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
40c440cca5
Add operation by operation testsuite.
2026-01-02 20:35:29 +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
Ion Gaztañaga
d8620c7784
Test new_delete_resource overalignment in all platforms
2025-12-26 11:00:48 +01:00
Ion Gaztañaga
52b34fb1da
Add aligned new overloads and make sure zero-allocated malloc is not called (operator new requires non-null for zero-sized allocations).
2025-12-26 10:57:24 +01:00
Ion Gaztañaga
17828f8346
Use loop instead of an array to ease maintenance
2025-12-23 22:45:29 +01:00
Ion Gaztañaga
8ac7364a16
Fix test for platforms where "weak-alignment" allocations are implemented, small allocations can't return alignment smaller than "max_align".
2025-12-23 22:37:16 +01:00
Ion Gaztañaga
b892abf191
Add new_delete_resource test-suite
2025-12-23 19:29:54 +01:00
Ion Gaztañaga
313e8c7626
Remove in-progress file
2025-12-23 13:53:13 +01:00
Ion Gaztañaga
f29a4c8248
Make new_delete_resource_imp and null_memory_resource_imp "final"
2025-12-23 11:07:04 +01:00
Ion Gaztañaga
ac523b2c1e
Add more BOOST_CONTAINER_ATTRIBUTE_NODISCARD attributes and fix warnings triggered by this attribute
2025-12-18 15:23:56 +01:00
Ion Gaztañaga
68b80e6ac7
Implemented C++20's uninitialized_construct_using_allocator and make_obj_using_allocator.
2025-12-17 22:00:52 +01:00
Ion Gaztañaga
f26b0ff58c
Implement C++20's uninitialized_construct_using_allocator
2025-12-17 14:39:45 +01:00
Ion Gaztañaga
4f62d12541
Add "import testing ;"
2025-12-11 15:16:24 +01:00
Ion Gaztañaga
db43fc9228
Fix unused variable warning when compiling without exceptions
2025-12-09 22:37:39 +01:00
Ion Gaztañaga
ccc9efcd74
Make static_vector<T, N>'s destructor trivial if T is trivial.
2025-12-09 17:11:57 +01:00
Ion Gaztañaga
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.
2025-11-29 22:41:19 +01:00
Ion Gaztañaga
5039410be5
Add is_constructible implementation, compatible with several C++03 compilers
2025-11-29 21:48:11 +01:00
Ion Gaztañaga
dd5ad5672e
Remove unneeded typename
2025-11-29 21:45:18 +01:00
Ion Gaztañaga
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
2025-11-09 21:16:24 +01:00
Ion Gaztañaga
77699d11e6
Remove unneeded scope
2025-11-09 21:15:37 +01:00
Ion Gaztañaga
3a881a9e0b
Remove unnecessary clear() for heterogeneous "extract" testing
2025-11-09 21:15:02 +01:00
Ion Gaztañaga
e4f42d03cb
Implement heterogeneous "at()" operation for map/flat_map
2025-11-07 23:09:05 +01:00
Ion Gaztañaga
9f08eccc05
Implement C++26 heterogeneous operator[], refactor operator[] implementation.
2025-11-07 22:24:37 +01:00
Ion Gaztañaga
92d46cc151
Add C++26 transparent "try_emplace" to map and flat_map
2025-11-06 23:59:05 +01:00
Ion Gaztañaga
21725febaa
Add C++23 transparent extract() method to set/multiset/map/multimap
2025-11-05 22:31:54 +01:00