diff --git a/reference/optional/optional/and_then.md b/reference/optional/optional/and_then.md index f84da9910b..bb30148d8f 100644 --- a/reference/optional/optional/and_then.md +++ b/reference/optional/optional/and_then.md @@ -22,8 +22,8 @@ template constexpr auto and_then(F&& f) const&&; // (4) ```cpp template class optional { - template - std::optional and_then(function(T)> func); + template + std::optional and_then(function(T)> func); }; ``` * function[link /reference/functional/function.md] @@ -33,7 +33,7 @@ class optional { 説明用の`U`型を次の通りとする: - (1), (3) : [`invoke_result_t`](/reference/type_traits/invoke_result.md)`` -- (2), (4) : [`invoke_result_t`](/reference/type_traits/invoke_result.md)`` +- (2), (4) : [`invoke_result_t`](/reference/type_traits/invoke_result.md)`` [`remove_cvref_t`](/reference/type_traits/remove_cvref.md)``は`optional`の特殊化であること diff --git a/reference/optional/optional/transform.md b/reference/optional/optional/transform.md index 0bbc9e62f6..b6206e0711 100644 --- a/reference/optional/optional/transform.md +++ b/reference/optional/optional/transform.md @@ -32,21 +32,21 @@ class optional { 説明用の`U`型を次の通りとする: - (1), (3) : [`invoke_result_t`](/reference/type_traits/invoke_result.md)`` -- (2), (4) : [`invoke_result_t`](/reference/type_traits/invoke_result.md)`` +- (2), (4) : [`invoke_result_t`](/reference/type_traits/invoke_result.md)`` ## 適格要件 - (1), (3) : - - `U`型は[`in_place_t`](/reference/utility/in_place_t.md), [`nullopt_t`](nullopt_t.md)いずれでもなく、非配列オブジェクト型であること。 + - `U`型は[`in_place_t`](/reference/utility/in_place_t.md), [`nullopt_t`](../nullopt_t.md)いずれでもなく、非配列オブジェクト型であること。 - ある変数`u`の宣言 `U u(`[`invoke`](/reference/functional/invoke.md)`(`[`std::forward`](/reference/utility/forward.md)`(f),` [`value()`](value.md)`));` が妥当であること。 - (2), (4) : - - `U`型は[`in_place_t`](/reference/utility/in_place_t.md), [`nullopt_t`](nullopt_t.md)いずれでもなく、非配列オブジェクト型であること。 - - ある変数`u`の宣言 `U u(`[`invoke`](/reference/functional/invoke.md)`(`[`std::forward`](/reference/utility/forward.md)`(f),` [`std​::​move`](/reference/utility/move.md)`(`[`value()`](value.md)`)));` が妥当であること。 + - `U`型は[`in_place_t`](/reference/utility/in_place_t.md), [`nullopt_t`](../nullopt_t.md)いずれでもなく、非配列オブジェクト型であること。 + - ある変数`u`の宣言 `U u(`[`invoke`](/reference/functional/invoke.md)`(`[`std::forward`](/reference/utility/forward.md)`(f),` [`std::move`](/reference/utility/move.md)`(`[`value()`](value.md)`)));` が妥当であること。 ## 効果 - (1), (3) : `*this`が有効値を保持するときは、[`invoke`](/reference/functional/invoke.md)`(`[`std::forward`](/reference/utility/forward.md)`(f),` [`value()`](value.md)`)`で非リスト初期化した`optional`オブジェクトを返す。有効値を保持しないときは、`optional()`を返す。 -- (2), (4) : `*this`が有効値を保持するときは、[`invoke`](/reference/functional/invoke.md)`(`[`std::forward`](/reference/utility/forward.md)`(f),` [`std​::​move`](/reference/utility/move.md)`(`[`value()`](value.md)`))`で非リスト初期化した`optional`オブジェクトを返す。有効値を保持しないときは、`optional()`を返す。 +- (2), (4) : `*this`が有効値を保持するときは、[`invoke`](/reference/functional/invoke.md)`(`[`std::forward`](/reference/utility/forward.md)`(f),` [`std::move`](/reference/utility/move.md)`(`[`value()`](value.md)`))`で非リスト初期化した`optional`オブジェクトを返す。有効値を保持しないときは、`optional()`を返す。 ## 備考