| 537 | |
| 538 | template <typename Unary, typename Pattern> |
| 539 | class App |
| 540 | { |
| 541 | public: |
| 542 | constexpr App(Unary &&unary, Pattern const &pattern) |
| 543 | : mUnary{std::forward<Unary>(unary)}, mPattern{pattern} {} |
| 544 | constexpr auto const &unary() const { return mUnary; } |
| 545 | constexpr auto const &pattern() const { return mPattern; } |
| 546 | |
| 547 | private: |
| 548 | Unary const mUnary; |
| 549 | InternalPatternT<Pattern> const mPattern; |
| 550 | }; |
| 551 | |
| 552 | template <typename Unary, typename Pattern> |
| 553 | constexpr auto app(Unary &&unary, Pattern const &pattern) |