Skip to content

Commit 14f11c3

Browse files
[algorithms, memory.syn] Index result types of existing algorithms along with their members and aliases. (#8049)
1 parent 1acddce commit 14f11c3

File tree

2 files changed

+64
-64
lines changed

2 files changed

+64
-64
lines changed

source/algorithms.tex

Lines changed: 60 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -961,7 +961,7 @@
961961

962962
namespace ranges {
963963
template<class I, class F>
964-
using for_each_result = in_fun_result<I, F>;
964+
using @\libglobal{for_each_result}@ = in_fun_result<I, F>;
965965

966966
template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@<I> S, class Proj = identity,
967967
@\libconcept{indirectly_unary_invocable}@<projected<I, Proj>> Fun>
@@ -990,7 +990,7 @@
990990

991991
namespace ranges {
992992
template<class I, class F>
993-
using for_each_n_result = in_fun_result<I, F>;
993+
using @\libglobal{for_each_n_result}@ = in_fun_result<I, F>;
994994

995995
template<@\libconcept{input_iterator}@ I, class Proj = identity,
996996
@\libconcept{indirectly_unary_invocable}@<projected<I, Proj>> Fun>
@@ -1395,7 +1395,7 @@
13951395

13961396
namespace ranges {
13971397
template<class I1, class I2>
1398-
using mismatch_result = in_in_result<I1, I2>;
1398+
using @\libglobal{mismatch_result}@ = in_in_result<I1, I2>;
13991399

14001400
template<@\libconcept{input_iterator}@ I1, @\libconcept{sentinel_for}@<I1> S1, @\libconcept{input_iterator}@ I2, @\libconcept{sentinel_for}@<I2> S2,
14011401
class Pred = ranges::equal_to, class Proj1 = identity, class Proj2 = identity>
@@ -1748,9 +1748,9 @@
17481748
constexpr auto fold_right_last(R&& r, F f);
17491749

17501750
template<class I, class T>
1751-
using fold_left_with_iter_result = in_value_result<I, T>;
1751+
using @\libglobal{fold_left_with_iter_result}@ = in_value_result<I, T>;
17521752
template<class I, class T>
1753-
using fold_left_first_with_iter_result = in_value_result<I, T>;
1753+
using @\libglobal{fold_left_first_with_iter_result}@ = in_value_result<I, T>;
17541754

17551755
template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@<I> S, class T = iter_value_t<I>,
17561756
@\exposconcept{indirectly-binary-left-foldable}@<T, I> F>
@@ -1783,7 +1783,7 @@
17831783

17841784
namespace ranges {
17851785
template<class I, class O>
1786-
using copy_result = in_out_result<I, O>;
1786+
using @\libglobal{copy_result}@ = in_out_result<I, O>;
17871787

17881788
template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@<I> S, @\libconcept{weakly_incrementable}@ O>
17891789
requires @\libconcept{indirectly_copyable}@<I, O>
@@ -1816,7 +1816,7 @@
18161816

18171817
namespace ranges {
18181818
template<class I, class O>
1819-
using copy_n_result = in_out_result<I, O>;
1819+
using @\libglobal{copy_n_result}@ = in_out_result<I, O>;
18201820

18211821
template<@\libconcept{input_iterator}@ I, @\libconcept{weakly_incrementable}@ O>
18221822
requires @\libconcept{indirectly_copyable}@<I, O>
@@ -1842,7 +1842,7 @@
18421842

18431843
namespace ranges {
18441844
template<class I, class O>
1845-
using copy_if_result = in_out_result<I, O>;
1845+
using @\libglobal{copy_if_result}@ = in_out_result<I, O>;
18461846

18471847
template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@<I> S, @\libconcept{weakly_incrementable}@ O, class Proj = identity,
18481848
@\libconcept{indirect_unary_predicate}@<projected<I, Proj>> Pred>
@@ -1878,7 +1878,7 @@
18781878

18791879
namespace ranges {
18801880
template<class I1, class I2>
1881-
using copy_backward_result = in_out_result<I1, I2>;
1881+
using @\libglobal{copy_backward_result}@ = in_out_result<I1, I2>;
18821882

18831883
template<@\libconcept{bidirectional_iterator}@ I1, @\libconcept{sentinel_for}@<I1> S1, @\libconcept{bidirectional_iterator}@ I2>
18841884
requires @\libconcept{indirectly_copyable}@<I1, I2>
@@ -1902,7 +1902,7 @@
19021902

19031903
namespace ranges {
19041904
template<class I, class O>
1905-
using move_result = in_out_result<I, O>;
1905+
using @\libglobal{move_result}@ = in_out_result<I, O>;
19061906

19071907
template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@<I> S, @\libconcept{weakly_incrementable}@ O>
19081908
requires @\libconcept{indirectly_movable}@<I, O>
@@ -1931,7 +1931,7 @@
19311931

19321932
namespace ranges {
19331933
template<class I1, class I2>
1934-
using move_backward_result = in_out_result<I1, I2>;
1934+
using @\libglobal{move_backward_result}@ = in_out_result<I1, I2>;
19351935

19361936
template<@\libconcept{bidirectional_iterator}@ I1, @\libconcept{sentinel_for}@<I1> S1, @\libconcept{bidirectional_iterator}@ I2>
19371937
requires @\libconcept{indirectly_movable}@<I1, I2>
@@ -1954,7 +1954,7 @@
19541954

19551955
namespace ranges {
19561956
template<class I1, class I2>
1957-
using swap_ranges_result = in_in_result<I1, I2>;
1957+
using @\libglobal{swap_ranges_result}@ = in_in_result<I1, I2>;
19581958

19591959
template<@\libconcept{input_iterator}@ I1, @\libconcept{sentinel_for}@<I1> S1, @\libconcept{input_iterator}@ I2, @\libconcept{sentinel_for}@<I2> S2>
19601960
requires @\libconcept{indirectly_swappable}@<I1, I2>
@@ -2006,7 +2006,7 @@
20062006

20072007
namespace ranges {
20082008
template<class I, class O>
2009-
using unary_transform_result = in_out_result<I, O>;
2009+
using @\libglobal{unary_transform_result}@ = in_out_result<I, O>;
20102010

20112011
template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@<I> S, @\libconcept{weakly_incrementable}@ O,
20122012
@\libconcept{copy_constructible}@ F, class Proj = identity>
@@ -2034,7 +2034,7 @@
20342034
transform(Ep&& exec, R&& r, OutR&& result_r, F op, Proj proj = {}); // freestanding-deleted
20352035

20362036
template<class I1, class I2, class O>
2037-
using binary_transform_result = in_in_out_result<I1, I2, O>;
2037+
using @\libglobal{binary_transform_result}@ = in_in_out_result<I1, I2, O>;
20382038

20392039
template<@\libconcept{input_iterator}@ I1, @\libconcept{sentinel_for}@<I1> S1, @\libconcept{input_iterator}@ I2, @\libconcept{sentinel_for}@<I2> S2,
20402040
@\libconcept{weakly_incrementable}@ O, @\libconcept{copy_constructible}@ F, class Proj1 = identity,
@@ -2172,7 +2172,7 @@
21722172

21732173
namespace ranges {
21742174
template<class I, class O>
2175-
using replace_copy_result = in_out_result<I, O>;
2175+
using @\libglobal{replace_copy_result}@ = in_out_result<I, O>;
21762176

21772177
template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@<I> S, class O,
21782178
class Proj = identity,
@@ -2215,7 +2215,7 @@
22152215
Proj proj = {}); // freestanding-deleted
22162216

22172217
template<class I, class O>
2218-
using replace_copy_if_result = in_out_result<I, O>;
2218+
using @\libglobal{replace_copy_if_result}@ = in_out_result<I, O>;
22192219

22202220
template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@<I> S, class O, class T = iter_value_t<O>
22212221
class Proj = identity, @\libconcept{indirect_unary_predicate}@<projected<I, Proj>> Pred>
@@ -2408,7 +2408,7 @@
24082408

24092409
namespace ranges {
24102410
template<class I, class O>
2411-
using remove_copy_result = in_out_result<I, O>;
2411+
using @\libglobal{remove_copy_result}@ = in_out_result<I, O>;
24122412

24132413
template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@<I> S, @\libconcept{weakly_incrementable}@ O,
24142414
class Proj = identity, class T = projected_value_t<I, Proj>>
@@ -2442,7 +2442,7 @@
24422442
Proj proj = {}); // freestanding-deleted
24432443

24442444
template<class I, class O>
2445-
using remove_copy_if_result = in_out_result<I, O>;
2445+
using @\libglobal{remove_copy_if_result}@ = in_out_result<I, O>;
24462446

24472447
template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@<I> S, @\libconcept{weakly_incrementable}@ O,
24482448
class Proj = identity, @\libconcept{indirect_unary_predicate}@<projected<I, Proj>> Pred>
@@ -2530,7 +2530,7 @@
25302530

25312531
namespace ranges {
25322532
template<class I, class O>
2533-
using unique_copy_result = in_out_result<I, O>;
2533+
using @\libglobal{unique_copy_result}@ = in_out_result<I, O>;
25342534

25352535
template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@<I> S, @\libconcept{weakly_incrementable}@ O, class Proj = identity,
25362536
@\libconcept{indirect_equivalence_relation}@<projected<I, Proj>> C = ranges::equal_to>
@@ -2924,7 +2924,7 @@
29242924

29252925
namespace ranges {
29262926
template<class I, class O>
2927-
using partial_sort_copy_result = in_out_result<I, O>;
2927+
using @\libglobal{partial_sort_copy_result}@ = in_out_result<I, O>;
29282928

29292929
template<@\libconcept{input_iterator}@ I1, @\libconcept{sentinel_for}@<I1> S1,
29302930
@\libconcept{random_access_iterator}@ I2, @\libconcept{sentinel_for}@<I2> S2,
@@ -3275,7 +3275,7 @@
32753275

32763276
namespace ranges {
32773277
template<class I, class O1, class O2>
3278-
using partition_copy_result = in_out_out_result<I, O1, O2>;
3278+
using @\libglobal{partition_copy_result}@ = in_out_out_result<I, O1, O2>;
32793279

32803280
template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@<I> S,
32813281
@\libconcept{weakly_incrementable}@ O1, @\libconcept{weakly_incrementable}@ O2,
@@ -3357,7 +3357,7 @@
33573357

33583358
namespace ranges {
33593359
template<class I1, class I2, class O>
3360-
using merge_result = in_in_out_result<I1, I2, O>;
3360+
using @\libglobal{merge_result}@ = in_in_out_result<I1, I2, O>;
33613361

33623362
template<@\libconcept{input_iterator}@ I1, @\libconcept{sentinel_for}@<I1> S1, @\libconcept{input_iterator}@ I2, @\libconcept{sentinel_for}@<I2> S2,
33633363
@\libconcept{weakly_incrementable}@ O, class Comp = ranges::less, class Proj1 = identity,
@@ -3508,7 +3508,7 @@
35083508

35093509
namespace ranges {
35103510
template<class I1, class I2, class O>
3511-
using set_union_result = in_in_out_result<I1, I2, O>;
3511+
using @\libglobal{set_union_result}@ = in_in_out_result<I1, I2, O>;
35123512

35133513
template<@\libconcept{input_iterator}@ I1, @\libconcept{sentinel_for}@<I1> S1, @\libconcept{input_iterator}@ I2, @\libconcept{sentinel_for}@<I2> S2,
35143514
@\libconcept{weakly_incrementable}@ O, class Comp = ranges::less,
@@ -3571,7 +3571,7 @@
35713571

35723572
namespace ranges {
35733573
template<class I1, class I2, class O>
3574-
using set_intersection_result = in_in_out_result<I1, I2, O>;
3574+
using @\libglobal{set_intersection_result}@ = in_in_out_result<I1, I2, O>;
35753575

35763576
template<@\libconcept{input_iterator}@ I1, @\libconcept{sentinel_for}@<I1> S1, @\libconcept{input_iterator}@ I2, @\libconcept{sentinel_for}@<I2> S2,
35773577
@\libconcept{weakly_incrementable}@ O, class Comp = ranges::less,
@@ -3634,7 +3634,7 @@
36343634

36353635
namespace ranges {
36363636
template<class I, class O>
3637-
using set_difference_result = in_out_result<I, O>;
3637+
using @\libglobal{set_difference_result}@ = in_out_result<I, O>;
36383638

36393639
template<@\libconcept{input_iterator}@ I1, @\libconcept{sentinel_for}@<I1> S1, @\libconcept{input_iterator}@ I2, @\libconcept{sentinel_for}@<I2> S2,
36403640
@\libconcept{weakly_incrementable}@ O, class Comp = ranges::less,
@@ -3697,7 +3697,7 @@
36973697

36983698
namespace ranges {
36993699
template<class I1, class I2, class O>
3700-
using set_symmetric_difference_result = in_in_out_result<I1, I2, O>;
3700+
using @\libglobal{set_symmetric_difference_result}@ = in_in_out_result<I1, I2, O>;
37013701

37023702
template<@\libconcept{input_iterator}@ I1, @\libconcept{sentinel_for}@<I1> S1, @\libconcept{input_iterator}@ I2, @\libconcept{sentinel_for}@<I2> S2,
37033703
@\libconcept{weakly_incrementable}@ O, class Comp = ranges::less,
@@ -3941,7 +3941,7 @@
39413941

39423942
namespace ranges {
39433943
template<class T>
3944-
using minmax_result = min_max_result<T>;
3944+
using @\libglobal{minmax_result}@ = min_max_result<T>;
39453945

39463946
template<class T, class Proj = identity,
39473947
@\libconcept{indirect_strict_weak_order}@<projected<const T*, Proj>> Comp = ranges::less>
@@ -4048,7 +4048,7 @@
40484048

40494049
namespace ranges {
40504050
template<class I>
4051-
using minmax_element_result = min_max_result<I>;
4051+
using @\libglobal{minmax_element_result}@ = min_max_result<I>;
40524052

40534053
template<@\libconcept{forward_iterator}@ I, @\libconcept{sentinel_for}@<I> S, class Proj = identity,
40544054
@\libconcept{indirect_strict_weak_order}@<projected<I, Proj>> Comp = ranges::less>
@@ -4161,7 +4161,7 @@
41614161

41624162
namespace ranges {
41634163
template<class I>
4164-
using next_permutation_result = in_found_result<I>;
4164+
using @\libglobal{next_permutation_result}@ = in_found_result<I>;
41654165

41664166
template<@\libconcept{bidirectional_iterator}@ I, @\libconcept{sentinel_for}@<I> S, class Comp = ranges::less,
41674167
class Proj = identity>
@@ -4184,7 +4184,7 @@
41844184

41854185
namespace ranges {
41864186
template<class I>
4187-
using prev_permutation_result = in_found_result<I>;
4187+
using @\libglobal{prev_permutation_result}@ = in_found_result<I>;
41884188

41894189
template<@\libconcept{bidirectional_iterator}@ I, @\libconcept{sentinel_for}@<I> S, class Comp = ranges::less,
41904190
class Proj = identity>
@@ -4210,9 +4210,9 @@
42104210
\begin{codeblock}
42114211
namespace std::ranges {
42124212
template<class I, class F>
4213-
struct in_fun_result {
4214-
[[no_unique_address]] I in;
4215-
[[no_unique_address]] F fun;
4213+
struct @\libglobal{in_fun_result}@ {
4214+
[[no_unique_address]] I @\libmember{in}{in_fun_result}@;
4215+
[[no_unique_address]] F @\libmember{fun}{in_fun_result}@;
42164216

42174217
template<class I2, class F2>
42184218
requires @\libconcept{convertible_to}@<const I&, I2> && @\libconcept{convertible_to}@<const F&, F2>
@@ -4228,9 +4228,9 @@
42284228
};
42294229

42304230
template<class I1, class I2>
4231-
struct in_in_result {
4232-
[[no_unique_address]] I1 in1;
4233-
[[no_unique_address]] I2 in2;
4231+
struct @\libglobal{in_in_result}@ {
4232+
[[no_unique_address]] I1 @\libmember{in1}{in_in_result}@;
4233+
[[no_unique_address]] I2 @\libmember{in2}{in_in_result}@;
42344234

42354235
template<class II1, class II2>
42364236
requires @\libconcept{convertible_to}@<const I1&, II1> && @\libconcept{convertible_to}@<const I2&, II2>
@@ -4246,9 +4246,9 @@
42464246
};
42474247

42484248
template<class I, class O>
4249-
struct in_out_result {
4250-
[[no_unique_address]] I in;
4251-
[[no_unique_address]] O out;
4249+
struct @\libglobal{in_out_result}@ {
4250+
[[no_unique_address]] I @\libmember{in}{in_out_result}@;
4251+
[[no_unique_address]] O @\libmember{out}{in_out_result}@;
42524252

42534253
template<class I2, class O2>
42544254
requires @\libconcept{convertible_to}@<const I&, I2> && @\libconcept{convertible_to}@<const O&, O2>
@@ -4264,10 +4264,10 @@
42644264
};
42654265

42664266
template<class I1, class I2, class O>
4267-
struct in_in_out_result {
4268-
[[no_unique_address]] I1 in1;
4269-
[[no_unique_address]] I2 in2;
4270-
[[no_unique_address]] O out;
4267+
struct @\libglobal{in_in_out_result}@ {
4268+
[[no_unique_address]] I1 @\libmember{in1}{in_in_out_result}@;
4269+
[[no_unique_address]] I2 @\libmember{in2}{in_in_out_result}@;
4270+
[[no_unique_address]] O @\libmember{out}{in_in_out_result}@;
42714271

42724272
template<class II1, class II2, class OO>
42734273
requires @\libconcept{convertible_to}@<const I1&, II1> &&
@@ -4287,10 +4287,10 @@
42874287
};
42884288

42894289
template<class I, class O1, class O2>
4290-
struct in_out_out_result {
4291-
[[no_unique_address]] I in;
4292-
[[no_unique_address]] O1 out1;
4293-
[[no_unique_address]] O2 out2;
4290+
struct @\libglobal{in_out_out_result}@ {
4291+
[[no_unique_address]] I @\libmember{in}{in_out_out_result}@;
4292+
[[no_unique_address]] O1 @\libmember{out1}{in_out_out_result}@;
4293+
[[no_unique_address]] O2 @\libmember{out2}{in_out_out_result}@;
42944294

42954295
template<class II, class OO1, class OO2>
42964296
requires @\libconcept{convertible_to}@<const I&, II> &&
@@ -4310,9 +4310,9 @@
43104310
};
43114311

43124312
template<class T>
4313-
struct min_max_result {
4314-
[[no_unique_address]] T min;
4315-
[[no_unique_address]] T max;
4313+
struct @\libglobal{min_max_result}@ {
4314+
[[no_unique_address]] T @\libmember{min}{min_max_result}@;
4315+
[[no_unique_address]] T @\libmember{max}{min_max_result}@;
43164316

43174317
template<class T2>
43184318
requires @\libconcept{convertible_to}@<const T&, T2>
@@ -4328,9 +4328,9 @@
43284328
};
43294329

43304330
template<class I>
4331-
struct in_found_result {
4332-
[[no_unique_address]] I in;
4333-
bool found;
4331+
struct @\libglobal{in_found_result}@ {
4332+
[[no_unique_address]] I @\libmember{in}{in_found_result}@;
4333+
bool @\libmember{found}{in_found_result}@;
43344334

43354335
template<class I2>
43364336
requires @\libconcept{convertible_to}@<const I&, I2>
@@ -4345,9 +4345,9 @@
43454345
};
43464346

43474347
template<class I, class T>
4348-
struct in_value_result {
4349-
[[no_unique_address]] I in;
4350-
[[no_unique_address]] T value;
4348+
struct @\libglobal{in_value_result}@ {
4349+
[[no_unique_address]] I @\libmember{in}{in_value_result}@;
4350+
[[no_unique_address]] T @\libmember{value}{in_value_result}@;
43514351

43524352
template<class I2, class T2>
43534353
requires @\libconcept{convertible_to}@<const I&, I2> && @\libconcept{convertible_to}@<const T&, T2>
@@ -4363,9 +4363,9 @@
43634363
};
43644364

43654365
template<class O, class T>
4366-
struct out_value_result {
4367-
[[no_unique_address]] O out;
4368-
[[no_unique_address]] T value;
4366+
struct @\libglobal{out_value_result}@ {
4367+
[[no_unique_address]] O @\libmember{out}{out_value_result}@;
4368+
[[no_unique_address]] T @\libmember{value}{out_value_result}@;
43694369

43704370
template<class O2, class T2>
43714371
requires @\libconcept{convertible_to}@<const O&, O2> && @\libconcept{convertible_to}@<const T&, T2>
@@ -12230,7 +12230,7 @@
1223012230

1223112231
namespace ranges {
1223212232
template<class O, class T>
12233-
using iota_result = out_value_result<O, T>;
12233+
using @\libglobal{iota_result}@ = out_value_result<O, T>;
1223412234

1223512235
template<@\libconcept{input_or_output_iterator}@ O, @\libconcept{sentinel_for}@<O> S, @\libconcept{weakly_incrementable}@ T>
1223612236
requires @\libconcept{indirectly_writable}@<O, const T&>

0 commit comments

Comments
 (0)