Namespaces
Variants

std::basic_stacktrace<Allocator>:: current

From cppreference.net
static basic_stacktrace current ( const allocator_type & alloc =
allocator_type ( ) ) noexcept ;
(1) (seit C++23)
static basic_stacktrace current ( size_type skip, const allocator_type & alloc =
allocator_type ( ) ) noexcept ;
(2) (seit C++23)
static basic_stacktrace current ( size_type skip, size_type max_depth,

const allocator_type & alloc =

allocator_type ( ) ) noexcept ;
(3) (seit C++23)

Sei s [ i ] (0 ≤ i < n ) den ( i +1 )-ten Stacktrace-Eintrag im Stacktrace der aktuellen Auswertung im aktuellen Ausführungsstrang, wobei n die Anzahl der Stacktrace-Einträge im Stackeintrag ist.

1) Versucht, einen basic_stacktrace zu erstellen, bestehend aus s [ 0 ] , s [ 1 ] , ..., s [ n - 1 ] .
2) Versucht, einen basic_stacktrace zu erstellen, bestehend aus s [ m ] , s [ m + 1 ] , ..., s [ n - 1 ] , wobei m gleich min(skip, n ) ist.
3) Versucht, einen basic_stacktrace zu erstellen, bestehend aus s [ m ] , s [ m + 1 ] , ..., s [ o - 1 ] , wobei m gleich min(skip, n ) und o gleich min(skip + max_depth, n ) ist. Das Verhalten ist undefiniert, wenn skip + max_depth < skip (d.h. wenn das mathematische Ergebnis von skip + max_depth einen Überlauf verursacht).

In allen Fällen wird alloc in der erstellten basic_stacktrace gespeichert und zur Allokation des Speichers für Stacktrace-Einträge verwendet.

Inhaltsverzeichnis

Parameter

alloc - Allokator, der für alle Speicherallokationen des konstruierten basic_stacktrace verwendet wird
skip - die Anzahl der zu überspringenden Stacktrace-Einträge
max_depth - die maximale Tiefe der Stacktrace-Einträge

Rückgabewert

Wenn die Allokation erfolgreich ist, die basic_stacktrace wie oben beschrieben.

Andernfalls ein leerer basic_stacktrace .

Beispiel

Siehe auch

erstellt einen neuen basic_stacktrace
(öffentliche Elementfunktion)
[static]
erstellt einen neuen source_location entsprechend der Position des Aufruforts
(öffentliche statische Elementfunktion von std::source_location )