Ion Gaztañaga
6d935f243e
Unroll segmented_generate
2026-03-29 15:41:18 +02:00
Ion Gaztañaga
099463c515
Fix unrolling bug in segmented_for_each
2026-03-29 15:40:56 +02:00
Ion Gaztañaga
112ab48698
Unroll segmented mismatch
2026-03-29 15:28:33 +02:00
Ion Gaztañaga
d7f4f1927a
Comment todo to improve merge in the future
2026-03-29 15:25:51 +02:00
Ion Gaztañaga
0d88d6512b
Fix generate_n bug
2026-03-29 15:25:12 +02:00
Ion Gaztañaga
40570911bc
Avoid aliasing in merge scan
2026-03-29 15:24:41 +02:00
Ion Gaztañaga
7595cb9a08
Unrolled generate_n
2026-03-29 12:57:01 +02:00
Ion Gaztañaga
c8118e6bad
Loop unrolling for segmented_for_each
2026-03-29 12:28:49 +02:00
Ion Gaztañaga
78ad3d8dcf
Add loop unrolling to segmented_find_last_if
2026-03-29 00:28:09 +01:00
Ion Gaztañaga
692358b21c
Add loop unrolling to partition point
2026-03-29 00:03:27 +01:00
Ion Gaztañaga
b785bcb0d7
Use container's iterators traits
2026-03-28 23:46:26 +01:00
Ion Gaztañaga
8f31a67af8
Activate loop unrolling for segmented algorithms
2026-03-28 23:40:13 +01:00
Ion Gaztañaga
c2d135e2bb
Erase segmented_find_if_original_dispatch
2026-03-28 23:39:47 +01:00
Ion Gaztañaga
8ebe442396
Loop unrolling for count_if
2026-03-28 23:39:24 +01:00
Ion Gaztañaga
f9d2a224bd
Add loop unrolling to segmented find if
2026-03-28 23:31:51 +01:00
Ion Gaztañaga
4dd02fb6cb
Use segmented_find for count == 1
2026-03-28 23:31:38 +01:00
Ion Gaztañaga
0ab7e5d0af
Add bidirectional iterator support for find_last overloads
2026-03-28 22:29:17 +01:00
Ion Gaztañaga
d56993febc
Added unchecked_push_back to vector/small_vector/static_vector
2026-03-28 00:42:21 +01:00
Ion Gaztañaga
3c30008aca
Update unchecked_emplace_back changelog with static_vector
2026-03-27 22:54:23 +01:00
Ion Gaztañaga
4f6237bc15
Implemented unchecked_emplace_back
2026-03-27 22:53:44 +01:00
Ion Gaztañaga
ab510fc3af
Remove BOOST_CONTAINER_NOINLINE as it pessimizes code generation because the compiler can't see if embers are modified
2026-03-27 07:12:14 +01:00
Ion Gaztañaga
25a6ddc971
First fully recursive segmented reverse implementaton. Probably too complicated for the final algo and will need some refactoring.
2026-03-23 23:54:55 +01:00
Ion Gaztañaga
97d8a828a7
Update 1.92 changelog with #334
2026-03-23 23:48:53 +01:00
Ion Gaztañaga
bd642effb9
Condition on less_than_ref is wrong.
2026-03-23 12:06:15 +01:00
Ion Gaztañaga
c825477043
Cosmetic changes
2026-03-23 12:05:46 +01:00
Ion Gaztañaga
bafa579499
Simplified recursive segmented iterator handling to improve inlining opportunities
2026-03-23 12:05:17 +01:00
Ion Gaztañaga
9113249359
Add additional tests for special segment conditions in code
2026-03-23 12:03:34 +01:00
Ion Gaztañaga
06d259dd5c
Put early algorithm termination positions in the middle of the sequence to have a better representation of the average performance of the algorithms
2026-03-22 23:39:16 +01:00
Ion Gaztañaga
37f5e0aacb
Simplify code to make them more readable and concise.
2026-03-22 23:35:08 +01:00
Ion Gaztañaga
90906ed450
Simplify recursive segmented path
2026-03-22 23:34:18 +01:00
Ion Gaztañaga
033f8c2f53
Implement segmented_equal in terms of segmented_mismatch
2026-03-22 23:33:29 +01:00
Ion Gaztañaga
a00f0e3707
Add select BOOST_CONTAINER_FORCEINLINE to iterator basic members
2026-03-22 23:33:08 +01:00
Ion Gaztañaga
be71e621db
Make back search also recursively segmented using "segmented_find_last_if" and simplify code to clearly distinguish the two search phases.
2026-03-22 23:32:50 +01:00
Ion Gaztañaga
f346b061c8
Simplified implementation refactoring code
2026-03-22 20:45:49 +01:00
Ion Gaztañaga
cf29b2aee5
Simplified (less to-be inlined calls) segmented_find_if for the compiler
2026-03-22 20:45:09 +01:00
Ion Gaztañaga
52c16441ad
Simplified segmented_count_if
2026-03-22 18:33:00 +01:00
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