Skip to content

Commit 10bcbb7

Browse files
jwakelytkoeppe
authored andcommitted
[sequences] Add exposition-only alias template for deduction guides.
1 parent 3fca4f4 commit 10bcbb7

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

source/containers.tex

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2928,6 +2928,14 @@
29282928
\tcode{<list>}, and \tcode{<vector>} define class templates that meet the
29292929
requirements for sequence containers.
29302930

2931+
\pnum
2932+
The following exposition-only alias template may appear in deduction guides for sequence containers:
2933+
2934+
\begin{codeblock}
2935+
template<class InputIterator>
2936+
using @\placeholdernc{iter-value-type}@ = typename iterator_traits<InputIterator>::value_type; // \expos
2937+
\end{codeblock}
2938+
29312939
\rSec2[array.syn]{Header \tcode{<array>} synopsis}
29322940

29332941
\indexhdr{array}%
@@ -3501,10 +3509,9 @@
35013509
void clear() noexcept;
35023510
};
35033511

3504-
template<class InputIterator,
3505-
class Allocator = allocator<typename iterator_traits<InputIterator>::value_type>>
3512+
template<class InputIterator, class Allocator = allocator<@\placeholder{iter-value-type}@<InputIterator>>>
35063513
deque(InputIterator, InputIterator, Allocator = Allocator())
3507-
-> deque<typename iterator_traits<InputIterator>::value_type, Allocator>;
3514+
-> deque<@\placeholder{iter-value-type}@<InputIterator>, Allocator>;
35083515

35093516
// \ref{deque.special}, specialized algorithms
35103517
template<class T, class Allocator>
@@ -3890,10 +3897,9 @@
38903897
void reverse() noexcept;
38913898
};
38923899

3893-
template<class InputIterator,
3894-
class Allocator = allocator<typename iterator_traits<InputIterator>::value_type>>
3900+
template<class InputIterator, class Allocator = allocator<@\placeholder{iter-value-type}@<InputIterator>>>
38953901
forward_list(InputIterator, InputIterator, Allocator = Allocator())
3896-
-> forward_list<typename iterator_traits<InputIterator>::value_type, Allocator>;
3902+
-> forward_list<@\placeholder{iter-value-type}@<InputIterator>, Allocator>;
38973903

38983904
// \ref{forwardlist.spec}, specialized algorithms
38993905
template<class T, class Allocator>
@@ -4597,10 +4603,9 @@
45974603
void reverse() noexcept;
45984604
};
45994605

4600-
template<class InputIterator,
4601-
class Allocator = allocator<typename iterator_traits<InputIterator>::value_type>>
4606+
template<class InputIterator, class Allocator = allocator<@\placeholder{iter-value-type}@<InputIterator>>>
46024607
list(InputIterator, InputIterator, Allocator = Allocator())
4603-
-> list<typename iterator_traits<InputIterator>::value_type, Allocator>;
4608+
-> list<@\placeholder{iter-value-type}@<InputIterator>, Allocator>;
46044609

46054610
// \ref{list.special}, specialized algorithms
46064611
template<class T, class Allocator>
@@ -5259,10 +5264,9 @@
52595264
void clear() noexcept;
52605265
};
52615266

5262-
template<class InputIterator,
5263-
class Allocator = allocator<typename iterator_traits<InputIterator>::value_type>>
5267+
template<class InputIterator, class Allocator = allocator<@\placeholder{iter-value-type}@<InputIterator>>>
52645268
vector(InputIterator, InputIterator, Allocator = Allocator())
5265-
-> vector<typename iterator_traits<InputIterator>::value_type, Allocator>;
5269+
-> vector<@\placeholder{iter-value-type}@<InputIterator>, Allocator>;
52665270

52675271
// \ref{vector.special}, specialized algorithms
52685272
template<class T, class Allocator>

0 commit comments

Comments
 (0)