1899 Commits

Author SHA1 Message Date
Ion Gaztañaga 2c38882e26 Use BOOST_CONTAINER_ASSUME instead of BOOST_CONTAINER_NEST_ASSUME 2026-06-04 21:53:49 +02:00
Ion Gaztañaga cfc142ea53 Merge branch 'develop' of github.com:boostorg/container into develop 2026-06-04 13:24:39 +02:00
Ion Gaztañaga df0065d699 Fixes #338 ("uses_allocator_construction.hpp: missing include .../config_end.hpp") 2026-06-04 13:24:27 +02:00
Ion Gaztañaga e77b02d3f9 Fixes #338 ("uses_allocator_construction.hpp: missing include .../config_end.hpp") 2026-06-04 13:23:14 +02:00
Ion Gaztañaga ff18b26c0f Add elapsed time. 2026-06-04 11:19:14 +02:00
Ion Gaztañaga 67fb183342 Avoid redundant BOOST_CONTAINER_NEST_PREFETCH_BLOCK 2026-06-04 08:49:10 +02:00
Ion Gaztañaga 74069113dc Simplify "emplace" avoiding exception rollback code, as the state is still consistent after the exception (an additional memory block will be available for the next try). 2026-06-04 00:39:15 +02:00
Ion Gaztañaga acbb755592 Refactor try/catch from emplace to a helper function to help MSVC inline the call. 2026-06-03 23:25:04 +02:00
Ion Gaztañaga e18fd8802c Replace std::string filling to avoid gcc warnings 2026-06-03 23:17:54 +02:00
Ion Gaztañaga 0cfa9e0491 Use new placement new overload that can handle null pointer 2026-06-03 22:42:58 +02:00
Ion Gaztañaga 7f7832c6cb Add new placement new overload that can take null arguments 2026-06-03 22:42:18 +02:00
Ion Gaztañaga 73d3b09d2d Add BOOST_CONTAINER_ASSUME to improve performance and avoid unneeded null checks 2026-06-03 19:28:01 +02:00
Ion Gaztañaga f7488a2e4d Added BOOST_CONTAINER_RETURNS_NONNULL and BOOST_CONTAINER_NONNULL to placement new 2026-06-03 19:26:17 +02:00
Ion Gaztañaga 6d7bc6e64d Add BOOST_CONTAINER_RETURNS_NONNULL and BOOST_CONTAINER_NONNULL utilities 2026-06-03 19:24:05 +02:00
Ion Gaztañaga 79d6f9fd9f Use nsec clock 2026-06-03 18:11:20 +02:00
Ion Gaztañaga c8babc341d Update hub to the latest post-review version 2026-06-02 14:58:56 +02:00
Ion Gaztañaga b768b57b86 Implement hub's #21 (made trim_capacity O(#reserved blocks)) 2026-06-02 14:29:14 +02:00
Ion Gaztañaga ab73834d26 Add geomeans per test 2026-06-02 12:47:24 +02:00
Ion Gaztañaga 4163df3451 Prefetch only metadata on iterator::operator++ 2026-06-02 12:32:28 +02:00
Ion Gaztañaga 36dbb7445e Changed implementation to support several element sizes in single benchmark 2026-06-01 14:25:21 +02:00
Ion Gaztañaga 94bb59265d Removed the BlockCachelineAlign option, benchamarks have not shown an y improvementit wasn't useful for performance 2026-06-01 14:24:46 +02:00
Ion Gaztañaga 9c4e4fb408 - Added unroll opion
- Improved iterator::operator++
- Improved for_each_while operation
- Added block_cacheline_align option
2026-05-29 15:39:25 +02:00
Ion Gaztañaga 859810e6e1 Add #error check 2026-05-29 15:37:07 +02:00
Ion Gaztañaga aaee5c0f0d Add erase ratio geomean 2026-05-29 15:34:49 +02:00
Ion Gaztañaga 2db8a3105e Remove bad get_iterator case, new implementation asserts in that case 2026-05-25 22:24:03 +02:00
Ion Gaztañaga dddce5beaa Update "hub" to the post-review version and update "nest", its test and benchamarks accordingly. 2026-05-25 21:55:00 +02:00
Ion Gaztañaga 2d870b1fb4 Activate "simple it" by default 2026-05-25 02:07:40 +02:00
Ion Gaztañaga a2dd465fa8 Rewriting segmented_search_n for more compact and efficient implementation. 2026-05-25 02:07:18 +02:00
Ion Gaztañaga d52546b7f1 Simplified search_n_scan_segment's phase 3 code removing conditionals 2026-05-24 20:17:13 +02:00
Ion Gaztañaga f8baeef4e5 Remove warning for unused typedef 2026-05-24 02:05:24 +02:00
Ion Gaztañaga e416edcbe6 Add BOOST_CONTAINER_HAS_BUILTIN and BOOST_CONTAINER_ASSUME 2026-05-24 02:04:11 +02:00
Ion Gaztañaga 31846f7937 New, optimized segmented_search_n implementation 2026-05-24 02:03:51 +02:00
Ion Gaztañaga 45393f125c Add restrict to segmented_find 2026-05-23 22:56:51 +02:00
Ion Gaztañaga ba734b46c3 Return count by value instead of reference 2026-05-21 22:16:13 +02:00
Ion Gaztañaga c67029c92a Optimize for fixed size range_sz 2026-05-21 16:06:29 +02:00
Ion Gaztañaga 9d1fa77e4f Avoid segmented_iterator_traits_impl 2026-05-20 00:00:37 +02:00
Ion Gaztañaga 4784eacef3 Fixes #337 ("New -Wundef warning") 2026-05-19 23:59:44 +02:00
Ion Gaztañaga a06e8bde73 Fix post-increment bug in "compose" 2026-05-15 14:58:52 +02:00
Ion Gaztañaga 69d682f0fa Tidy segmented_iterator_traits for deque iterators 2026-05-14 23:52:02 +02:00
Ion Gaztañaga c7956ed6de Update changelog for 1.92 2026-05-14 10:11:41 +02:00
Ion Gaztañaga 198b2a076d Fixes #336 ("Compile error with erase and small_vector<std::string>") 2026-05-14 10:05:33 +02:00
Ion Gaztañaga 44317b29d6 Fix documentation for is_partitioned 2026-05-12 15:06:46 +02:00
Ion Gaztañaga c51340678c Implemented first recursive search_n implementation. Add random-access iterator overloads 2026-05-10 01:28:24 +02:00
Ion Gaztañaga 77952aa951 Refactor segmented benches in groups, added additional bench to search_n 2026-05-10 01:27:39 +02:00
Ion Gaztañaga acfe58c5d1 Avoid unneeded indirection in segmented_is_sorted_until without predicate 2026-05-10 00:58:31 +02:00
Ion Gaztañaga 9e4de47d45 Recover multi segmentation 2026-05-10 00:57:37 +02:00
Ion Gaztañaga db3ba9a983 Add BOOST_RESTRICT to segmented_count 2026-05-10 00:56:19 +02:00
Ion Gaztañaga 75b698f17d Added BOOST_CONTAINER_SEGMENTED_DISABLE_PRAGMA_UNROLL / BOOST_CONTAINER_SEGMENTED_ENABLE_PRAGMA_UNROLL handling 2026-05-10 00:12:29 +02:00
Ion Gaztañaga 3148e4877c Fix BOOST_CONTAINER_UNROLL for Clang 2026-05-09 23:37:16 +02:00
Ion Gaztañaga 542c76dbcd Remove unneeded segmented_fill_dispatch 2026-05-09 23:15:04 +02:00