Пространства имён
Варианты
Действия

std::scoped_allocator_adaptor

Материал из cppreference.com
< cpp‎ | memory

 
 
Динамическое управление памятью
Низкоуровневое управление памятью
Аллокаторы
allocator
allocator_traits(C++11)
allocator_arg_t(C++11)
allocator_arg(C++11)
uses_allocator(C++11)
scoped_allocator_adaptor(C++11)
Неинициализированные хранилища
uninitialized_copy
uninitialized_copy_n(C++11)
uninitialized_fill
uninitialized_fill_n
raw_storage_iterator
get_temporary_buffer
return_temporary_buffer
Умные указатели
unique_ptr(C++11)
shared_ptr(C++11)
weak_ptr(C++11)
auto_ptr(устарело)
owner_less(C++11)
enable_shared_from_this(C++11)
bad_weak_ptr(C++11)
default_delete(C++11)
Поддержка сборки мусора
declare_reachable(C++11)
undeclare_reachable(C++11)
declare_no_pointers(C++11)
undeclare_no_pointers(C++11)
pointer_safety(C++11)
get_pointer_safety(C++11)
Разное
pointer_traits(C++11)
addressof(C++11)
align(C++11)
Библиотека C
 
 
Определено в заголовочном файле <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 выделить его элементы, но если элемент сам по себе является контейнером, он использует первый внутренний распределитель. Элементы этого контейнера, если они сами контейнеры, используйте второй внутренний распределитель, и т.д. Если есть больше уровней в контейнере, чем есть внутренние распределители, последний внутренний распределитель повторно используется для всех последующих вложенных контейнеров.
Оригинал:
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.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Для scoped_allocator_adaptor, если следующий внутренний распределитель является A, любой класс T, для которых std::uses_allocator<T,A>::value == true участвует в рекурсию, как если бы это был контейнер. Кроме того, std::pair рассматривается как такой контейнер конкретных перегрузок scoped_allocator_adaptor::construct.
Оригинал:
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.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Типичная реализация содержит экземпляр std::scoped_allocator_adaptor<InnerAllocs...> в качестве члена объекта.
Оригинал:
Typical implementation holds an instance of a std::scoped_allocator_adaptor<InnerAllocs...> as a member object.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

Содержание

[править] Типы-члены

Тип 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
std::true_type if std::allocator_traits<A>::propagate_on_container_copy_assignment::value is true for at least one allocator A among OuterAlloc and InnerAlloc...
propagate_on_container_move_assignment
std::true_type if std::allocator_traits<A>::propagate_on_container_move_assignment::value is true for at least one allocator A among OuterAlloc and InnerAlloc...
propagate_on_container_swap
std::true_type if std::allocator_traits<A>::propagate_on_container_swap::value is true for at least one allocator A among OuterAlloc and InnerAlloc...
rebind
template< class T >
struct rebind {
    typedef scoped_allocator_adaptor<
        std::allocator_traits<OuterAlloc>::template rebind_alloc<T>,
        InnerAllocs...
    > other;
};

[править] Функции-члены

создает новый экземпляр scoped_allocator_adaptor
Оригинал:
creates a new scoped_allocator_adaptor instance
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]
разрушает scoped_allocator_adaptor экземпляр
Оригинал:
destructs a scoped_allocator_adaptor instance
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]
получает inner_allocator ссылки
Оригинал:
obtains an inner_allocator reference
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]
получает outer_allocator ссылки
Оригинал:
obtains an outer_allocator reference
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]
выделяет неинициализированные хранения с использованием внешнего распределителя
Оригинал:
allocates uninitialized storage using the outer allocator
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]
выделяет хранения с использованием внешнего распределителя
Оригинал:
allocates storage using the outer allocator
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]
returns the largest allocation size supported by the outer allocator
(public функция-член) [edit]
создает объект выделено в хранении, передаче внутренней распределителя в его конструктор, если необходимо
Оригинал:
constructs an object in allocated storage, passing the inner allocator to its constructor if appropriate
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]
desrtucts объекта выделено хранения
Оригинал:
desrtucts an object in allocated storage
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]
копирует состояние scoped_allocator_adaptor и все ее распределения
Оригинал:
copies the state of scoped_allocator_adaptor and all its allocators
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]

[править] Функции, не являющиеся членами

Сравнивает два экземпляра scoped_allocator_adaptor
Оригинал:
compares two scoped_allocator_adaptor instances
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]

[править] См. также

предоставляет информацию о распределитель типа
Оригинал:
provides information about allocator types
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
проверяет, является ли указанный тип поддерживает использование-распределитель строительства
Оригинал:
checks if the specified type supports uses-allocator construction
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
the default allocator
(шаблон класса) [edit]