|
2320 | 2320 | \item \tcode{a_eq} denotes a value of type \tcode{X}
|
2321 | 2321 | when \tcode{X} supports equivalent keys,
|
2322 | 2322 | \item \tcode{a_tran} denotes a possibly const value of type \tcode{X}
|
2323 |
| - when the \grammarterm{qualified-id} \tcode{X::hasher::transparent_key_equal} |
2324 |
| - is valid and denotes a type\iref{temp.deduct}, |
| 2323 | + when the \grammarterm{qualified-id}s |
| 2324 | + \tcode{X::key_equal::is_transparent} and |
| 2325 | + \tcode{X::hasher::is_transparent} |
| 2326 | + are both valid and denote types\iref{temp.deduct}, |
2325 | 2327 | \item \tcode{i} and \tcode{j} denote input iterators
|
2326 | 2328 | that refer to \tcode{value_type},
|
2327 | 2329 | \item \tcode{[i, j)} denotes a valid range,
|
|
2402 | 2404 | %
|
2403 | 2405 | \indexunordmem{key_equal}%
|
2404 | 2406 | \tcode{X::key_equal}
|
2405 |
| -& \tcode{Hash::transparent_key_equal} if such a \grammarterm{qualified-id} |
2406 |
| - is valid and denotes a type\iref{temp.deduct}; |
2407 |
| - otherwise, \tcode{Pred}. |
| 2407 | +& \tcode{Pred} |
2408 | 2408 | & \expects \tcode{Pred} meets the \oldconcept{CopyConstructible} requirements.\br
|
2409 | 2409 | \tcode{Pred} is a binary predicate that takes two arguments
|
2410 | 2410 | of type \tcode{Key}. \tcode{Pred} is an equivalence relation.%
|
|
3036 | 3036 | element is successfully inserted.
|
3037 | 3037 |
|
3038 | 3038 | \pnum
|
3039 |
| -If the \grammarterm{qualified-id} \tcode{Hash::transparent_key_equal} |
3040 |
| -is valid and denotes a type\iref{temp.deduct}, |
3041 |
| -then the program is ill-formed if either: |
3042 |
| -\begin{itemize} |
3043 |
| -\item |
3044 |
| - \grammarterm{qualified-id} \tcode{Hash::transparent_key_equal::is_transparent} |
3045 |
| - is not valid or does not denote a type, or |
3046 |
| -\item |
3047 |
| - \tcode{Pred} is a different type than \tcode{equal_to<Key>} or |
3048 |
| - \tcode{Hash::transparent_key_equal}. |
3049 |
| -\end{itemize} |
3050 | 3039 | The member function templates
|
3051 | 3040 | \tcode{find}, \tcode{count}, \tcode{equal_range}, and \tcode{contains}
|
3052 | 3041 | shall not participate in overload resolution unless
|
3053 |
| -the \grammarterm{qualified-id} \tcode{Hash::transparent_key_equal} |
3054 |
| -is valid and denotes a type\iref{temp.deduct}. |
| 3042 | +the \grammarterm{qualified-id}s |
| 3043 | +\tcode{Pred::is_transparent} and |
| 3044 | +\tcode{Hash::is_transparent} |
| 3045 | +are both valid and denote types\iref{temp.deduct}. |
3055 | 3046 |
|
3056 | 3047 | \pnum
|
3057 | 3048 | A deduction guide for an unordered associative container shall not participate in overload resolution
|
|
7977 | 7968 | using mapped_type = T;
|
7978 | 7969 | using value_type = pair<const Key, T>;
|
7979 | 7970 | using hasher = Hash;
|
7980 |
| - using key_equal = @\seeref{unord.req}@; |
| 7971 | + using key_equal = Pred; |
7981 | 7972 | using allocator_type = Allocator;
|
7982 | 7973 | using pointer = typename allocator_traits<Allocator>::pointer;
|
7983 | 7974 | using const_pointer = typename allocator_traits<Allocator>::const_pointer;
|
|
8576 | 8567 | using mapped_type = T;
|
8577 | 8568 | using value_type = pair<const Key, T>;
|
8578 | 8569 | using hasher = Hash;
|
8579 |
| - using key_equal = @\seeref{unord.req}@; |
| 8570 | + using key_equal = Pred; |
8580 | 8571 | using allocator_type = Allocator;
|
8581 | 8572 | using pointer = typename allocator_traits<Allocator>::pointer;
|
8582 | 8573 | using const_pointer = typename allocator_traits<Allocator>::const_pointer;
|
|
8945 | 8936 | using key_type = Key;
|
8946 | 8937 | using value_type = Key;
|
8947 | 8938 | using hasher = Hash;
|
8948 |
| - using key_equal = @\seeref{unord.req}@; |
| 8939 | + using key_equal = Pred; |
8949 | 8940 | using allocator_type = Allocator;
|
8950 | 8941 | using pointer = typename allocator_traits<Allocator>::pointer;
|
8951 | 8942 | using const_pointer = typename allocator_traits<Allocator>::const_pointer;
|
|
9274 | 9265 | using key_type = Key;
|
9275 | 9266 | using value_type = Key;
|
9276 | 9267 | using hasher = Hash;
|
9277 |
| - using key_equal = @\seeref{unord.req}@; |
| 9268 | + using key_equal = Pred; |
9278 | 9269 | using allocator_type = Allocator;
|
9279 | 9270 | using pointer = typename allocator_traits<Allocator>::pointer;
|
9280 | 9271 | using const_pointer = typename allocator_traits<Allocator>::const_pointer;
|
|
0 commit comments