- memory[meta header]
- std[meta namespace]
- inout_ptr_t[meta class]
- function[meta id-type]
- cpp23[meta cpp]
explicit
inout_ptr_t(Smart& smart, Args... args); // (1) C++23
constexpr explicit
inout_ptr_t(Smart& smart, Args... args); // (1) C++26
inout_ptr_t(const inout_ptr_t&) = delete; // (2) C++23- (1) :
inout_ptr_tオブジェクトの構築。 - (2) : コピーコンストラクタ。コピー不可。
(1) : inout_ptr_tクラスの説明用メンバ変数s, a, pを下記の通り初期化する。
Smart&型メンバ変数s:smarttuple<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++: ??