Skip to content

Commit

Permalink
[containers] Index exposition-only iterator-related alias templates.
Browse files Browse the repository at this point in the history
  • Loading branch information
jensmaurer committed Nov 9, 2021
1 parent b5dd76f commit 87526f4
Showing 1 changed file with 75 additions and 75 deletions.
150 changes: 75 additions & 75 deletions source/containers.tex
Original file line number Diff line number Diff line change
Expand Up @@ -3258,7 +3258,7 @@

\begin{codeblock}
template<class InputIterator>
using @\placeholdernc{iter-value-type}@ = typename iterator_traits<InputIterator>::value_type; // \expos
using @\libexposidnc{iter-value-type}@ = typename iterator_traits<InputIterator>::value_type; // \expos
\end{codeblock}

\rSec2[array.syn]{Header \tcode{<array>} synopsis}
Expand Down Expand Up @@ -3903,9 +3903,9 @@
void clear() noexcept;
};

template<class InputIterator, class Allocator = allocator<@\placeholder{iter-value-type}@<InputIterator>>>
template<class InputIterator, class Allocator = allocator<@\exposid{iter-value-type}@<InputIterator>>>
deque(InputIterator, InputIterator, Allocator = Allocator())
-> deque<@\placeholder{iter-value-type}@<InputIterator>, Allocator>;
-> deque<@\exposid{iter-value-type}@<InputIterator>, Allocator>;
}
\end{codeblock}

Expand Down Expand Up @@ -4338,9 +4338,9 @@
void reverse() noexcept;
};

template<class InputIterator, class Allocator = allocator<@\placeholder{iter-value-type}@<InputIterator>>>
template<class InputIterator, class Allocator = allocator<@\exposid{iter-value-type}@<InputIterator>>>
forward_list(InputIterator, InputIterator, Allocator = Allocator())
-> forward_list<@\placeholder{iter-value-type}@<InputIterator>, Allocator>;
-> forward_list<@\exposid{iter-value-type}@<InputIterator>, Allocator>;
}
\end{codeblock}

Expand Down Expand Up @@ -5147,9 +5147,9 @@
void reverse() noexcept;
};

template<class InputIterator, class Allocator = allocator<@\placeholder{iter-value-type}@<InputIterator>>>
template<class InputIterator, class Allocator = allocator<@\exposid{iter-value-type}@<InputIterator>>>
list(InputIterator, InputIterator, Allocator = Allocator())
-> list<@\placeholder{iter-value-type}@<InputIterator>, Allocator>;
-> list<@\exposid{iter-value-type}@<InputIterator>, Allocator>;
}
\end{codeblock}

Expand Down Expand Up @@ -5840,9 +5840,9 @@
constexpr void clear() noexcept;
};

template<class InputIterator, class Allocator = allocator<@\placeholder{iter-value-type}@<InputIterator>>>
template<class InputIterator, class Allocator = allocator<@\exposid{iter-value-type}@<InputIterator>>>
vector(InputIterator, InputIterator, Allocator = Allocator())
-> vector<@\placeholder{iter-value-type}@<InputIterator>, Allocator>;
-> vector<@\exposid{iter-value-type}@<InputIterator>, Allocator>;
}
\end{codeblock}%
\indexlibrarymember{vector}{operator==}%
Expand Down Expand Up @@ -6450,16 +6450,16 @@
The following exposition-only alias templates may appear in deduction guides for associative containers:
\begin{codeblock}
template<class InputIterator>
using @\placeholder{iter-value-type}@ =
using @\libexposid{iter-value-type}@ =
typename iterator_traits<InputIterator>::value_type; // \expos
template<class InputIterator>
using @\placeholder{iter-key-type}@ = remove_const_t<
using @\libexposid{iter-key-type}@ = remove_const_t<
typename iterator_traits<InputIterator>::value_type::first_type>; // \expos
template<class InputIterator>
using @\placeholder{iter-mapped-type}@ =
using @\libexposid{iter-mapped-type}@ =
typename iterator_traits<InputIterator>::value_type::second_type; // \expos
template<class InputIterator>
using @\placeholder{iter-to-alloc-type}@ = pair<
using @\libexposid{iter-to-alloc-type}@ = pair<
add_const_t<typename iterator_traits<InputIterator>::value_type::first_type>,
typename iterator_traits<InputIterator>::value_type::second_type>; // \expos
\end{codeblock}
Expand Down Expand Up @@ -6811,10 +6811,10 @@
pair<const_iterator, const_iterator> equal_range(const K& x) const;
};

template<class InputIterator, class Compare = less<@\placeholder{iter-key-type}@<InputIterator>>,
class Allocator = allocator<@\placeholder{iter-to-alloc-type}@<InputIterator>>>
template<class InputIterator, class Compare = less<@\exposid{iter-key-type}@<InputIterator>>,
class Allocator = allocator<@\exposid{iter-to-alloc-type}@<InputIterator>>>
map(InputIterator, InputIterator, Compare = Compare(), Allocator = Allocator())
-> map<@\placeholder{iter-key-type}@<InputIterator>, @\placeholder{iter-mapped-type}@<InputIterator>, Compare, Allocator>;
-> map<@\exposid{iter-key-type}@<InputIterator>, @\exposid{iter-mapped-type}@<InputIterator>, Compare, Allocator>;

template<class Key, class T, class Compare = less<Key>,
class Allocator = allocator<pair<const Key, T>>>
Expand All @@ -6823,8 +6823,8 @@

template<class InputIterator, class Allocator>
map(InputIterator, InputIterator, Allocator)
-> map<@\placeholder{iter-key-type}@<InputIterator>, @\placeholder{iter-mapped-type}@<InputIterator>,
less<@\placeholder{iter-key-type}@<InputIterator>>, Allocator>;
-> map<@\exposid{iter-key-type}@<InputIterator>, @\exposid{iter-mapped-type}@<InputIterator>,
less<@\exposid{iter-key-type}@<InputIterator>>, Allocator>;

template<class Key, class T, class Allocator>
map(initializer_list<pair<Key, T>>, Allocator) -> map<Key, T, less<Key>, Allocator>;
Expand Down Expand Up @@ -7335,10 +7335,10 @@
pair<const_iterator, const_iterator> equal_range(const K& x) const;
};

template<class InputIterator, class Compare = less<@\placeholder{iter-key-type}@<InputIterator>>,
class Allocator = allocator<@\placeholder{iter-to-alloc-type}@<InputIterator>>>
template<class InputIterator, class Compare = less<@\exposid{iter-key-type}@<InputIterator>>,
class Allocator = allocator<@\exposid{iter-to-alloc-type}@<InputIterator>>>
multimap(InputIterator, InputIterator, Compare = Compare(), Allocator = Allocator())
-> multimap<@\placeholder{iter-key-type}@<InputIterator>, @\placeholder{iter-mapped-type}@<InputIterator>,
-> multimap<@\exposid{iter-key-type}@<InputIterator>, @\exposid{iter-mapped-type}@<InputIterator>,
Compare, Allocator>;

template<class Key, class T, class Compare = less<Key>,
Expand All @@ -7348,8 +7348,8 @@

template<class InputIterator, class Allocator>
multimap(InputIterator, InputIterator, Allocator)
-> multimap<@\placeholder{iter-key-type}@<InputIterator>, @\placeholder{iter-mapped-type}@<InputIterator>,
less<@\placeholder{iter-key-type}@<InputIterator>>, Allocator>;
-> multimap<@\exposid{iter-key-type}@<InputIterator>, @\exposid{iter-mapped-type}@<InputIterator>,
less<@\exposid{iter-key-type}@<InputIterator>>, Allocator>;

template<class Key, class T, class Allocator>
multimap(initializer_list<pair<Key, T>>, Allocator)
Expand Down Expand Up @@ -7638,20 +7638,20 @@
};

template<class InputIterator,
class Compare = less<@\placeholder{iter-value-type}@<InputIterator>>,
class Allocator = allocator<@\placeholder{iter-value-type}@<InputIterator>>>
class Compare = less<@\exposid{iter-value-type}@<InputIterator>>,
class Allocator = allocator<@\exposid{iter-value-type}@<InputIterator>>>
set(InputIterator, InputIterator,
Compare = Compare(), Allocator = Allocator())
-> set<@\placeholder{iter-value-type}@<InputIterator>, Compare, Allocator>;
-> set<@\exposid{iter-value-type}@<InputIterator>, Compare, Allocator>;

template<class Key, class Compare = less<Key>, class Allocator = allocator<Key>>
set(initializer_list<Key>, Compare = Compare(), Allocator = Allocator())
-> set<Key, Compare, Allocator>;

template<class InputIterator, class Allocator>
set(InputIterator, InputIterator, Allocator)
-> set<@\placeholder{iter-value-type}@<InputIterator>,
less<@\placeholder{iter-value-type}@<InputIterator>>, Allocator>;
-> set<@\exposid{iter-value-type}@<InputIterator>,
less<@\exposid{iter-value-type}@<InputIterator>>, Allocator>;

template<class Key, class Allocator>
set(initializer_list<Key>, Allocator) -> set<Key, less<Key>, Allocator>;
Expand Down Expand Up @@ -7914,20 +7914,20 @@
};

template<class InputIterator,
class Compare = less<@\placeholder{iter-value-type}@<InputIterator>>,
class Allocator = allocator<@\placeholder{iter-value-type}@<InputIterator>>>
class Compare = less<@\exposid{iter-value-type}@<InputIterator>>,
class Allocator = allocator<@\exposid{iter-value-type}@<InputIterator>>>
multiset(InputIterator, InputIterator,
Compare = Compare(), Allocator = Allocator())
-> multiset<@\placeholder{iter-value-type}@<InputIterator>, Compare, Allocator>;
-> multiset<@\exposid{iter-value-type}@<InputIterator>, Compare, Allocator>;

template<class Key, class Compare = less<Key>, class Allocator = allocator<Key>>
multiset(initializer_list<Key>, Compare = Compare(), Allocator = Allocator())
-> multiset<Key, Compare, Allocator>;

template<class InputIterator, class Allocator>
multiset(InputIterator, InputIterator, Allocator)
-> multiset<@\placeholder{iter-value-type}@<InputIterator>,
less<@\placeholder{iter-value-type}@<InputIterator>>, Allocator>;
-> multiset<@\exposid{iter-value-type}@<InputIterator>,
less<@\exposid{iter-value-type}@<InputIterator>>, Allocator>;

template<class Key, class Allocator>
multiset(initializer_list<Key>, Allocator) -> multiset<Key, less<Key>, Allocator>;
Expand Down Expand Up @@ -8380,12 +8380,12 @@
};

template<class InputIterator,
class Hash = hash<@\placeholder{iter-key-type}@<InputIterator>>,
class Pred = equal_to<@\placeholder{iter-key-type}@<InputIterator>>,
class Allocator = allocator<@\placeholder{iter-to-alloc-type}@<InputIterator>>>
class Hash = hash<@\exposid{iter-key-type}@<InputIterator>>,
class Pred = equal_to<@\exposid{iter-key-type}@<InputIterator>>,
class Allocator = allocator<@\exposid{iter-to-alloc-type}@<InputIterator>>>
unordered_map(InputIterator, InputIterator, typename @\seebelow@::size_type = @\seebelow@,
Hash = Hash(), Pred = Pred(), Allocator = Allocator())
-> unordered_map<@\placeholder{iter-key-type}@<InputIterator>, @\placeholder{iter-mapped-type}@<InputIterator>, Hash, Pred,
-> unordered_map<@\exposid{iter-key-type}@<InputIterator>, @\exposid{iter-mapped-type}@<InputIterator>, Hash, Pred,
Allocator>;

template<class Key, class T, class Hash = hash<Key>,
Expand All @@ -8397,20 +8397,20 @@

template<class InputIterator, class Allocator>
unordered_map(InputIterator, InputIterator, typename @\seebelow@::size_type, Allocator)
-> unordered_map<@\placeholder{iter-key-type}@<InputIterator>, @\placeholder{iter-mapped-type}@<InputIterator>,
hash<@\placeholder{iter-key-type}@<InputIterator>>,
equal_to<@\placeholder{iter-key-type}@<InputIterator>>, Allocator>;
-> unordered_map<@\exposid{iter-key-type}@<InputIterator>, @\exposid{iter-mapped-type}@<InputIterator>,
hash<@\exposid{iter-key-type}@<InputIterator>>,
equal_to<@\exposid{iter-key-type}@<InputIterator>>, Allocator>;

template<class InputIterator, class Allocator>
unordered_map(InputIterator, InputIterator, Allocator)
-> unordered_map<@\placeholder{iter-key-type}@<InputIterator>, @\placeholder{iter-mapped-type}@<InputIterator>,
hash<@\placeholder{iter-key-type}@<InputIterator>>,
equal_to<@\placeholder{iter-key-type}@<InputIterator>>, Allocator>;
-> unordered_map<@\exposid{iter-key-type}@<InputIterator>, @\exposid{iter-mapped-type}@<InputIterator>,
hash<@\exposid{iter-key-type}@<InputIterator>>,
equal_to<@\exposid{iter-key-type}@<InputIterator>>, Allocator>;

template<class InputIterator, class Hash, class Allocator>
unordered_map(InputIterator, InputIterator, typename @\seebelow@::size_type, Hash, Allocator)
-> unordered_map<@\placeholder{iter-key-type}@<InputIterator>, @\placeholder{iter-mapped-type}@<InputIterator>, Hash,
equal_to<@\placeholder{iter-key-type}@<InputIterator>>, Allocator>;
-> unordered_map<@\exposid{iter-key-type}@<InputIterator>, @\exposid{iter-mapped-type}@<InputIterator>, Hash,
equal_to<@\exposid{iter-key-type}@<InputIterator>>, Allocator>;

template<class Key, class T, class Allocator>
unordered_map(initializer_list<pair<Key, T>>, typename @\seebelow@::size_type,
Expand Down Expand Up @@ -8953,13 +8953,13 @@
};

template<class InputIterator,
class Hash = hash<@\placeholder{iter-key-type}@<InputIterator>>,
class Pred = equal_to<@\placeholder{iter-key-type}@<InputIterator>>,
class Allocator = allocator<@\placeholder{iter-to-alloc-type}@<InputIterator>>>
class Hash = hash<@\exposid{iter-key-type}@<InputIterator>>,
class Pred = equal_to<@\exposid{iter-key-type}@<InputIterator>>,
class Allocator = allocator<@\exposid{iter-to-alloc-type}@<InputIterator>>>
unordered_multimap(InputIterator, InputIterator,
typename @\seebelow@::size_type = @\seebelow@,
Hash = Hash(), Pred = Pred(), Allocator = Allocator())
-> unordered_multimap<@\placeholder{iter-key-type}@<InputIterator>, @\placeholder{iter-mapped-type}@<InputIterator>,
-> unordered_multimap<@\exposid{iter-key-type}@<InputIterator>, @\exposid{iter-mapped-type}@<InputIterator>,
Hash, Pred, Allocator>;

template<class Key, class T, class Hash = hash<Key>,
Expand All @@ -8971,21 +8971,21 @@

template<class InputIterator, class Allocator>
unordered_multimap(InputIterator, InputIterator, typename @\seebelow@::size_type, Allocator)
-> unordered_multimap<@\placeholder{iter-key-type}@<InputIterator>, @\placeholder{iter-mapped-type}@<InputIterator>,
hash<@\placeholder{iter-key-type}@<InputIterator>>,
equal_to<@\placeholder{iter-key-type}@<InputIterator>>, Allocator>;
-> unordered_multimap<@\exposid{iter-key-type}@<InputIterator>, @\exposid{iter-mapped-type}@<InputIterator>,
hash<@\exposid{iter-key-type}@<InputIterator>>,
equal_to<@\exposid{iter-key-type}@<InputIterator>>, Allocator>;

template<class InputIterator, class Allocator>
unordered_multimap(InputIterator, InputIterator, Allocator)
-> unordered_multimap<@\placeholder{iter-key-type}@<InputIterator>, @\placeholder{iter-mapped-type}@<InputIterator>,
hash<@\placeholder{iter-key-type}@<InputIterator>>,
equal_to<@\placeholder{iter-key-type}@<InputIterator>>, Allocator>;
-> unordered_multimap<@\exposid{iter-key-type}@<InputIterator>, @\exposid{iter-mapped-type}@<InputIterator>,
hash<@\exposid{iter-key-type}@<InputIterator>>,
equal_to<@\exposid{iter-key-type}@<InputIterator>>, Allocator>;

template<class InputIterator, class Hash, class Allocator>
unordered_multimap(InputIterator, InputIterator, typename @\seebelow@::size_type, Hash,
Allocator)
-> unordered_multimap<@\placeholder{iter-key-type}@<InputIterator>, @\placeholder{iter-mapped-type}@<InputIterator>, Hash,
equal_to<@\placeholder{iter-key-type}@<InputIterator>>, Allocator>;
-> unordered_multimap<@\exposid{iter-key-type}@<InputIterator>, @\exposid{iter-mapped-type}@<InputIterator>, Hash,
equal_to<@\exposid{iter-key-type}@<InputIterator>>, Allocator>;

template<class Key, class T, class Allocator>
unordered_multimap(initializer_list<pair<Key, T>>, typename @\seebelow@::size_type,
Expand Down Expand Up @@ -9320,12 +9320,12 @@
};

template<class InputIterator,
class Hash = hash<@\placeholder{iter-value-type}@<InputIterator>>,
class Pred = equal_to<@\placeholder{iter-value-type}@<InputIterator>>,
class Allocator = allocator<@\placeholder{iter-value-type}@<InputIterator>>>
class Hash = hash<@\exposid{iter-value-type}@<InputIterator>>,
class Pred = equal_to<@\exposid{iter-value-type}@<InputIterator>>,
class Allocator = allocator<@\exposid{iter-value-type}@<InputIterator>>>
unordered_set(InputIterator, InputIterator, typename @\seebelow@::size_type = @\seebelow@,
Hash = Hash(), Pred = Pred(), Allocator = Allocator())
-> unordered_set<@\placeholder{iter-value-type}@<InputIterator>,
-> unordered_set<@\exposid{iter-value-type}@<InputIterator>,
Hash, Pred, Allocator>;

template<class T, class Hash = hash<T>,
Expand All @@ -9336,16 +9336,16 @@

template<class InputIterator, class Allocator>
unordered_set(InputIterator, InputIterator, typename @\seebelow@::size_type, Allocator)
-> unordered_set<@\placeholder{iter-value-type}@<InputIterator>,
hash<@\placeholder{iter-value-type}@<InputIterator>>,
equal_to<@\placeholder{iter-value-type}@<InputIterator>>,
-> unordered_set<@\exposid{iter-value-type}@<InputIterator>,
hash<@\exposid{iter-value-type}@<InputIterator>>,
equal_to<@\exposid{iter-value-type}@<InputIterator>>,
Allocator>;

template<class InputIterator, class Hash, class Allocator>
unordered_set(InputIterator, InputIterator, typename @\seebelow@::size_type,
Hash, Allocator)
-> unordered_set<@\placeholder{iter-value-type}@<InputIterator>, Hash,
equal_to<@\placeholder{iter-value-type}@<InputIterator>>,
-> unordered_set<@\exposid{iter-value-type}@<InputIterator>, Hash,
equal_to<@\exposid{iter-value-type}@<InputIterator>>,
Allocator>;

template<class T, class Allocator>
Expand Down Expand Up @@ -9647,12 +9647,12 @@
};

template<class InputIterator,
class Hash = hash<@\placeholder{iter-value-type}@<InputIterator>>,
class Pred = equal_to<@\placeholder{iter-value-type}@<InputIterator>>,
class Allocator = allocator<@\placeholder{iter-value-type}@<InputIterator>>>
class Hash = hash<@\exposid{iter-value-type}@<InputIterator>>,
class Pred = equal_to<@\exposid{iter-value-type}@<InputIterator>>,
class Allocator = allocator<@\exposid{iter-value-type}@<InputIterator>>>
unordered_multiset(InputIterator, InputIterator, @\seebelow@::size_type = @\seebelow@,
Hash = Hash(), Pred = Pred(), Allocator = Allocator())
-> unordered_multiset<@\placeholder{iter-value-type}@<InputIterator>,
-> unordered_multiset<@\exposid{iter-value-type}@<InputIterator>,
Hash, Pred, Allocator>;

template<class T, class Hash = hash<T>,
Expand All @@ -9663,16 +9663,16 @@

template<class InputIterator, class Allocator>
unordered_multiset(InputIterator, InputIterator, typename @\seebelow@::size_type, Allocator)
-> unordered_multiset<@\placeholder{iter-value-type}@<InputIterator>,
hash<@\placeholder{iter-value-type}@<InputIterator>>,
equal_to<@\placeholder{iter-value-type}@<InputIterator>>,
-> unordered_multiset<@\exposid{iter-value-type}@<InputIterator>,
hash<@\exposid{iter-value-type}@<InputIterator>>,
equal_to<@\exposid{iter-value-type}@<InputIterator>>,
Allocator>;

template<class InputIterator, class Hash, class Allocator>
unordered_multiset(InputIterator, InputIterator, typename @\seebelow@::size_type,
Hash, Allocator)
-> unordered_multiset<@\placeholder{iter-value-type}@<InputIterator>, Hash,
equal_to<@\placeholder{iter-value-type}@<InputIterator>>,
-> unordered_multiset<@\exposid{iter-value-type}@<InputIterator>, Hash,
equal_to<@\exposid{iter-value-type}@<InputIterator>>,
Allocator>;

template<class T, class Allocator>
Expand Down

0 comments on commit 87526f4

Please sign in to comment.