Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::v3::logical_negate_< FD > Struct Template Reference

Public Member Functions

constexpr logical_negate_ () noexcept(std::is_nothrow_default_constructible< FD >::value)
 
template<typename T , requires = (Constructible<FD, function_type<T>>())>
constexpr logical_negate_ (T &&pred)
 
template<typename... Args, requires = (Predicate<FD &, Args &&...>())>
auto operator() (Args &&...args)&noexcept(noexcept(decltype(!std::declval< FD & >()(static_cast< Args && >(args)...))(!std::declval< FD & >()(static_cast< Args && >(args)...)))) -> decltype(!std::declval< FD & >()(static_cast< Args && >(args)...))
 
template<typename... Args, requires = (Predicate<FD const &, Args &&...>())>
constexpr auto operator() (Args &&...args) const &noexcept(noexcept(decltype(!std::declval< FD const & >()(static_cast< Args && >(args)...))(!std::declval< FD const & >()(static_cast< Args && >(args)...)))) -> decltype(!std::declval< FD const & >()(static_cast< Args && >(args)...))
 
template<typename... Args, requires = (Predicate<FD &&, Args &&...>())>
auto operator() (Args &&...args)&&noexcept(noexcept(decltype(!std::declval< FD >()(static_cast< Args && >(args)...))(!std::declval< FD >()(static_cast< Args && >(args)...)))) -> decltype(!std::declval< FD >()(static_cast< Args && >(args)...))
 
template<typename... Args, requires = (Predicate<FD const &&, Args &&...>())>
auto operator() (Args &&...args) const &&noexcept(noexcept(decltype(!std::declval< FD const >()(static_cast< Args && >(args)...))(!std::declval< FD const >()(static_cast< Args && >(args)...)))) -> decltype(!std::declval< FD const >()(static_cast< Args && >(args)...))
 

Member Function Documentation

template<typename FD >
template<typename... Args, requires = (Predicate<FD const &, Args &&...>())>
constexpr auto ranges::v3::logical_negate_< FD >::operator() ( Args &&...  args) const -> decltype( !std::declval<FD const &>()(static_cast<Args &&>(args)...) )
noexcept

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<typename FD >
template<typename... Args, requires = (Predicate<FD &&, Args &&...>())>
auto ranges::v3::logical_negate_< FD >::operator() ( Args &&...  args) -> decltype( !std::declval<FD>()(static_cast<Args &&>(args)...) )
noexcept

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<typename FD >
template<typename... Args, requires = (Predicate<FD const &&, Args &&...>())>
auto ranges::v3::logical_negate_< FD >::operator() ( Args &&...  args) const -> decltype( !std::declval<FD const>()(static_cast<Args &&>(args)...) )
noexcept

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Constructor & Destructor Documentation

template<typename FD >
constexpr ranges::v3::logical_negate_< FD >::logical_negate_ ( )
noexcept
Precondition
DefaultConstructible<FD>()