Commit Graph

1108 Commits

Author SHA1 Message Date
Ion Gaztañaga 5da699b385 Remove mention to constructible_with_allocator_suffix/prefix 2026-06-11 21:23:25 +02:00
Ion Gaztañaga d06dc29cda Document "relocate_on" options 2026-06-11 21:15:51 +02:00
Ion Gaztañaga c606ed02c1 Added dedicated impl for whole container for_each_while 2026-06-10 20:53:17 +02:00
Ion Gaztañaga c611f0916a Load to registers original and new mask to avoid memoryo re-load if "destroy" is opaque for some compilers. 2026-06-10 10:06:52 +02:00
Ion Gaztañaga 4c6a88ad83 Add config begin and end headers to disable unwanted warnings 2026-06-09 23:25:26 +02:00
Ion Gaztañaga 9de9e8b8e1 Add telescopic prefetching to nest in several operations 2026-06-09 23:18:21 +02:00
Ion Gaztañaga 1482eff3d8 Implement latest improvements from benchmark 2026-06-09 23:17:56 +02:00
Ion Gaztañaga 193b7c0da4 Optimize priv_reset: iterate each block list without toucing the other list nodes. 2026-06-09 11:03:32 +02:00
Ion Gaztañaga 54b983cdd5 Add latest changes from hub's benchmark improvements 2026-06-09 10:45:49 +02:00
Ion Gaztañaga b74478a0ca Add pragma diagnostic for Clang compilers 2026-06-09 10:45:21 +02:00
Ion Gaztañaga c142b3d983 Fix conversion error 2026-06-09 00:55:33 +02:00
Ion Gaztañaga d2fb49e751 Optimize priv_reset/destruction. Uses 3 iterations, one for each block type (partially filled, empty, full) 2026-06-09 00:47:26 +02:00
Ion Gaztañaga 9ae69f30f0 Fix bad doc generation with BoostBook with references with leading "::" qualification ("::boost::container::allocator_traits"). 2026-06-08 00:17:04 +02:00
Ion Gaztañaga 800aaf7ae7 Fix boost::container namespace handling for doxygen in allocator_traits.hpp and small_vector.hpp 2026-06-07 23:43:37 +02:00
Ion Gaztañaga 86786845c2 Unify hub's pmr option to the rest of the library 2026-06-07 23:12:17 +02:00
Ion Gaztañaga 7d302264ff Fix doxygen syntax errors. 2026-06-07 23:11:49 +02:00
Ion Gaztañaga 873adedbd8 Added function descriptions to small_vector and small_vector_base 2026-06-07 21:37:06 +02:00
Ion Gaztañaga 9d03dbaa1d Make iterator comparisons trivial 2026-06-07 21:30:02 +02:00
Ion Gaztañaga 697835c6c5 Micro-optimization for emplace: early load mask into a register in case the compiler does not fully inline construct_or_restore_capacity (e.g. MSVC) 2026-06-06 19:32:38 +02:00
Ion Gaztañaga 050cf8d856 Make tests compatible with BOOST_NO_EXCEPTIONS 2026-06-06 00:04:04 +02:00
Ion Gaztañaga 55b0e3bdf4 Make hub use Boost.Container's throw_exception mechanism 2026-06-06 00:02:58 +02:00
Ion Gaztañaga 242c567d20 Put hub.hpp at the top-level 2026-06-05 23:46:41 +02:00
Ion Gaztañaga 745a7d4917 Optimization for emplace and quick_emplace, caching mask to avoid mask reloading in some compilers. Manually inlined quick_emplace. 2026-06-05 15:14:41 +02:00
Ion Gaztañaga 527edcad96 Better code indentation for emplace macros 2026-06-05 12:01:19 +02:00
Ion Gaztañaga ca30a2dfe9 Fix wrong prefetch command 2026-06-05 10:43:29 +02:00
Ion Gaztañaga 47a98ed1fe Renamed "emplace" as "quick_emplace" and recover strong exception guarantee for "emplace". 2026-06-05 00:37:12 +02:00
Ion Gaztañaga b42d9e061b Make BOOST_CONTAINER_NEST_PREFETCH use BOOST_CONTAINER_PREFETCH 2026-06-05 00:16:26 +02:00
Ion Gaztañaga e04376aa11 Implemented BOOST_CONTAINER_PREFETCH 2026-06-05 00:15:48 +02:00
Ion Gaztañaga 6765a2a489 Removed segmented iterator machinery 2026-06-04 22:38:57 +02:00
Ion Gaztañaga 1319a775a0 Remove unused BOOST_CONTAINER_NEST_UNROLL 2026-06-04 21:55:17 +02:00
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 df0065d699 Fixes #338 ("uses_allocator_construction.hpp: missing include .../config_end.hpp") 2026-06-04 13:24:27 +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 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 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 4163df3451 Prefetch only metadata on iterator::operator++ 2026-06-02 12:32:28 +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 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 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