tmp/tmpmzwpli3w/{from.md → to.md}
RENAMED
|
@@ -2,16 +2,17 @@
|
|
| 2 |
|
| 3 |
``` cpp
|
| 4 |
template <class T, class Alloc> struct uses_allocator;
|
| 5 |
```
|
| 6 |
|
| 7 |
-
|
| 8 |
-
convertible from `Alloc`. Meets the
|
| 9 |
-
requirements ([[meta.rqmts]]). The implementation
|
| 10 |
-
definition that is derived from `true_type` if
|
| 11 |
-
`T::allocator_type`
|
| 12 |
-
|
|
|
|
| 13 |
shall be derived from `false_type`. A program may specialize this
|
| 14 |
template to derive from `true_type` for a user-defined type `T` that
|
| 15 |
does not have a nested `allocator_type` but nonetheless can be
|
| 16 |
constructed with an allocator where either:
|
| 17 |
|
|
|
|
| 2 |
|
| 3 |
``` cpp
|
| 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 |
+
`BinaryTypeTrait` 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 user-defined type `T` that
|
| 16 |
does not have a nested `allocator_type` but nonetheless can be
|
| 17 |
constructed with an allocator where either:
|
| 18 |
|