Skip to content

Commit

Permalink
memory/(in)out_ptr_t: 特殊化可能なことを追記(#1050)
Browse files Browse the repository at this point in the history
  • Loading branch information
yohhoy committed Jan 23, 2023
1 parent 93bd53e commit 731e1ea
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 1 deletion.
5 changes: 4 additions & 1 deletion reference/memory/inout_ptr_t.md
Expand Up @@ -15,7 +15,10 @@ namespace std {
2重ポインタ`T**`(=`Pointer*`)引数経由で既存リソースを解放してから新規確保リソースへのポインタを返すレガシーC関数に対して、取得されたポインタ値をスマートポインタに格納するアダプタクラス。
アダプタオブジェクトの生成には、[`std::inout_ptr()`](inout_ptr.md)ヘルパ関数を利用する。
C++標準スマートポインタ[`std::unique_ptr`](unique_ptr.md)を始め、互換インタフェースをもつ任意のスマートポインタ型`Smart`を取り扱える。
リソース占有管理セマンティクスを提供するC++標準スマートポインタ[`std::unique_ptr`](unique_ptr.md)を始め、互換インタフェースをもつ任意のスマートポインタ型`Smart`を取り扱える。
プログラマは`inout_ptr_t`クラステンプレートの特殊化を定義してもよい。
このとき1つ以上のプログラム定義型に依存していれば、プライマリテンプレートにおける要件を満たす必要はない。
## テンプレートパラメータ制約
Expand Down
3 changes: 3 additions & 0 deletions reference/memory/out_ptr_t.md
Expand Up @@ -17,6 +17,9 @@ namespace std {
C++標準スマートポインタ[`std::shared_ptr`](shared_ptr.md)や[`std::unique_ptr`](unique_ptr.md)を始め、互換インタフェースをもつ任意のスマートポインタ型`Smart`を取り扱える。
プログラマは`out_ptr_t`クラステンプレートの特殊化を定義してもよい。
このとき1つ以上のプログラム定義型に依存していれば、プライマリテンプレートにおける要件を満たす必要はない。
## テンプレートパラメータ制約
`Pointer`はCpp17NullablePointer要件を満たすこと
Expand Down

0 comments on commit 731e1ea

Please sign in to comment.