|
constexpr | logical_negate_ () noexcept(std::is_nothrow_default_constructible< FD >::value) |
|
template<typename T , typename U = meta::if_c<!Same<detail::decay_t<T>, logical_negate_>(), T>, requires = (Constructible<FD, U>())> |
constexpr | logical_negate_ (T &&pred) |
|
template<typename ... Args, requires = (Predicate<FD &, Args...>())> |
auto | operator() (Args &&...args) &noexcept(noexcept(decltype(!invoke(std::declval< FD &>(), static_cast< Args &&>(args)...))(!invoke(std::declval< FD &>(), static_cast< Args &&>(args)...)))) -> decltype(!invoke(std::declval< FD &>(), static_cast< Args &&>(args)...)) |
|
template<typename ... Args, requires = (Predicate<FD const &, Args...>())> |
constexpr auto | operator() (Args &&...args) const &noexcept(noexcept(decltype(!invoke(std::declval< FD const &>(), static_cast< Args &&>(args)...))(!invoke(std::declval< FD const &>(), static_cast< Args &&>(args)...)))) -> decltype(!invoke(std::declval< FD const &>(), static_cast< Args &&>(args)...)) |
|
template<typename ... Args, requires = (Predicate<FD, Args...>())> |
auto | operator() (Args &&...args) &&noexcept(noexcept(decltype(!invoke(std::declval< FD >(), static_cast< Args &&>(args)...))(!invoke(std::declval< FD >(), static_cast< Args &&>(args)...)))) -> decltype(!invoke(std::declval< FD >(), static_cast< Args &&>(args)...)) |
|
template<typename ... Args, requires = (Predicate<FD const, Args...>())> |
auto | operator() (Args &&...args) const &&noexcept(noexcept(decltype(!invoke(std::declval< FD const >(), static_cast< Args &&>(args)...))(!invoke(std::declval< FD const >(), static_cast< Args &&>(args)...)))) -> decltype(!invoke(std::declval< FD const >(), static_cast< Args &&>(args)...)) |
|