explicit inout_ptr_t(Smart& smart, Args... args); // (1)
inout_ptr_t(const inout_ptr_t&) = delete; // (2)
概要
- (1) :
inout_ptr_t
オブジェクトの構築。 - (2) : コピーコンストラクタ。コピー不可。
効果
(1) : inout_ptr_t
クラスの説明用メンバ変数s
, a
, p
を下記の通り初期化する。
Smart&
型メンバ変数s
:smart
tuple<Args...>
型メンバ変数a
:std::forward<Args>(args)...
Pointer
型メンバp
:is_pointer_v<Smart>
がtrue
ならば、smart
- そうでなければ、
smart.get()
備考
実装によってはs.release()
を呼び出すかもしれない。
コンストラクタでrelease
メンバ関数を呼び出さない場合は、デストラクタにて呼び出される。
バージョン
言語
- C++23
処理系
- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??