constexpr auto operator()

in fatal/functional/functional.h [439:452]


  constexpr auto operator ()(LHS &&lhs, Args &&...args) const
    noexcept(
      noexcept(
        std::forward<LHS>(lhs)
          && std::declval<logical_and const &>()(std::forward<Args>(args)...)
      )
    )
    -> decltype(
      std::forward<LHS>(lhs)
        && std::declval<logical_and const &>()(std::forward<Args>(args)...)
    )
  {
    return std::forward<LHS>(lhs) && (*this)(std::forward<Args>(args)...);
  }