Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
Public Member Functions | Friends
ext::any_of< T > Class Template Reference

#include <dry-comparisons.hpp>

Inheritance diagram for ext::any_of< T >:
[legend]
Collaboration diagram for ext::any_of< T >:
[legend]

Public Member Functions

template<typename U >
constexpr auto operator== (const U &u) const noexcept(noexcept(((std::declval< const T & >()==u)||...))) -> decltype(((std::declval< const T & >()==u)||...))
 
template<typename U >
constexpr auto operator!= (const U &u) const noexcept(noexcept(((std::declval< const T & >() !=u) &&...))) -> decltype(((std::declval< const T & >() !=u) &&...))
 
template<typename U >
constexpr auto operator< (const U &u) const noexcept(noexcept(((std::declval< const T & >()< u)||...))) -> decltype(((std::declval< const T & >()< u)||...))
 
template<typename U >
constexpr auto operator<= (const U &u) const noexcept(noexcept(((std::declval< const T & >()<=u)||...))) -> decltype(((std::declval< const T & >()<=u)||...))
 
template<typename U >
constexpr auto operator> (const U &u) const noexcept(noexcept(((std::declval< const T & >() > u)||...))) -> decltype(((std::declval< const T & >() > u)||...))
 
template<typename U >
constexpr auto operator>= (const U &u) const noexcept(noexcept(((std::declval< const T & >() >=u)||...))) -> decltype(((std::declval< const T & >() >=u)||...))
 
constexpr operator bool () const noexcept(noexcept((std::declval< const T & >()||...)))
 
template<typename ... Ts>
requires ( std::conjunction_v<std::is_copy_constructible<Ts>...>&& std::conjunction_v<std::is_invocable<T, Ts...>...> )
constexpr auto operator() (Ts &&... ts) const noexcept(std::conjunction_v< std::is_nothrow_move_constructible< T >... > &&std::conjunction_v< std::is_nothrow_copy_constructible< Ts >... >) -> any_of< internal::bound< T, Ts... >... >
 

Friends

template<typename V = std::tuple<T...>, typename = internal::printable_t<V>>
std::ostream & operator<< (std::ostream &os, const any_of &self)
 

Member Function Documentation

◆ operator bool()

template<typename ... T>
constexpr ext::any_of< T >::operator bool ( ) const
inlineexplicitconstexprnoexcept

◆ operator!=()

template<typename ... T>
template<typename U >
constexpr auto ext::any_of< T >::operator!= ( const U &  u) const -> decltype(((std::declval<const T&>() != u) && ...))
inlineconstexprnoexcept

◆ operator()()

template<typename ... T>
template<typename ... Ts>
requires ( std::conjunction_v<std::is_copy_constructible<Ts>...>&& std::conjunction_v<std::is_invocable<T, Ts...>...> )
constexpr auto ext::any_of< T >::operator() ( Ts &&...  ts) const -> any_of<internal::bound<T, Ts...>...>
inlineconstexprnoexcept

◆ operator<()

template<typename ... T>
template<typename U >
constexpr auto ext::any_of< T >::operator< ( const U &  u) const -> decltype(((std::declval<const T&>() < u) || ...))
inlineconstexprnoexcept

◆ operator<=()

template<typename ... T>
template<typename U >
constexpr auto ext::any_of< T >::operator<= ( const U &  u) const -> decltype(((std::declval<const T&>() <= u) || ...))
inlineconstexprnoexcept

◆ operator==()

template<typename ... T>
template<typename U >
constexpr auto ext::any_of< T >::operator== ( const U &  u) const -> decltype(((std::declval<const T&>() == u) || ...))
inlineconstexprnoexcept

◆ operator>()

template<typename ... T>
template<typename U >
constexpr auto ext::any_of< T >::operator> ( const U &  u) const -> decltype(((std::declval<const T&>() > u) || ...))
inlineconstexprnoexcept

◆ operator>=()

template<typename ... T>
template<typename U >
constexpr auto ext::any_of< T >::operator>= ( const U &  u) const -> decltype(((std::declval<const T&>() >= u) || ...))
inlineconstexprnoexcept

Friends And Related Function Documentation

◆ operator<<

template<typename ... T>
template<typename V = std::tuple<T...>, typename = internal::printable_t<V>>
std::ostream & operator<< ( std::ostream &  os,
const any_of< T > &  self 
)
friend

The documentation for this class was generated from the following file: