std::scoped_allocator_adaptor<OuterAlloc,InnerAlloc...>:: outermost , outermost-construct , outermost-destroy
From cppreference.net
<
cpp
|
memory
|
scoped allocator adaptor
C++
Memory management library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::scoped_allocator_adaptor
| Member functions | ||||
|
scoped_allocator_adaptor::outermost
scoped_allocator_adaptor::outermost-construct scoped_allocator_adaptor::outermost-destroy |
||||
| Non-member functions | ||||
|
(until C++20)
|
||||
| Deduction guides (C++17) |
|
template
<
class
Alloc
>
/* unspecified */ /*outermost*/ ( Alloc && alloc = * this ) ; |
(1) | ( только для демонстрации* ) |
|
template
<
class
T,
class
...
Args
>
void /*outermost-construct*/ ( T * p, Args && ... args ) ; |
(2) | ( только для демонстрации* ) |
|
template
<
class
T
>
void /*outermost-destroy*/ ( T * p ) ; |
(3) | ( только для демонстрации* ) |
Эти вспомогательные шаблоны функций-членов только для экспозиции используются в функциях-членах
construct()
и
destroy()
.
1)
Получает внешний аллокатор для
alloc
.
-
Если выражение
alloc.
outer_allocator
(
)
корректно, возвращает
outermost ( alloc. outer_allocator ( ) ) . - Иначе возвращает alloc .
2,3)
Создает или уничтожает объект, используя внешний аллокатор
*
this
.
Для типа
std::
allocator_traits
<
std::
remove_reference_t
<
decltype
(
outermost
(
)
)
>>
как
outermost_traits
:
2)
Эквивалентно
outermost_traits
::
construct
(
outermost
(
)
, p,
std::
forward
<
Args
>
(
args
)
...
)
;
.
3)
Эквивалентно
outermost_traits
::
destroy
(
outermost
(
)
, p
)
;
.
Отчеты о дефектах
Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Применяется к | Поведение в опубликованной версии | Корректное поведение |
|---|---|---|---|
| LWG 3116 | C++11 |
условие рекурсии для
outermost
было "
alloc
имеет функцию-член
outer_allocator()
"
|
изменено на "выражение
alloc. outer_allocator ( ) является валидным" |
Смотрите также
|
[static]
|
создает объект в выделенной памяти
(шаблон функции) |
|
[static]
|
уничтожает объект, хранящийся в выделенной памяти
(шаблон функции) |