Commit Graph

1566 Commits

Author SHA1 Message Date
Ion Gaztañaga 2d5155302d Removed commented bug report code 2026-03-22 18:32:28 +01:00
Ion Gaztañaga e2f52c7bd9 Minor indenting fixes 2026-03-22 17:32:59 +01:00
Ion Gaztañaga d26c4c4ae1 Simplify implementation to ease work to the compiler and rely less on inlining 2026-03-22 17:32:41 +01:00
Ion Gaztañaga 1863ccae97 Minor indenting fixes 2026-03-22 17:31:37 +01:00
Ion Gaztañaga 6b76844096 Simplify segmented_replace_if implementation 2026-03-22 17:30:55 +01:00
Ion Gaztañaga c5a54b13a9 Simplify partition_copy implementation. 2026-03-22 17:30:06 +01:00
Ion Gaztañaga ce12d2aec5 Fixes #334 ("Wrong overload resolution protection in implementation of P2363R5") and adds tests with transparent comparator for associative containers. 2026-03-22 17:26:15 +01:00
Ion Gaztañaga 0f99763ea7 Add mark for slower than expected results 2026-03-20 15:20:51 +01:00
Ion Gaztañaga bb355d1b6c Optimized segmented_mismatch:
- avoid reference parameters
- avoid extra "bool" information, and extra "mismatch1" parameter
- Simplify implementation to help compiler optimize the code
2026-03-20 15:20:29 +01:00
Ion Gaztañaga f113af51fa Simplify code, avoiding unneded local variables. 2026-03-20 14:03:44 +01:00
Ion Gaztañaga 34636439eb Use segmented_find_if_not to simplify the implementation and improve multi-level segmentation support. 2026-03-20 13:42:09 +01:00
Ion Gaztañaga 9ae621b01d Properly propagate iterator category in recursive scan calls. 2026-03-20 13:37:52 +01:00
Ion Gaztañaga cf26a274e5 Simplify end condition checking. 2026-03-20 13:02:34 +01:00
Ion Gaztañaga 57ae7a82d3 Added segmented_find_last, segmented_find_last_if, segmented_find_last_if_not 2026-03-20 01:33:48 +01:00
Ion Gaztañaga 60761d2df4 Avoid benchmarking suboptimal algorithms 2026-03-19 01:34:21 +01:00
Ion Gaztañaga 7df642649a Add bidirectional iterator support 2026-03-19 01:34:01 +01:00
Ion Gaztañaga 69c983fa9d Add note saying that the algorithm is suboptimal 2026-03-19 01:31:44 +01:00
Ion Gaztañaga f922de3b08 Optimize segmented_generate to avoid copying the generator 2026-03-19 01:30:50 +01:00
Ion Gaztañaga f59c02a1e8 Added all_of, any_of, none_of to the benchmark, add "clobber()" call for each iteration to make sure each algorithm iteration starts with "unknown" memory contents. 2026-03-18 16:33:56 +01:00
Ion Gaztañaga d4bd58ad1f Added tests for all_of, any_of, none_of 2026-03-18 16:32:57 +01:00
Ion Gaztañaga 97a90eed77 Re-implement as segmented_find_if_not + segmented_none_of 2026-03-18 16:32:28 +01:00
Ion Gaztañaga b16b2d2aea Added segmented all_of, none_of, any_of versions 2026-03-18 16:31:56 +01:00
Ion Gaztañaga 5da77bc668 Avoid redundant predicate call in "is_partitioned_with_state" 2026-03-17 23:55:18 +01:00
Ion Gaztañaga 7a21853b26 Add test for segment and local iterators 2026-03-17 23:26:44 +01:00
Ion Gaztañaga 384bb236c4 Implement partial "operator-" for local iterators. 2026-03-17 23:26:06 +01:00
Ion Gaztañaga ba853bbd0d Fix indentation in visit_while 2026-03-17 21:53:28 +01:00
Ion Gaztañaga 18edb763fb Add segmented_mismatch algorithm 2026-03-17 21:48:13 +01:00
Ion Gaztañaga cdfda037a6 More code cleanup, removed some reference parameters 2026-03-17 18:57:45 +01:00
Ion Gaztañaga c5d40dfe58 Add partition_point benchmark 2026-03-17 15:30:31 +01:00
Ion Gaztañaga bffe61830a Tidy code: use return statements to shorten functions, indentation, shorten auxiliary function calls avoiding ADL. 2026-03-17 15:30:18 +01:00
Ion Gaztañaga 29855f3aab Move the function object to supprot move-only function objects 2026-03-17 15:28:49 +01:00
Ion Gaztañaga 0bcb33e03a Hoist "in_true_part" outside loop to improve performance. 2026-03-17 15:28:19 +01:00
Ion Gaztañaga 000372ebab Avoid reference parameters in partition_scan 2026-03-17 15:27:30 +01:00
Ion Gaztañaga 031d05c423 Add merge to benchmarks 2026-03-17 13:31:19 +01:00
Ion Gaztañaga 5451da7434 Replace reference parameters with return value 2026-03-17 13:31:00 +01:00
Ion Gaztañaga 9524edaf65 Fix typo 2026-03-17 12:05:53 +01:00
Ion Gaztañaga d3fd6c5a51 Added set_difference, set_intersection, set_symmetric_difference to the benchmark. Reorder execution of algorithms lexicographicaly. 2026-03-17 11:58:35 +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 8e19a4965d Improve escape mechanism to avoid unwanted loop optimizations. 2026-03-17 10:38:10 +01:00
Ion Gaztañaga 13ee44c848 Take container by value to avoid replacing values in mutating algorithms 2026-03-17 00:10:13 +01:00
Ion Gaztañaga 703720b186 Add segmented_set_union to benchmark 2026-03-17 00:09:43 +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 e4fc3e6852 Add "segmented_is_sorted_until" to benchmark 2026-03-16 22:55:49 +01:00
Ion Gaztañaga bb987410f7 Remove unused variable. 2026-03-16 19:13:21 +01:00