constexpr auto operator()

in fatal/functional/functional.h [474:487]


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