Commit Graph

879 Commits

Author SHA1 Message Date
Ion Gaztañaga 5451da7434 Replace reference parameters with return value 2026-03-17 13:31:00 +01:00
Ion Gaztañaga 2897bad30a Add forceinline to trivial functions. 2026-03-17 11:46:42 +01:00
Ion Gaztañaga 0ee02823ad Use segmented_copy instead of raw loops 2026-03-17 11:46:24 +01:00
Ion Gaztañaga bf10746f96 Add BOOST_CONTAINER_FORCEINLINE 2026-03-17 10:56:58 +01:00
Ion Gaztañaga c2c0132187 Add BOOST_CONTAINER_FORCEINLINE and avoid if conditional in loop 2026-03-17 10:51:51 +01:00
Ion Gaztañaga bb10a9e22a Erase dead code and add BOOST_CONTAINER_FORCEINLINE 2026-03-17 10:46:46 +01:00
Ion Gaztañaga c5c7b86caa Add BOOST_CONTAINER_FORCEINLINE 2026-03-17 10:46:19 +01:00
Ion Gaztañaga bf8459e740 Use segmented_copy to speed up segmented_set_union 2026-03-17 00:07:22 +01:00
Ion Gaztañaga 5d7b28ca4e Tidy segmented_is_sorted_until_dispatch typedefs 2026-03-16 22:56:24 +01:00
Ion Gaztañaga bb987410f7 Remove unused variable. 2026-03-16 19:13:21 +01:00
Ion Gaztañaga d026a2431a Refactor segmented_copy_if_dispatch to avoid too many intermediate functions 2026-03-16 16:12:56 +01:00
Ion Gaztañaga de0fa6d366 Use std::size_t for iterator distance to make sure it does not overflow with type Size 2026-03-16 15:34:37 +01:00
Ion Gaztañaga f359cec6ef Use correct OutIter template name and eliminate unneeded generate_n_scan overload 2026-03-16 13:49:46 +01:00
Ion Gaztañaga 923906c84c Add not_pred functor for testing and algorithm refactoring 2026-03-16 13:48:55 +01:00
Ion Gaztañaga ccf322367e Poreperly format reverse algorithm to improve mainteinance 2026-03-16 13:48:06 +01:00
Ion Gaztañaga 37ad1e7d0d Add segmented_find_if_not algorithm 2026-03-16 13:47:25 +01:00
Ion Gaztañaga 484d9c791c Avoid references in stable_partition_shift and stable_partition_scan 2026-03-16 00:54:08 +01:00
Ion Gaztañaga 69f6f7d2e2 Avoid taking by reference InIter2 and use pass/return by value to avoid aliasing problems. 2026-03-15 23:56:15 +01:00
Ion Gaztañaga 6af550e851 Tidy conditional code 2026-03-15 23:55:28 +01:00
Ion Gaztañaga 57e7578def generate_ref should support sentinels 2026-03-15 23:47:42 +01:00
Ion Gaztañaga 69242181c4 Use forward declared random access iterator from detail 2026-03-15 23:47:26 +01:00
Ion Gaztañaga 6449da8e64 Refactor segmented_generate_ref to use generate_ref 2026-03-15 23:32:09 +01:00
Ion Gaztañaga e1561323f8 Improve performance detecting random access iterators and avoiding checking count on every iteration 2026-03-15 23:31:16 +01:00
Ion Gaztañaga 4a3878a8e2 Implemente fill and fill_n in terms of generate and generate_n 2026-03-15 23:30:51 +01:00
Ion Gaztañaga f61f3379a5 Improve local iterator 2026-03-15 23:05:59 +01:00
Ion Gaztañaga 4f133c33c4 Reformat is_sorted. 2026-03-15 17:20:29 +01:00
Ion Gaztañaga b213a5a96d Optimize nest_local_iterator comparison (support only same-segment comparison 2026-03-15 17:20:03 +01:00
Ion Gaztañaga 74540abf67 Avoid aliasing in equal_ref 2026-03-15 17:19:27 +01:00
Ion Gaztañaga 40aa14be74 Minor tweaks to nest 2026-03-14 01:10:50 +01:00
Ion Gaztañaga ee4d1bb7eb Implement segmented_remove_if as segmented_find_if + segmented_remove_copy_if 2026-03-13 23:17:46 +01:00
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