22<feed xmlns =" http://www.w3.org/2005/Atom" >
33 <title >cpprefjp - C++日本語リファレンス</title >
44 <link href =" https://cpprefjp.github.io" />
5- <updated >2025-12-20T14:43:58.644510 </updated >
6- <id >e27d1cea-65ba-4492-8e98-6ebeddb845d6 </id >
5+ <updated >2025-12-21T10:15:03.641028 </updated >
6+ <id >02db26bc-fcfd-4bf1-bd1c-dcdd421ce5f3 </id >
77
88
9+ <entry >
10+ <title >invocable -- regular_invocable: 意味論要件について追加と調整</title >
11+ <link href =" https://cpprefjp.github.io/reference/concepts/invocable.html" />
12+ <id >baadf1ba8cbbf82fc7ece96596d119e0949b6b96:reference/concepts/invocable.md</id >
13+ <updated >2025-12-21T19:10:56+09:00</updated >
14+
15+ <summary type =" html" >< pre>< code> diff --git a/reference/concepts/invocable.md b/reference/concepts/invocable.md
16+ index a19bbae04..7fa1ed181 100644
17+ --- a/reference/concepts/invocable.md
18+ +++ b/reference/concepts/invocable.md
19+ @@ -21,11 +21,13 @@ namespace std {
20+
21+ `invocable`及び`regular_invocable`は、任意の関数呼び出し可能な型`F`が引数`Args...`によって関数呼び出し可能であることを表すコンセプトである。
22+
23+ +加えて、`regular_invocable`はその呼び出しが等しさを保持し、なおかつ関数オブジェクト(`F`のオブジェクト)も引数(`Args`オブジェクト)も変更しないものである必要がある。
24+ +
25+ ## 等しさの保持
26+
27+ `invocable`コンセプトでは`F`の`Args...`による関数呼び出しが[等しさを保持](/reference/concepts.md)することを要求しない。従って、`invocable`コンセプトのモデルとなる型`F, Args...`は関数呼び出しに際して副作用があっても良く、その出力が内部状態や外部状態に依存していても構わない。
28+
29+ -対して、`regular_invocable`コンセプトのモデルとなる`F`の`Args...`による関数呼び出しには[等しさを保持](/reference/concepts.md)することが要求される。従って、`regular_invocable`コンセプトのモデルとなる型`F, Args...`は関数呼び出しに際して副作用を持ってはならず、出力は何かしらの状態に依存してはならない。ただし、このことは構文的に(コンパイル時に)チェックされるものではなく、純粋に意味論的な制約として要求・表明される。
30+ +対して、`regular_invocable`コンセプトのモデルとなる`F`の`Args...`による関数呼び出しには[等しさを保持](/reference/concepts.md)することと引数を変更しないことが要求される。従って、`regular_invocable`コンセプトのモデルとなる型`F, Args...`は関数呼び出しに際して副作用を持ってはならず、出力は何かしらの状態に依存してはならない。ただし、このことは構文的に(コンパイル時に)チェックされるものではなく、純粋に意味論的な制約として要求・表明される。
31+
32+ 例えば、[乱数・分布生成器](/reference/random.md)はその呼び出しに際して等しさを保持しない(内部に状態を保ち、出力はそれに依存する)ため、`regular_invocable`コンセプトのモデルにはならないが`invocable`コンセプトのモデルとなる。
33+
34+ < /code>< /pre> </summary >
35+
36+ <author >
37+ <name >onihusube</name >
38+ <email >44743040+onihusube@users.noreply.github.com</email >
39+ </author >
40+ </entry >
41+
942 <entry >
1043 <title >契約プログラミング [P2900R14] -- reference / lang : ですます調を、である調に修正</title >
1144 <link href =" https://cpprefjp.github.io/lang/cpp26/contracts.html" />
@@ -962,31 +995,4 @@ index f2edde4bc..b839bc566 100644
962995 </author >
963996 </entry >
964997
965- <entry >
966- <title >minmax_element -- fix typo in `reference/algorithm/minmax_element.md`</title >
967- <link href =" https://cpprefjp.github.io/reference/algorithm/minmax_element.html" />
968- <id >801c37f8708c6054ffe49561e7f02968abadc433:reference/algorithm/minmax_element.md</id >
969- <updated >2025-12-05T03:13:26+09:00</updated >
970-
971- <summary type =" html" >< pre>< code> diff --git a/reference/algorithm/minmax_element.md b/reference/algorithm/minmax_element.md
972- index f2edde4bc..b839bc566 100644
973- --- a/reference/algorithm/minmax_element.md
974- +++ b/reference/algorithm/minmax_element.md
975- @@ -109,7 +109,7 @@ minmax_element(ForwardIterator first, ForwardIterator last, Compare comp)
976- ForwardIterator prev = first;
977-
978- // 残りの要素が 1 個しか無かったら、.first と .second の両方の要素と比較して、
979- - // 必要に応じで結果を更新後、ループを抜ける
980- + // 必要に応じて結果を更新後、ループを抜ける
981- if (++first == last) {
982- if (comp(*prev, *result.first))
983- result.first = prev;
984- < /code>< /pre> </summary >
985-
986- <author >
987- <name >Ryoga</name >
988- <email >49950206+Ryoga-exe@users.noreply.github.com</email >
989- </author >
990- </entry >
991-
992998</feed >
0 commit comments