std::basic_stacktrace<Allocator>:: operator=
|
basic_stacktrace
&
operator
=
(
const
basic_stacktrace
&
other
)
;
|
(1) | (начиная с C++23) |
|
basic_stacktrace
&
operator
=
(
basic_stacktrace
&&
other
)
noexcept ( /* см. ниже */ ) ; |
(2) | (начиная с C++23) |
Заменяет содержимое
basic_stacktrace
.
В любом случае, записи трассировки стека, изначально принадлежащие * this могут быть либо уничтожены, либо заменены поэлементным присваиванием.
* this может быть установлен в пустое значение при ошибке выделения памяти, если реализация усиливает спецификацию исключений.
СодержаниеПараметры
Возвращаемое значение* this Сложность
1)
Линейно по размеру
*
this
и
other
.
2)
Линейно по размеру
*
this
за исключением случаев, когда аллокаторы не сравниваются как равные и не распространяются, в этом случае линейно по размеру
*
this
и
other
.
Исключения
1)
Может вызывать исключения, определяемые реализацией.
2)
noexcept
спецификация:
noexcept
(
std::
allocator_traits
<
Allocator
>
::
propagate_on_container_move_assignment
::
value
|| std:: allocator_traits < Allocator > :: is_always_equal :: value ) ПримечанияПосле перемещения контейнера с помощью присваивания (перегрузка (2)), если постатейное перемещающее присваивание не было принудительно выполнено из-за несовместимости аллокаторов, ссылки, указатели и итераторы, которые изначально ссылались на элементы в Пример
Смотрите также
|