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

#include <dry-comparisons.hpp>

Inheritance diagram for ext::all_of< T >:
[legend]
Collaboration diagram for ext::all_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 >... >) -> all_of< internal::bound< T, Ts... >... >
 

Friends

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

Member Function Documentation

◆ operator bool()

template<typename ... T>
constexpr ext::all_of< T >::operator bool ( ) const
inlineexplicitconstexprnoexcept
Here is the call graph for this function:

◆ operator!=()

template<typename ... T>
template<typename U >
constexpr auto ext::all_of< T >::operator!= ( const U &  u) const -> decltype(((std::declval<const T&>() != u) || ...))
inlineconstexprnoexcept
Here is the call graph for this function:

◆ 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::all_of< T >::operator() ( Ts &&...  ts) const -> all_of<internal::bound<T, Ts...>...>
inlineconstexprnoexcept

◆ operator<()

template<typename ... T>
template<typename U >
constexpr auto ext::all_of< T >::operator< ( const U &  u) const -> decltype(((std::declval<const T&>() < u) && ...))
inlineconstexprnoexcept
Here is the call graph for this function:

◆ operator<=()

template<typename ... T>
template<typename U >
constexpr auto ext::all_of< T >::operator<= ( const U &  u) const -> decltype(((std::declval<const T&>() <= u) && ...))
inlineconstexprnoexcept
Here is the call graph for this function:

◆ operator==()

template<typename ... T>
template<typename U >
constexpr auto ext::all_of< T >::operator== ( const U &  u) const -> decltype(((std::declval<const T&>() == u) && ...))
inlineconstexprnoexcept
Here is the call graph for this function:

◆ operator>()

template<typename ... T>
template<typename U >
constexpr auto ext::all_of< T >::operator> ( const U &  u) const -> decltype(((std::declval<const T&>() > u) && ...))
inlineconstexprnoexcept
Here is the call graph for this function:

◆ operator>=()

template<typename ... T>
template<typename U >
constexpr auto ext::all_of< T >::operator>= ( const U &  u) const -> decltype(((std::declval<const T&>() >= u) && ...))
inlineconstexprnoexcept
Here is the call graph for this function:

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 all_of< T > &  self 
)
friend

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