From 731e1ea31aaf0eb0022d342263e3d4b8c359e55a Mon Sep 17 00:00:00 2001 From: yoh Date: Tue, 24 Jan 2023 00:32:28 +0900 Subject: [PATCH] =?UTF-8?q?memory/(in)out=5Fptr=5Ft:=20=E7=89=B9=E6=AE=8A?= =?UTF-8?q?=E5=8C=96=E5=8F=AF=E8=83=BD=E3=81=AA=E3=81=93=E3=81=A8=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E8=A8=98(#1050)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reference/memory/inout_ptr_t.md | 5 ++++- reference/memory/out_ptr_t.md | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/reference/memory/inout_ptr_t.md b/reference/memory/inout_ptr_t.md index 4dffa9e67d..1dc0927b3f 100644 --- a/reference/memory/inout_ptr_t.md +++ b/reference/memory/inout_ptr_t.md @@ -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つ以上のプログラム定義型に依存していれば、プライマリテンプレートにおける要件を満たす必要はない。 ## テンプレートパラメータ制約 diff --git a/reference/memory/out_ptr_t.md b/reference/memory/out_ptr_t.md index 5a2dee0b09..6e0994a0c9 100644 --- a/reference/memory/out_ptr_t.md +++ b/reference/memory/out_ptr_t.md @@ -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要件を満たすこと