|
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