|
2251 | 2251 | \indextext{unordered associative containers!equivalent keys}%
|
2252 | 2252 | \indextext{requirements!container}%
|
2253 | 2253 | In \tref{HashRequirements}:
|
2254 |
| -\tcode{X} denotes an unordered associative container class, |
2255 |
| -\tcode{a} denotes a value of type \tcode{X}, |
2256 |
| -\tcode{a2} denotes a value of a type with nodes compatible with type |
2257 |
| -\tcode{X} (\tref{containers.node.compat}), |
2258 |
| -\tcode{b} denotes a possibly const value of type \tcode{X}, |
2259 |
| -\tcode{a_uniq} denotes a value of type \tcode{X} when \tcode{X} supports unique keys, |
2260 |
| -\tcode{a_eq} denotes a value of type \tcode{X} when \tcode{X} supports equivalent keys, |
2261 |
| -\tcode{a_tran} denotes a possibly const value of type \tcode{X} |
2262 |
| -when the \grammarterm{qualified-id} \tcode{X::hasher::transparent_key_equal} |
2263 |
| -is valid and denotes a type\iref{temp.deduct}, |
2264 |
| -\tcode{i} and \tcode{j} denote input iterators that refer to \tcode{value_type}, |
2265 |
| -\tcode{[i, j)} denotes a valid range, |
2266 |
| -\tcode{p} and \tcode{q2} denote valid constant iterators to \tcode{a}, |
2267 |
| -\tcode{q} and \tcode{q1} denote valid dereferenceable constant iterators to \tcode{a}, |
2268 |
| -\tcode{r} denotes a valid dereferenceable iterator to \tcode{a}, |
2269 |
| -\tcode{[q1, q2)} denotes a valid range in \tcode{a}, |
2270 |
| -\tcode{il} denotes a value of type \tcode{initializer_list<value_type>}, |
2271 |
| -\tcode{t} denotes a value of type \tcode{X::value_type}, |
2272 |
| -\tcode{k} denotes a value of type \tcode{key_type}, |
2273 |
| -\tcode{hf} denotes a possibly const value of type \tcode{hasher}, |
2274 |
| -\tcode{eq} denotes a possibly const value of type \tcode{key_equal}, |
2275 |
| -\tcode{ke} is a value such that |
2276 |
| -(1) \tcode{eq(r1, ke) == eq(ke, r1)} |
2277 |
| -with \tcode{r1} the key value of \tcode{e} and \tcode{e} in \tcode{a_tran}, |
2278 |
| -(2) \tcode{hf(r1) == hf(ke)} if \tcode{eq(r1, ke)} is \tcode{true}, and |
2279 |
| -(3) \tcode{(eq(r1, ke) \&\& eq(r1, r2)) == eq(r2, ke)} |
2280 |
| -where \tcode{r2} is the key of an element in \tcode{a_tran}, |
2281 |
| -\tcode{n} denotes a value of type \tcode{size_type}, |
2282 |
| -\tcode{z} denotes a value of type \tcode{float}, |
2283 |
| -and \tcode{nh} denotes a non-const rvalue of type \tcode{X::node_type}. |
| 2254 | +\begin{itemize} |
| 2255 | +\item \tcode{X} denotes an unordered associative container class, |
| 2256 | +\item \tcode{a} denotes a value of type \tcode{X}, |
| 2257 | +\item \tcode{a2} denotes a value of a type with nodes compatible |
| 2258 | + with type \tcode{X} (\tref{containers.node.compat}), |
| 2259 | +\item \tcode{b} denotes a possibly const value of type \tcode{X}, |
| 2260 | +\item \tcode{a_uniq} denotes a value of type \tcode{X} |
| 2261 | + when \tcode{X} supports unique keys, |
| 2262 | +\item \tcode{a_eq} denotes a value of type \tcode{X} |
| 2263 | + when \tcode{X} supports equivalent keys, |
| 2264 | +\item \tcode{a_tran} denotes a possibly const value of type \tcode{X} |
| 2265 | + when the \grammarterm{qualified-id} \tcode{X::hasher::transparent_key_equal} |
| 2266 | + is valid and denotes a type\iref{temp.deduct}, |
| 2267 | +\item \tcode{i} and \tcode{j} denote input iterators |
| 2268 | + that refer to \tcode{value_type}, |
| 2269 | +\item \tcode{[i, j)} denotes a valid range, |
| 2270 | +\item \tcode{p} and \tcode{q2} denote valid constant iterators to \tcode{a}, |
| 2271 | +\item \tcode{q} and \tcode{q1} denote |
| 2272 | + valid dereferenceable constant iterators to \tcode{a}, |
| 2273 | +\item \tcode{r} denotes a valid dereferenceable iterator to \tcode{a}, |
| 2274 | +\item \tcode{[q1, q2)} denotes a valid range in \tcode{a}, |
| 2275 | +\item \tcode{il} denotes a value of type \tcode{initializer_list<value_type>}, |
| 2276 | +\item \tcode{t} denotes a value of type \tcode{X::value_type}, |
| 2277 | +\item \tcode{k} denotes a value of type \tcode{key_type}, |
| 2278 | +\item \tcode{hf} denotes a possibly const value of type \tcode{hasher}, |
| 2279 | +\item \tcode{eq} denotes a possibly const value of type \tcode{key_equal}, |
| 2280 | +\item \tcode{ke} is a value such that |
| 2281 | + \begin{itemize} |
| 2282 | + \item \tcode{eq(r1, ke) == eq(ke, r1)} with |
| 2283 | + \tcode{r1} the key value of \tcode{e} and \tcode{e} in \tcode{a_tran}, |
| 2284 | + \item \tcode{hf(r1) == hf(ke)} if \tcode{eq(r1, ke)} is \tcode{true}, and |
| 2285 | + \item \tcode{(eq(r1, ke) \&\& eq(r1, r2)) == eq(r2, ke)} |
| 2286 | + \end{itemize} |
| 2287 | + where \tcode{r2} is the key of an element in \tcode{a_tran}, |
| 2288 | +\item \tcode{n} denotes a value of type \tcode{size_type}, |
| 2289 | +\item \tcode{z} denotes a value of type \tcode{float}, and |
| 2290 | +\item \tcode{nh} denotes a non-const rvalue of type \tcode{X::node_type}. |
| 2291 | +\end{itemize} |
2284 | 2292 |
|
2285 | 2293 | % Local command to index names as members of all unordered containers.
|
2286 | 2294 | \newcommand{\indexunordmem}[1]{%
|
|
0 commit comments