tmp/tmpf04xenav/{from.md → to.md}
RENAMED
|
@@ -4,17 +4,17 @@
|
|
| 4 |
template<class T, class Alloc> struct uses_allocator;
|
| 5 |
```
|
| 6 |
|
| 7 |
*Remarks:* Automatically detects whether `T` has a nested
|
| 8 |
`allocator_type` that is convertible from `Alloc`. Meets the
|
| 9 |
-
|
| 10 |
shall provide a definition that is derived from `true_type` if the
|
| 11 |
*qualified-id* `T::allocator_type` is valid and denotes a
|
| 12 |
-
type
|
| 13 |
`is_convertible_v<Alloc, T::allocator_type> != false`, otherwise it
|
| 14 |
shall be derived from `false_type`. A program may specialize this
|
| 15 |
-
template to derive from `true_type` for a
|
| 16 |
does not have a nested `allocator_type` but nonetheless can be
|
| 17 |
constructed with an allocator where either:
|
| 18 |
|
| 19 |
- the first argument of a constructor has type `allocator_arg_t` and the
|
| 20 |
second argument has type `Alloc` or
|
|
|
|
| 4 |
template<class T, class Alloc> struct uses_allocator;
|
| 5 |
```
|
| 6 |
|
| 7 |
*Remarks:* Automatically detects whether `T` has a nested
|
| 8 |
`allocator_type` that is convertible from `Alloc`. Meets the
|
| 9 |
+
*Cpp17BinaryTypeTrait* requirements [[meta.rqmts]]. The implementation
|
| 10 |
shall provide a definition that is derived from `true_type` if the
|
| 11 |
*qualified-id* `T::allocator_type` is valid and denotes a
|
| 12 |
+
type [[temp.deduct]] and
|
| 13 |
`is_convertible_v<Alloc, T::allocator_type> != false`, otherwise it
|
| 14 |
shall be derived from `false_type`. A program may specialize this
|
| 15 |
+
template to derive from `true_type` for a program-defined type `T` that
|
| 16 |
does not have a nested `allocator_type` but nonetheless can be
|
| 17 |
constructed with an allocator where either:
|
| 18 |
|
| 19 |
- the first argument of a constructor has type `allocator_arg_t` and the
|
| 20 |
second argument has type `Alloc` or
|