std::basic_stacktrace<Allocator>:: basic_stacktrace
From ja.cppreference.net
<
cpp
|
utility
|
basic stacktrace
|
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
を構築する可能性があります。
目次パラメータ
例外
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))の後、もともと 例
関連項目
|