diff --git a/source/algorithms.tex b/source/algorithms.tex index 3a138a9f43..09339fa954 100644 --- a/source/algorithms.tex +++ b/source/algorithms.tex @@ -889,7 +889,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> @@ -909,7 +909,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> @@ -1182,7 +1182,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> @@ -1455,9 +1455,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> @@ -1490,7 +1490,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}@ @@ -1513,7 +1513,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}@ @@ -1532,7 +1532,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> @@ -1553,7 +1553,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}@ @@ -1577,7 +1577,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}@ @@ -1596,7 +1596,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}@ @@ -1619,7 +1619,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}@ @@ -1661,7 +1661,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> @@ -1675,7 +1675,7 @@ transform(R&& r, O result, F op, Proj proj = {}); 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, @@ -1762,7 +1762,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, @@ -1784,7 +1784,7 @@ Proj proj = {}); 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> @@ -1916,7 +1916,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> @@ -1933,7 +1933,7 @@ remove_copy(R&& r, O result, const T& value, Proj proj = {}); 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> @@ -1994,7 +1994,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> @@ -2042,7 +2042,7 @@ namespace ranges { template - using reverse_copy_result = in_out_result; + using @\libglobal{reverse_copy_result}@ = in_out_result; template<@\libconcept{bidirectional_iterator}@ I, @\libconcept{sentinel_for}@ S, @\libconcept{weakly_incrementable}@ O> requires @\libconcept{indirectly_copyable}@ @@ -2085,7 +2085,7 @@ namespace ranges { template - using rotate_copy_result = in_out_result; + using @\libglobal{rotate_copy_result}@ = in_out_result; template<@\libconcept{forward_iterator}@ I, @\libconcept{sentinel_for}@ S, @\libconcept{weakly_incrementable}@ O> requires @\libconcept{indirectly_copyable}@ @@ -2279,7 +2279,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, @@ -2550,7 +2550,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, @@ -2612,7 +2612,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, @@ -2721,7 +2721,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, @@ -2765,7 +2765,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, @@ -2809,7 +2809,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, @@ -2853,7 +2853,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, @@ -3049,7 +3049,7 @@ namespace ranges { template - using minmax_result = min_max_result; + using @\libglobal{minmax_result}@ = min_max_result; template> Comp = ranges::less> @@ -3129,7 +3129,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> @@ -3216,7 +3216,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> @@ -3239,7 +3239,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> @@ -3265,9 +3265,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}@ @@ -3283,9 +3283,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}@ @@ -3301,9 +3301,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}@ @@ -3319,10 +3319,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}@ && @@ -3342,10 +3342,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}@ && @@ -3365,9 +3365,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}@ @@ -3383,9 +3383,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}@ @@ -3400,9 +3400,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}@ @@ -3418,9 +3418,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}@ @@ -9848,7 +9848,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 a973205895..51d7344fa8 100644 --- a/source/memory.tex +++ b/source/memory.tex @@ -273,7 +273,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> @@ -285,7 +285,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 @@ -315,7 +315,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> @@ -327,7 +327,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>