File tree Expand file tree Collapse file tree 1 file changed +15
-1
lines changed Expand file tree Collapse file tree 1 file changed +15
-1
lines changed Original file line number Diff line number Diff line change @@ -50,8 +50,22 @@ public:
5050
5151inline constexpr user_defined_closure_t user_defined;
5252```
53+ * std::ranges::range_adaptor_closure[color ff0000]
54+ * std::ranges::viewable_range[link viewable_range.md]
55+
56+ パイプライン記法をサポートする方法は規定されていないが、一般には処理系がRangeと`range_adaptor_closure`を引数とする以下のような`operator|`を定義することで行われると考えられる。
5357
54- パイプライン記法をサポートする方法は規定されていないが、一般には処理系がRangeと`range_adaptor_closure`を引数とする`operator|`を定義することで行われる。
58+ ```cpp
59+ template<std::ranges::viewable_range R, class T>
60+ requires std::derived_from<T, std::ranges::range_adaptor_closure<T>> && std::invocable<T, R>
61+ constexpr auto operator| (R&& r, T&& raco) {
62+ return raco(std::forward<R>(r));
63+ }
64+ ```
65+ * std::ranges::range_adaptor_closure[color ff0000]
66+ * std::ranges::viewable_range[link viewable_range.md]
67+ * std::invocable[link /reference/concepts/invocable.md]
68+ * std::derived_from[link /reference/concepts/derived_from.md]
5569
5670## 例
5771```cpp example
You can’t perform that action at this time.
0 commit comments