Namespaces
Variants

std::basic_stacktrace<Allocator>:: basic_stacktrace

From cppreference.net
basic_stacktrace ( ) noexcept ( /* siehe unten */ ) ;
(1) (seit C++23)
explicit basic_stacktrace ( const allocator_type & alloc ) noexcept ;
(2) (seit C++23)
basic_stacktrace ( const basic_stacktrace & other ) ;
(3) (seit C++23)
basic_stacktrace ( basic_stacktrace && other ) noexcept ;
(4) (seit C++23)
basic_stacktrace ( const basic_stacktrace & other,
const allocator_type & alloc ) ;
(5) (seit C++23)
basic_stacktrace ( basic_stacktrace && other, const allocator_type & alloc ) ;
(6) (seit C++23)

Konstruiert einen leeren basic_stacktrace , oder kopiert/verschiebt von other .

1) Standardkonstruktor. Konstruiert einen leeren basic_stacktrace mit einem standardkonstruierten Allokator.
2) Konstruiert einen leeren basic_stacktrace unter Verwendung von alloc als Allokator.
3) Kopierkonstruktor. Konstruiert einen basic_stacktrace mit einer Kopie der Inhalte von other , der Allokator wird so erhalten, als ob man std:: allocator_traits < allocator_type > :: select_on_container_copy_construction ( other. get_allocator ( ) ) aufrufen würde.
4) Move-Konstruktor. Konstruiert einen basic_stacktrace mit den Inhalten von other unter Verwendung von Move-Semantik. Der Allokator wird von dem von other move-konstruiert. Nach der Konstruktion befindet sich other in einem gültigen, aber unspezifizierten Zustand.
5) Gleich wie der Kopierkonstruktor, außer dass alloc als Allokator verwendet wird.
6) Verhält sich wie der Move-Konstruktor, falls alloc == other. get_allocator ( ) . Andernfalls wird Speicher mit alloc allokiert und elementweises Verschieben durchgeführt. alloc wird als Allokator verwendet.

(3,5,6) kann eine Ausnahme werfen oder bei Allokationsfehlern einen leeren basic_stacktrace konstruieren.

Inhaltsverzeichnis

Parameter

alloc - Allokator, der für alle Speicherallokationen des konstruierten basic_stacktrace verwendet wird
other - ein anderer basic_stacktrace , von dem kopiert/bewogen wird

Exceptions

1)
noexcept Spezifikation:
noexcept ( std:: is_nothrow_default_constructible_v < allocator_type > )
3,5,6) Kann die bei Allokationsfehlern ausgelöste Exception weiterleiten.

Komplexität

1,2) Konstant.
3) Linear in der Größe von other .
4) Konstante.
5) Linear in der Größe von other .
6) Linear in der Größe von other wenn alloc ! = other. get_allocator ( ) , andernfalls konstant.

Hinweise

Nach Container-Verschiebekonstruktion (Überladung ( 4 ) ) bleiben Referenzen, Zeiger und Iteratoren (außer dem End-Iterator) auf other gültig, verweisen jedoch auf Elemente, die sich nun in * this befinden. Der aktuelle Standard gibt diese Garantie über die pauschale Aussage in [container.reqmts]/67 , und eine direktere Garantie wird via LWG issue 2321 geprüft.

Beispiel

Siehe auch

weist dem basic_stacktrace zu
(öffentliche Elementfunktion)
[static]
erhält den aktuellen Stacktrace oder seinen angegebenen Teil
(öffentliche statische Elementfunktion)