std::scoped_allocator_adaptor
Материал из cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
| Заголовочный файл <scoped_allocator>
|
||
| template< class OuterAlloc, class... InnerAlloc > class scoped_allocator_adaptor : public OuterAlloc; |
(начиная с C++11) | |
Шаблон
std::scoped_allocator_adaptor класса распределитель, который можно использовать с многоуровневой контейнеров (вектор множества списков наборов карт и т.д.). Он создается с одним внешним OuterAlloc тип распределителя и ноль или более внутренних распределитель типа InnerAlloc.... Контейнер построен непосредственно с scoped_allocator_adaptor использует OuterAlloc выделить его элементы, но если элемент сам по себе является контейнером, он использует первый внутренний распределитель. Элементы этого контейнера, если они сами контейнеры, используйте второй внутренний распределитель, и т.д. Если есть больше уровней в контейнере, чем есть внутренние распределители, последний внутренний распределитель повторно используется для всех последующих вложенных контейнеров.Original:
The
std::scoped_allocator_adaptor class template is an allocator which can be used with multilevel containers (vector of sets of lists of tuples of maps, etc). It is instantiated with one outer allocator type OuterAlloc and zero or more inner allocator types InnerAlloc.... A container constructed directly with a scoped_allocator_adaptor uses OuterAlloc to allocate its elements, but if an element is itself a container, it uses the first inner allocator. The elements of that container, if they are themselves containers, use the second inner allocator, etc. If there are more levels to the container than there are inner allocators, the last inner allocator is reused for all further nested containers.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Для
scoped_allocator_adaptor, если следующий внутренний распределитель является A, любой класс T, для которых std::uses_allocator<T,A>::value == true участвует в рекурсию, как если бы это был контейнер. Кроме того, std::pair рассматривается как такой контейнер конкретных перегрузок scoped_allocator_adaptor::construct.Original:
For the purpose of
scoped_allocator_adaptor, if the next inner allocator is A, any class T for which std::uses_allocator<T,A>::value == true participates in the recursion as if it was a container. Additionally, std::pair is treated as such a container by specific overloads of scoped_allocator_adaptor::construct.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Типичная реализация содержит экземпляр
std::scoped_allocator_adaptor<InnerAllocs...> в качестве члена объекта.Original:
Typical implementation holds an instance of a
std::scoped_allocator_adaptor<InnerAllocs...> as a member object.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Содержание |
[править] Член типов
| Type
Original: Type The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Definition |
outer_allocator_type
|
OuterAlloc |
inner_allocator_type
|
scoped_allocator_adaptor<InnerAllocs...> or, if sizeof...(InnerAllocs) == 0, scoped_allocator_adaptor<OuterAlloc> |
value_type
|
std::allocator_traits<OuterAlloc>::value_type |
size_type
|
std::allocator_traits<OuterAlloc>::size_type |
difference_type
|
std::allocator_traits<OuterAlloc>::difference_type |
pointer
|
std::allocator_traits<OuterAlloc>::pointer |
const_pointer
|
std::allocator_traits<OuterAlloc>::const_pointer |
void_pointer
|
std::allocator_traits<OuterAlloc>::void_pointer |
const_void_pointer
|
std::allocator_traits<OuterAlloc>::const_void_pointer |
propagate_on_container_copy_assignment
| |
propagate_on_container_move_assignment
| |
propagate_on_container_swap
| |
rebind
| |
[править] Член функций
| создает новый экземпляр scoped_allocator_adaptor Original: creates a new scoped_allocator_adaptor instance The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (public функция-член) | |
| разрушает scoped_allocator_adaptor экземпляр Original: destructs a scoped_allocator_adaptor instance The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (public функция-член) | |
| получает inner_allocator ссылкиOriginal: obtains an inner_allocator referenceThe text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (public функция-член) | |
| получает outer_allocator ссылкиOriginal: obtains an outer_allocator referenceThe text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (public функция-член) | |
| выделяет неинициализированные хранения с использованием внешнего распределителя Original: allocates uninitialized storage using the outer allocator The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (public функция-член) | |
| выделяет хранения с использованием внешнего распределителя Original: allocates storage using the outer allocator The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (public функция-член) | |
| returns the largest allocation size supported by the outer allocator (public функция-член) | |
| создает объект выделено в хранении, передаче внутренней распределителя в его конструктор, если необходимо Original: constructs an object in allocated storage, passing the inner allocator to its constructor if appropriate The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (public функция-член) | |
| desrtucts объекта выделено хранения Original: desrtucts an object in allocated storage The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (public функция-член) | |
| копирует состояние scoped_allocator_adaptor и все ее распределения Original: copies the state of scoped_allocator_adaptor and all its allocators The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (public функция-член) | |
[править] Не являющиеся членами функций
| Сравнивает два экземпляра scoped_allocator_adaptor Original: compares two scoped_allocator_adaptor instances The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (public функция-член) | |
[править] См. также
| (C++11) |
предоставляет информацию о распределитель типа Original: provides information about allocator types The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (шаблон класса) |
| (C++11) |
проверяет, является ли указанный тип поддерживает использование-распределитель строительства Original: checks if the specified type supports uses-allocator construction The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (шаблон класса) |
| the default allocator (шаблон класса) | |