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
.
other
. Если равно false и аллокатор *this и other
не равны, *this не может стать владельцем принадлежащей other
памяти и должен присваивать каждую запись отдельно, выделяя дополнительную память, используя свой собственный аллокатор по мере необходимости.В любом случае записи трассировки стека, изначально принадлежащие *this, могут быть либо уничтожены, либо заменены поэлементным присваиванием.
*this при сбое выделения может остаться пустым, если реализация усиливает спецификацию исключений.
Содержание |
[править] Параметры
other | — | другой basic_stacktrace для использования в качестве источника
|
[править] Возвращаемое значение
*this
[править] Сложность
[править] Исключения
|| std::allocator_traits<Allocator>::is_always_equal::value)
[править] Примечание
После перемещения присваиванием контейнера (перегрузка (2)), если только поэлементное присваивание перемещением не принудительно выполняется несовместимыми аллокаторами, ссылки, указатели и итераторы (кроме конечного итератора) на other
остаются действительными, но ссылаются на элементы которые сейчас находятся в *this. Текущий стандарт делает эту гарантию с помощью общего заявления в [container.reqmts]/67, и более прямая гарантия находится на рассмотрении через LWG проблема 2321.
[править] Пример
Этот раздел не завершён Причина: нет примера |
[править] Смотрите также
создаёт новый basic_stacktrace (public функция-элемент) |