Namespaces
Variants

std::basic_stacktrace<Allocator>:: basic_stacktrace

From cppreference.net
basic_stacktrace ( ) noexcept ( /* see below */ ) ;
(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) alloc をアロケータとして使用して、空の basic_stacktrace を構築します。
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 を構築する可能性があります。

目次

パラメータ

alloc - 構築される basic_stacktrace の全メモリ割り当てに使用するアロケータ
other - コピー/ムーブ元となる別の basic_stacktrace

例外

1)
noexcept 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 ) )、 other への参照、ポインタ、およびイテレータ(終端イテレータを除く)は有効なままですが、現在は * this 内の要素を参照します。現在の標準規格は [container.reqmts]/67 の包括的な記述によってこの保証を行っており、より直接的な保証は LWG issue 2321 を通じて検討中です。

関連項目

basic_stacktrace を代入する
(公開メンバ関数)
[static]
現在のスタックトレースまたはその指定部分を取得する
(公開静的メンバ関数)