Ion Gaztañaga
6231b1990e
Clean "segmented_find_if" segmented dispatch
2026-03-13 23:17:20 +01:00
Ion Gaztañaga
3dae33c40e
forceinline equal_to_value basic operations
2026-03-13 23:16:56 +01:00
Ion Gaztañaga
52d139a0b5
Temporarily use simpler, but segmented_find_if based code for remove_if
2026-03-13 15:54:36 +01:00
Ion Gaztañaga
0015930d1a
Dispatch some xxx algorithms to their xxx_if counterpart
2026-03-13 15:54:03 +01:00
Ion Gaztañaga
bf5248374f
Optimized "reverse" algorithms
2026-03-12 23:08:06 +01:00
Ion Gaztañaga
ad3db6feec
Avoid aliasing in reference passed "count" argument
2026-03-12 23:04:11 +01:00
Ion Gaztañaga
345c428f75
Erase algorithms with no easy segmentation strategy
2026-03-12 23:03:32 +01:00
Ion Gaztañaga
5bed25c4da
Put nest iterators outside "nest_detail"
2026-03-12 15:40:02 +01:00
Ion Gaztañaga
3e5895285a
Rename nest's iterator to "nest_iterator"
2026-03-12 14:12:00 +01:00
Ion Gaztañaga
e82af3c973
Fix is_segmented_iterator definition in deque_iterator
2026-03-12 14:02:03 +01:00
Ion Gaztañaga
e5f2e681b6
Add segmented_iterator_traits to nest
2026-03-12 14:01:34 +01:00
Ion Gaztañaga
22137e16bd
Add experimental segmented algorithms
2026-03-10 23:28:26 +01:00
Ion Gaztañaga
6807b47c2e
Use BOOST_IF_CONSTEXPR if possible for constant conditions.
2026-02-26 23:35:42 +01:00
Ion Gaztañaga
3d5ad2303f
Avoid additional extra slots for reservable segmented types
2026-02-25 23:10:42 +01:00
Ion Gaztañaga
4f196ad71b
Try back insertion first.
2026-02-25 23:07:38 +01:00
Ion Gaztañaga
bc531d7430
Small fixes to deque_impl
2026-02-24 23:59:58 +01:00
Ion Gaztañaga
0e5b465d0d
Fix rvref splice overload for C++03 compilers, avoiding infinite recursion
2026-02-22 23:25:14 +01:00
Ion Gaztañaga
835b212507
Refactor several similar functions using Boost.Container's special iterators
2026-02-22 17:35:47 +01:00
Ion Gaztañaga
ad878e2c2c
Remove unneeded variadic template for value_init_t overload
2026-02-22 17:33:56 +01:00
Ion Gaztañaga
689fa2f2ce
Make value_init_construct_iterator::operator*() return a value_init_t reference so that it can be intercepted by allocator_traits
2026-02-22 17:33:25 +01:00
Ion Gaztañaga
c53dc00f71
Add value_init_t overload to make regular implementations for value initialization overloads
2026-02-22 17:02:40 +01:00
Ion Gaztañaga
d8a9959360
Convert force and force_copy in macros so that it's a no-op for modern compilers.
2026-02-21 22:45:06 +01:00
Ion Gaztañaga
67f4bf69a2
Add prefetch option
2026-02-21 22:43:21 +01:00
Ion Gaztañaga
e2278d3ab6
Fixes #332 ("aligned_alloc not available in C++11/14 on XCode 12")
2026-02-20 23:19:32 +01:00
Ion Gaztañaga
958fe7d326
Fixes #330 : ("boost/container/detail/pair.hpp: partial specializations of boost::move_detail traits for std::pair break Unity (jumbo)")
2026-02-16 22:53:37 +01:00
Ion Gaztañaga
be8fa0ae35
Fix incorrect BOOST_MOVE_BASE usage
2026-02-13 17:25:20 +01:00
Ion Gaztañaga
db62e4b814
Refactor block_base/block to avoid storing the data pointer and make sizeof(next) smaller.
2026-02-13 10:11:32 +01:00
Ion Gaztañaga
1a50b78e15
Add "store_data_in_block" option to nest
2026-02-12 22:42:54 +01:00
Ion Gaztañaga
078fb8671e
Added, for testing and comparison and benchmarking purposes, experimental "nest" container under "experimental" folder, a C++03 backport and adaptation to use Boost.Container internals of Joaquín López Muñoz's "hub" container proposal ( https://lists.boost.org/archives/list/boost@lists.boost.org/thread/6YXMHMARNAEFTGBTZYYAETCAYCYHHKQP/ ).
2026-02-11 12:05:12 +01:00
Ion Gaztañaga
d24ff073cf
Rename segmented_vector to segtor, to reserve "vector" name to contiguous memory containers.
2026-02-07 15:04:21 +01:00
Ion Gaztañaga
1620287965
Clarify the block_size/block_bytes option
2026-02-06 00:00:47 +01:00
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
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
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
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
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
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
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