Nikolas Klauser
c90801457f
[libc++] Refactor deque::iterator algorithm optimizations
...
This has multiple benefits:
- The optimizations are also performed for the `ranges::` versions of the algorithms
- Code duplication is reduced
- it is simpler to add this optimization for other segmented iterators,
like `ranges::join_view::iterator`
- Algorithm code is removed from `<deque>`
Reviewed By: ldionne, huixie90, #libc
Spies: mstorsjo, sstefan1, EricWF, libcxx-commits, mgorny
Differential Revision: https://reviews.llvm.org/D132505
2023-01-19 20:11:43 +01:00
..
2022-11-22 16:33:38 +08:00
2022-08-19 15:35:02 +02:00
2022-08-19 15:35:02 +02:00
2022-10-01 22:49:36 +02:00
2022-08-04 02:45:32 -07:00
2023-01-12 18:28:41 +01:00
2022-11-22 16:33:38 +08:00
2023-01-19 20:11:43 +01:00
2022-08-19 15:35:02 +02:00
2023-01-13 16:57:13 -08:00
2022-08-19 15:35:02 +02:00
2023-01-19 20:11:43 +01:00
2022-08-19 15:35:02 +02:00
2022-08-19 15:35:02 +02:00
2022-10-01 22:49:36 +02:00
2022-11-22 16:33:38 +08:00
2022-08-19 15:35:02 +02:00
2022-08-19 15:35:02 +02:00
2022-11-22 16:33:38 +08:00
2022-11-22 16:33:38 +08:00
2022-08-19 15:35:02 +02:00
2022-08-19 15:35:02 +02:00
2022-08-19 15:35:02 +02:00
2022-08-19 15:35:02 +02:00
2022-08-19 15:35:02 +02:00
2022-08-19 15:35:02 +02:00
2022-08-19 15:35:02 +02:00
2022-09-06 19:09:42 +02:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-10-01 22:49:36 +02:00
2022-10-01 22:49:36 +02:00
2022-10-01 22:49:36 +02:00
2022-10-01 22:49:36 +02:00
2022-08-19 15:35:02 +02:00
2022-11-22 16:33:38 +08:00
2022-10-01 22:49:36 +02:00
2022-10-01 22:49:36 +02:00
2023-01-12 18:28:41 +01:00
2022-12-23 02:58:06 +01:00
2022-10-01 22:49:36 +02:00
2022-08-19 15:35:02 +02:00
2022-10-01 22:49:36 +02:00
2022-08-18 16:59:58 -04:00
2022-10-01 22:49:36 +02:00
2022-10-01 22:49:36 +02:00
2022-10-01 22:49:36 +02:00
2022-10-01 22:49:36 +02:00
2022-08-18 16:59:58 -04:00
2022-10-01 22:49:36 +02:00
2022-08-19 15:35:02 +02:00
2022-08-19 15:35:02 +02:00
2022-11-22 16:33:38 +08:00
2023-01-19 20:11:43 +01:00
2023-01-19 20:11:43 +01:00
2022-10-01 22:49:36 +02:00
2022-08-19 15:35:02 +02:00
2022-10-01 22:49:36 +02:00
2022-10-01 22:49:36 +02:00
2023-01-07 17:19:16 +08:00
2022-08-19 15:35:02 +02:00
2022-08-19 15:35:02 +02:00
2022-09-06 19:09:42 +02:00
2022-10-01 22:49:36 +02:00
2022-10-01 22:49:36 +02:00
2022-10-01 22:49:36 +02:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2023-01-13 16:57:13 -08:00
2022-08-18 16:59:58 -04:00
2023-01-13 16:57:13 -08:00
2023-01-13 16:57:13 -08:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-11-05 16:38:46 +01:00
2022-08-18 16:59:58 -04:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2022-12-23 02:58:06 +01:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2022-08-18 16:59:58 -04:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2022-09-06 19:09:42 +02:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2023-01-13 16:57:13 -08:00
2023-01-13 16:57:13 -08:00
2022-09-05 12:36:41 +02:00
2022-11-05 16:38:46 +01:00
2022-08-18 16:59:58 -04:00
2022-09-05 12:36:41 +02:00
2022-09-05 12:36:41 +02:00
2022-09-06 19:09:42 +02:00
2022-08-18 16:59:58 -04:00
2022-09-06 19:09:42 +02:00
2022-08-18 16:59:58 -04:00
2022-09-05 12:36:41 +02:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-12-23 15:42:13 +01:00
2022-11-05 16:38:46 +01:00
2023-01-13 16:57:13 -08:00
2022-08-18 16:59:58 -04:00
2023-01-13 16:57:13 -08:00
2023-01-13 16:57:13 -08:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-09-06 19:09:42 +02:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-08-18 16:59:58 -04:00
2022-09-05 12:36:41 +02:00
2022-11-05 16:38:46 +01:00
2022-11-05 16:38:46 +01:00
2022-08-19 15:35:02 +02:00
2022-08-19 15:35:02 +02:00
2022-08-19 15:35:02 +02:00
2022-08-19 15:35:02 +02:00
2022-08-19 15:35:02 +02:00
2022-08-19 15:35:02 +02:00
2022-08-19 15:35:02 +02:00
2022-08-19 15:35:02 +02:00
2022-08-19 15:35:02 +02:00
2022-08-19 15:35:02 +02:00
2022-08-19 15:35:02 +02:00
2023-01-13 16:57:13 -08:00
2022-08-02 22:34:23 -07:00
2022-11-22 16:33:38 +08:00
2022-11-22 16:33:38 +08:00
2023-01-13 16:57:13 -08:00
2022-10-01 22:49:36 +02:00
2023-01-13 16:57:13 -08:00
2023-01-13 16:57:13 -08:00
2022-03-01 08:20:24 -05:00
2022-03-01 08:20:24 -05:00
2022-12-27 02:32:16 +01:00
2022-08-19 15:35:02 +02:00
2022-10-01 22:49:36 +02:00
2023-01-08 17:01:21 +01:00
2022-10-17 17:42:00 +02:00
2022-10-01 22:49:36 +02:00
2022-08-19 15:35:02 +02:00
2022-08-19 15:35:02 +02:00
2022-09-06 19:09:42 +02:00
2022-11-22 16:33:38 +08:00
2022-11-22 16:33:38 +08:00
2022-12-23 02:58:06 +01:00
2022-08-18 16:59:58 -04:00
2022-08-19 15:35:02 +02:00