Ion Gaztañaga
d940bf6cbe
Remove incorrect allocator management in docs.
2026-02-04 15:36:17 +01:00
Ion Gaztañaga
2b1c08b010
Add "get_segment_size/bytes" to segmented_vector.
2026-02-04 00:27:01 +01:00
Ion Gaztañaga
bfb2563355
Use "get_segment_size/bytes" in deque and its example.
2026-02-04 00:26:25 +01:00
Ion Gaztañaga
ea94858c0a
Add "get_segment_size" alias
2026-02-04 00:25:49 +01:00
Ion Gaztañaga
3205bce1b7
Remove experimental warning to segmented_vector
2026-02-04 00:05:33 +01:00
Ion Gaztañaga
0e0e9c51a7
Add segment_size/segment_bytes aliases
2026-02-04 00:04:47 +01:00
Ion Gaztañaga
fe9203f29b
Rollback to default cygwin mirro
2026-02-04 00:04:27 +01:00
Ion Gaztañaga
0368520a1e
Try multiple cygwin mirrors
2026-02-03 23:01:02 +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
65f7bba30d
Clean up CTAD code formatting
2026-02-03 15:50:14 +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
56b4ccac37
Extract deque implementation to a deque_impl class in order to reuse that class for new containers
2026-02-01 21:53:31 +01:00
Ion Gaztañaga
eabba274a2
Fix documenation to state begin() is also amortized constant-time for deque.
2026-01-31 16:24:34 +01:00
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