std::basic_stacktrace<Allocator>:: basic_stacktrace
From ru.cppreference.net
<
cpp
|
utility
|
basic stacktrace
|
basic_stacktrace
(
)
noexcept
(
/* см. ниже */
)
;
|
(1) | (начиная с C++23) |
|
explicit
basic_stacktrace
(
const
allocator_type
&
alloc
)
noexcept
;
|
(2) | (начиная с C++23) |
|
basic_stacktrace
(
const
basic_stacktrace
&
other
)
;
|
(3) | (начиная с C++23) |
|
basic_stacktrace
(
basic_stacktrace
&&
other
)
noexcept
;
|
(4) | (начиная с C++23) |
|
basic_stacktrace
(
const
basic_stacktrace
&
other,
const allocator_type & alloc ) ; |
(5) | (начиная с C++23) |
|
basic_stacktrace
(
basic_stacktrace
&&
other,
const
allocator_type
&
alloc
)
;
|
(6) | (начиная с C++23) |
Создает пустой
basic_stacktrace
, или копирует/перемещает из
other
.
1)
Конструктор по умолчанию. Создает пустой
basic_stacktrace
с аллокатором, созданным конструктором по умолчанию.
2)
Создает пустой
basic_stacktrace
используя
alloc
в качестве аллокатора.
3)
Конструктор копирования. Создает
basic_stacktrace
с копией содержимого
other
, аллокатор получается как при вызове
std::
allocator_traits
<
allocator_type
>
::
select_on_container_copy_construction
(
other.
get_allocator
(
)
)
.
4)
Конструктор перемещения. Создает
basic_stacktrace
с содержимым
other
используя семантику перемещения. Аллокатор перемещается из аллокатора
other
. После конструирования
other
остается в валидном, но неопределенном состоянии.
5)
То же, что и конструктор копирования, за исключением того, что
alloc
используется в качестве аллокатора.
6)
Ведет себя так же, как конструктор перемещения, если
alloc
==
other.
get_allocator
(
)
. В противном случае выделяет память с помощью
alloc
и выполняет поэлементное перемещение.
alloc
используется в качестве аллокатора.
(3,5,6)
может выбросить исключение или создать пустой
basic_stacktrace
при ошибке выделения памяти.
СодержаниеПараметры
Исключения
1)
noexcept
спецификация:
noexcept
(
std::
is_nothrow_default_constructible_v
<
allocator_type
>
)
3,5,6)
Может распространять исключение, вызванное при неудачном выделении памяти.
Сложность
1,2)
Константа.
3)
Линейный по размеру
other
.
4)
Константа.
5)
Линейно по размеру
other
.
6)
Линейный по размеру
other
если
alloc
!
=
other.
get_allocator
(
)
, иначе константный.
ПримечанияПосле перемещения контейнера через конструктор (перегрузка (4)), ссылки, указатели и итераторы, которые изначально ссылались на элементы в Пример
Смотрите также
|