From 8701aefaec4c955690e498dcae5498daf53d09aa Mon Sep 17 00:00:00 2001 From: "A. Jiang" Date: Fri, 11 Jul 2025 13:58:08 +0800 Subject: [PATCH] [algorithms][memory.syn] Index result types of existing algorithms ... along with their members and aliases. --- source/algorithms.tex | 120 +++++++++++++++++++++--------------------- source/memory.tex | 8 +-- 2 files changed, 64 insertions(+), 64 deletions(-) diff --git a/source/algorithms.tex b/source/algorithms.tex index ffcd962eca..f4e3bec376 100644 --- a/source/algorithms.tex +++ b/source/algorithms.tex @@ -961,7 +961,7 @@ namespace ranges { template - using for_each_result = in_fun_result; + using @\libglobal{for_each_result}@ = in_fun_result; template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@ S, class Proj = identity, @\libconcept{indirectly_unary_invocable}@> Fun> @@ -990,7 +990,7 @@ namespace ranges { template - using for_each_n_result = in_fun_result; + using @\libglobal{for_each_n_result}@ = in_fun_result; template<@\libconcept{input_iterator}@ I, class Proj = identity, @\libconcept{indirectly_unary_invocable}@> Fun> @@ -1395,7 +1395,7 @@ namespace ranges { template - using mismatch_result = in_in_result; + using @\libglobal{mismatch_result}@ = in_in_result; template<@\libconcept{input_iterator}@ I1, @\libconcept{sentinel_for}@ S1, @\libconcept{input_iterator}@ I2, @\libconcept{sentinel_for}@ S2, class Pred = ranges::equal_to, class Proj1 = identity, class Proj2 = identity> @@ -1748,9 +1748,9 @@ constexpr auto fold_right_last(R&& r, F f); template - using fold_left_with_iter_result = in_value_result; + using @\libglobal{fold_left_with_iter_result}@ = in_value_result; template - using fold_left_first_with_iter_result = in_value_result; + using @\libglobal{fold_left_first_with_iter_result}@ = in_value_result; template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@ S, class T = iter_value_t, @\exposconcept{indirectly-binary-left-foldable}@ F> @@ -1783,7 +1783,7 @@ namespace ranges { template - using copy_result = in_out_result; + using @\libglobal{copy_result}@ = in_out_result; template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@ S, @\libconcept{weakly_incrementable}@ O> requires @\libconcept{indirectly_copyable}@ @@ -1816,7 +1816,7 @@ namespace ranges { template - using copy_n_result = in_out_result; + using @\libglobal{copy_n_result}@ = in_out_result; template<@\libconcept{input_iterator}@ I, @\libconcept{weakly_incrementable}@ O> requires @\libconcept{indirectly_copyable}@ @@ -1842,7 +1842,7 @@ namespace ranges { template - using copy_if_result = in_out_result; + using @\libglobal{copy_if_result}@ = in_out_result; template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@ S, @\libconcept{weakly_incrementable}@ O, class Proj = identity, @\libconcept{indirect_unary_predicate}@> Pred> @@ -1878,7 +1878,7 @@ namespace ranges { template - using copy_backward_result = in_out_result; + using @\libglobal{copy_backward_result}@ = in_out_result; template<@\libconcept{bidirectional_iterator}@ I1, @\libconcept{sentinel_for}@ S1, @\libconcept{bidirectional_iterator}@ I2> requires @\libconcept{indirectly_copyable}@ @@ -1902,7 +1902,7 @@ namespace ranges { template - using move_result = in_out_result; + using @\libglobal{move_result}@ = in_out_result; template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@ S, @\libconcept{weakly_incrementable}@ O> requires @\libconcept{indirectly_movable}@ @@ -1931,7 +1931,7 @@ namespace ranges { template - using move_backward_result = in_out_result; + using @\libglobal{move_backward_result}@ = in_out_result; template<@\libconcept{bidirectional_iterator}@ I1, @\libconcept{sentinel_for}@ S1, @\libconcept{bidirectional_iterator}@ I2> requires @\libconcept{indirectly_movable}@ @@ -1954,7 +1954,7 @@ namespace ranges { template - using swap_ranges_result = in_in_result; + using @\libglobal{swap_ranges_result}@ = in_in_result; template<@\libconcept{input_iterator}@ I1, @\libconcept{sentinel_for}@ S1, @\libconcept{input_iterator}@ I2, @\libconcept{sentinel_for}@ S2> requires @\libconcept{indirectly_swappable}@ @@ -2006,7 +2006,7 @@ namespace ranges { template - using unary_transform_result = in_out_result; + using @\libglobal{unary_transform_result}@ = in_out_result; template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@ S, @\libconcept{weakly_incrementable}@ O, @\libconcept{copy_constructible}@ F, class Proj = identity> @@ -2034,7 +2034,7 @@ transform(Ep&& exec, R&& r, OutR&& result_r, F op, Proj proj = {}); // freestanding-deleted template - using binary_transform_result = in_in_out_result; + using @\libglobal{binary_transform_result}@ = in_in_out_result; template<@\libconcept{input_iterator}@ I1, @\libconcept{sentinel_for}@ S1, @\libconcept{input_iterator}@ I2, @\libconcept{sentinel_for}@ S2, @\libconcept{weakly_incrementable}@ O, @\libconcept{copy_constructible}@ F, class Proj1 = identity, @@ -2172,7 +2172,7 @@ namespace ranges { template - using replace_copy_result = in_out_result; + using @\libglobal{replace_copy_result}@ = in_out_result; template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@ S, class O, class Proj = identity, @@ -2215,7 +2215,7 @@ Proj proj = {}); // freestanding-deleted template - using replace_copy_if_result = in_out_result; + using @\libglobal{replace_copy_if_result}@ = in_out_result; template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@ S, class O, class T = iter_value_t class Proj = identity, @\libconcept{indirect_unary_predicate}@> Pred> @@ -2408,7 +2408,7 @@ namespace ranges { template - using remove_copy_result = in_out_result; + using @\libglobal{remove_copy_result}@ = in_out_result; template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@ S, @\libconcept{weakly_incrementable}@ O, class Proj = identity, class T = projected_value_t> @@ -2442,7 +2442,7 @@ Proj proj = {}); // freestanding-deleted template - using remove_copy_if_result = in_out_result; + using @\libglobal{remove_copy_if_result}@ = in_out_result; template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@ S, @\libconcept{weakly_incrementable}@ O, class Proj = identity, @\libconcept{indirect_unary_predicate}@> Pred> @@ -2530,7 +2530,7 @@ namespace ranges { template - using unique_copy_result = in_out_result; + using @\libglobal{unique_copy_result}@ = in_out_result; template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@ S, @\libconcept{weakly_incrementable}@ O, class Proj = identity, @\libconcept{indirect_equivalence_relation}@> C = ranges::equal_to> @@ -2924,7 +2924,7 @@ namespace ranges { template - using partial_sort_copy_result = in_out_result; + using @\libglobal{partial_sort_copy_result}@ = in_out_result; template<@\libconcept{input_iterator}@ I1, @\libconcept{sentinel_for}@ S1, @\libconcept{random_access_iterator}@ I2, @\libconcept{sentinel_for}@ S2, @@ -3275,7 +3275,7 @@ namespace ranges { template - using partition_copy_result = in_out_out_result; + using @\libglobal{partition_copy_result}@ = in_out_out_result; template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@ S, @\libconcept{weakly_incrementable}@ O1, @\libconcept{weakly_incrementable}@ O2, @@ -3357,7 +3357,7 @@ namespace ranges { template - using merge_result = in_in_out_result; + using @\libglobal{merge_result}@ = in_in_out_result; template<@\libconcept{input_iterator}@ I1, @\libconcept{sentinel_for}@ S1, @\libconcept{input_iterator}@ I2, @\libconcept{sentinel_for}@ S2, @\libconcept{weakly_incrementable}@ O, class Comp = ranges::less, class Proj1 = identity, @@ -3508,7 +3508,7 @@ namespace ranges { template - using set_union_result = in_in_out_result; + using @\libglobal{set_union_result}@ = in_in_out_result; template<@\libconcept{input_iterator}@ I1, @\libconcept{sentinel_for}@ S1, @\libconcept{input_iterator}@ I2, @\libconcept{sentinel_for}@ S2, @\libconcept{weakly_incrementable}@ O, class Comp = ranges::less, @@ -3571,7 +3571,7 @@ namespace ranges { template - using set_intersection_result = in_in_out_result; + using @\libglobal{set_intersection_result}@ = in_in_out_result; template<@\libconcept{input_iterator}@ I1, @\libconcept{sentinel_for}@ S1, @\libconcept{input_iterator}@ I2, @\libconcept{sentinel_for}@ S2, @\libconcept{weakly_incrementable}@ O, class Comp = ranges::less, @@ -3634,7 +3634,7 @@ namespace ranges { template - using set_difference_result = in_out_result; + using @\libglobal{set_difference_result}@ = in_out_result; template<@\libconcept{input_iterator}@ I1, @\libconcept{sentinel_for}@ S1, @\libconcept{input_iterator}@ I2, @\libconcept{sentinel_for}@ S2, @\libconcept{weakly_incrementable}@ O, class Comp = ranges::less, @@ -3697,7 +3697,7 @@ namespace ranges { template - using set_symmetric_difference_result = in_in_out_result; + using @\libglobal{set_symmetric_difference_result}@ = in_in_out_result; template<@\libconcept{input_iterator}@ I1, @\libconcept{sentinel_for}@ S1, @\libconcept{input_iterator}@ I2, @\libconcept{sentinel_for}@ S2, @\libconcept{weakly_incrementable}@ O, class Comp = ranges::less, @@ -3941,7 +3941,7 @@ namespace ranges { template - using minmax_result = min_max_result; + using @\libglobal{minmax_result}@ = min_max_result; template> Comp = ranges::less> @@ -4048,7 +4048,7 @@ namespace ranges { template - using minmax_element_result = min_max_result; + using @\libglobal{minmax_element_result}@ = min_max_result; template<@\libconcept{forward_iterator}@ I, @\libconcept{sentinel_for}@ S, class Proj = identity, @\libconcept{indirect_strict_weak_order}@> Comp = ranges::less> @@ -4161,7 +4161,7 @@ namespace ranges { template - using next_permutation_result = in_found_result; + using @\libglobal{next_permutation_result}@ = in_found_result; template<@\libconcept{bidirectional_iterator}@ I, @\libconcept{sentinel_for}@ S, class Comp = ranges::less, class Proj = identity> @@ -4184,7 +4184,7 @@ namespace ranges { template - using prev_permutation_result = in_found_result; + using @\libglobal{prev_permutation_result}@ = in_found_result; template<@\libconcept{bidirectional_iterator}@ I, @\libconcept{sentinel_for}@ S, class Comp = ranges::less, class Proj = identity> @@ -4210,9 +4210,9 @@ \begin{codeblock} namespace std::ranges { template - struct in_fun_result { - [[no_unique_address]] I in; - [[no_unique_address]] F fun; + struct @\libglobal{in_fun_result}@ { + [[no_unique_address]] I @\libmember{in}{in_fun_result}@; + [[no_unique_address]] F @\libmember{fun}{in_fun_result}@; template requires @\libconcept{convertible_to}@ && @\libconcept{convertible_to}@ @@ -4228,9 +4228,9 @@ }; template - struct in_in_result { - [[no_unique_address]] I1 in1; - [[no_unique_address]] I2 in2; + struct @\libglobal{in_in_result}@ { + [[no_unique_address]] I1 @\libmember{in1}{in_in_result}@; + [[no_unique_address]] I2 @\libmember{in2}{in_in_result}@; template requires @\libconcept{convertible_to}@ && @\libconcept{convertible_to}@ @@ -4246,9 +4246,9 @@ }; template - struct in_out_result { - [[no_unique_address]] I in; - [[no_unique_address]] O out; + struct @\libglobal{in_out_result}@ { + [[no_unique_address]] I @\libmember{in}{in_out_result}@; + [[no_unique_address]] O @\libmember{out}{in_out_result}@; template requires @\libconcept{convertible_to}@ && @\libconcept{convertible_to}@ @@ -4264,10 +4264,10 @@ }; template - struct in_in_out_result { - [[no_unique_address]] I1 in1; - [[no_unique_address]] I2 in2; - [[no_unique_address]] O out; + struct @\libglobal{in_in_out_result}@ { + [[no_unique_address]] I1 @\libmember{in1}{in_in_out_result}@; + [[no_unique_address]] I2 @\libmember{in2}{in_in_out_result}@; + [[no_unique_address]] O @\libmember{out}{in_in_out_result}@; template requires @\libconcept{convertible_to}@ && @@ -4287,10 +4287,10 @@ }; template - struct in_out_out_result { - [[no_unique_address]] I in; - [[no_unique_address]] O1 out1; - [[no_unique_address]] O2 out2; + struct @\libglobal{in_out_out_result}@ { + [[no_unique_address]] I @\libmember{in}{in_out_out_result}@; + [[no_unique_address]] O1 @\libmember{out1}{in_out_out_result}@; + [[no_unique_address]] O2 @\libmember{out2}{in_out_out_result}@; template requires @\libconcept{convertible_to}@ && @@ -4310,9 +4310,9 @@ }; template - struct min_max_result { - [[no_unique_address]] T min; - [[no_unique_address]] T max; + struct @\libglobal{min_max_result}@ { + [[no_unique_address]] T @\libmember{min}{min_max_result}@; + [[no_unique_address]] T @\libmember{max}{min_max_result}@; template requires @\libconcept{convertible_to}@ @@ -4328,9 +4328,9 @@ }; template - struct in_found_result { - [[no_unique_address]] I in; - bool found; + struct @\libglobal{in_found_result}@ { + [[no_unique_address]] I @\libmember{in}{in_found_result}@; + bool @\libmember{found}{in_found_result}@; template requires @\libconcept{convertible_to}@ @@ -4345,9 +4345,9 @@ }; template - struct in_value_result { - [[no_unique_address]] I in; - [[no_unique_address]] T value; + struct @\libglobal{in_value_result}@ { + [[no_unique_address]] I @\libmember{in}{in_value_result}@; + [[no_unique_address]] T @\libmember{value}{in_value_result}@; template requires @\libconcept{convertible_to}@ && @\libconcept{convertible_to}@ @@ -4363,9 +4363,9 @@ }; template - struct out_value_result { - [[no_unique_address]] O out; - [[no_unique_address]] T value; + struct @\libglobal{out_value_result}@ { + [[no_unique_address]] O @\libmember{out}{out_value_result}@; + [[no_unique_address]] T @\libmember{value}{out_value_result}@; template requires @\libconcept{convertible_to}@ && @\libconcept{convertible_to}@ @@ -12230,7 +12230,7 @@ namespace ranges { template - using iota_result = out_value_result; + using @\libglobal{iota_result}@ = out_value_result; template<@\libconcept{input_or_output_iterator}@ O, @\libconcept{sentinel_for}@ S, @\libconcept{weakly_incrementable}@ T> requires @\libconcept{indirectly_writable}@ diff --git a/source/memory.tex b/source/memory.tex index 3cd37d841c..afb0ae1837 100644 --- a/source/memory.tex +++ b/source/memory.tex @@ -313,7 +313,7 @@ namespace ranges { template - using uninitialized_copy_result = in_out_result; // freestanding + using @\libglobal{uninitialized_copy_result}@ = in_out_result; // freestanding template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@ S1, @\exposconcept{nothrow-forward-iterator}@ O, @\exposconcept{nothrow-sentinel-for}@ S2> requires @\libconcept{constructible_from}@, iter_reference_t> @@ -325,7 +325,7 @@ uninitialized_copy(IR&& in_range, OR&& out_range); // freestanding template - using uninitialized_copy_n_result = in_out_result; // freestanding + using @\libglobal{uninitialized_copy_n_result}@ = in_out_result; // freestanding template<@\libconcept{input_iterator}@ I, @\exposconcept{nothrow-forward-iterator}@ O, @\exposconcept{nothrow-sentinel-for}@ S> requires @\libconcept{constructible_from}@, iter_reference_t> constexpr uninitialized_copy_n_result @@ -374,7 +374,7 @@ namespace ranges { template - using uninitialized_move_result = in_out_result; // freestanding + using @\libglobal{uninitialized_move_result}@ = in_out_result; // freestanding template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@ S1, @\exposconcept{nothrow-forward-iterator}@ O, @\exposconcept{nothrow-sentinel-for}@ S2> requires @\libconcept{constructible_from}@, iter_rvalue_reference_t> @@ -386,7 +386,7 @@ uninitialized_move(IR&& in_range, OR&& out_range); // freestanding template - using uninitialized_move_n_result = in_out_result; // freestanding + using @\libglobal{uninitialized_move_n_result}@ = in_out_result; // freestanding template<@\libconcept{input_iterator}@ I, @\exposconcept{nothrow-forward-iterator}@ O, @\exposconcept{nothrow-sentinel-for}@ S> requires @\libconcept{constructible_from}@, iter_rvalue_reference_t>