std::uses_allocator
| Определён в заголовочном файле <memory>
|
||
| template< class T, class Alloc > struct uses_allocator |
(начиная с C++11) | |
Если в T определён член-typedef allocator_type, и возможно преобразование из Alloc в allocator_type, статическое константное поле value определяется как true. В противном случае value является false.
Содержание |
Унаследован от std::integral_constant
Константы-члены
| value [static] |
true, если T uses allocator Alloc, иначе false (public static константа-член) |
Функции-члены
| operator bool |
Преобразует объект в bool, возвращается value (public функция-член) |
| operator() (C++14) |
Возвращает value (public функция-член) |
Типы-члены
| Тип | Определение |
value_type
|
bool
|
type
|
std::integral_constant<bool, value> |
[править] Специализации
Если в типе отсутствует член-typedef allocator_type, пользовательские специализации std::uses_allocator допускаются в любом из двух случаев:
1) У T есть конструктор, который принимает std::allocator_arg_t в качестве первого аргумента и Alloc в качестве второго аргумента.
2) У T есть конструктор, который принимает Alloc в качестве последнего аргумента.
В стандартной библиотеке определены следующие специализации:
a a a| Специализируется черта std::uses_allocator типа Оригинал: specializes the std::uses_allocator type trait Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (специализация шаблона класса) | |
| Специализируется черта std::uses_allocator типа Оригинал: specializes the std::uses_allocator type trait Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) | |
| Специализируется черта std::uses_allocator типа Оригинал: specializes the std::uses_allocator type trait Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) | |
| Специализируется черта std::uses_allocator типа Оригинал: specializes the std::uses_allocator type trait Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) | |
| обусловлено особенностями std::uses_allocator (специализация шаблона класса) | |
| Специализация шаблона std::uses_allocator Оригинал: specializes the std::uses_allocator type trait Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (специализация шаблона класса) | |
| Специализируется черта std::uses_allocator типа Оригинал: specializes the std::uses_allocator type trait Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (специализация шаблона класса) | |
[править] Заметки
Этот класс используется для получения информации об объектах в std::scoped_allocator_adaptor, std::tuple, std::variant и std::pmr::polymorphic_allocator. Также возможно применение в пользовательских классах, чтобы узнать, поддерживается ли самим объектом или его полем другой аллокатор и передать такой при необходимости.
[править] См. также
| (C++11) |
Объект типа std::allocator_arg_t используется для выбора распределитель-Aware конструкторов Оригинал: an object of type std::allocator_arg_t used to select allocator-aware constructors Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (константа) |
| (C++11) |
тег типа используются для выбора распределитель-Aware перегрузок конструктора Оригинал: tag type used to select allocator-aware constructor overloads Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (класс) |
| (C++11) |
реализует многоуровневую распределитель для многоуровневых контейнеров Оригинал: implements multi-level allocator for multi-level containers Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон класса) |

