Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
Data Structures | Namespaces | Typedefs | Functions
dry-comparisons.hpp File Reference
#include <utility>
#include <type_traits>
#include <tuple>
#include <functional>
#include <iosfwd>
Include dependency graph for dry-comparisons.hpp:

Go to the source code of this file.

Data Structures

struct  ext::internal::printable< std::tuple< Ts... >, std::void_t< decltype(std::declval< std::ostream & >()<< std::declval< const Ts & >())... > >
 
struct  ext::internal::bound< F, Args >
 
struct  ext::internal::binder< Ts >
 
class  ext::internal::logical_tuple_base
 
class  ext::internal::logical_tuple< Ts >
 
class  ext::any_of< T >
 
class  ext::none_of< T >
 
class  ext::all_of< T >
 

Namespaces

namespace  ext
 
namespace  ext::internal
 

Typedefs

template<typename T >
using ext::internal::printable_t = typename printable< T >::type
 

Functions

template<typename U , typename T >
requires ( std::is_base_of_v<internal::logical_tuple_base, T> && ! std::is_base_of_v < internal::logical_tuple_base, U > )
constexpr auto ext::operator== (const U &u, const T &a) noexcept(noexcept(a==u))
 
template<typename U , typename T >
requires ( std::is_base_of_v<internal::logical_tuple_base, T> && ! std::is_base_of_v < internal::logical_tuple_base, U > )
constexpr auto ext::operator!= (const U &u, const T &a) noexcept(noexcept(a !=u))
 
template<typename U , typename T >
requires ( std::is_base_of_v<internal::logical_tuple_base, T> && ! std::is_base_of_v < internal::logical_tuple_base, U > )
constexpr auto ext::operator> (const U &u, const T &a) noexcept(noexcept(a< u))
 
template<typename U , typename T >
requires ( std::is_base_of_v<internal::logical_tuple_base, T> && ! std::is_base_of_v < internal::logical_tuple_base, U > )
constexpr auto ext::operator>= (const U &u, const T &a) noexcept(noexcept(a<=u))
 
template<typename U , typename T >
requires ( std::is_base_of_v<internal::logical_tuple_base, T> && ! std::is_base_of_v < internal::logical_tuple_base, U > )
constexpr auto ext::operator< (const U &u, const T &a) noexcept(noexcept(a > u))
 
template<typename U , typename T >
requires ( std::is_base_of_v<internal::logical_tuple_base, T> && ! std::is_base_of_v < internal::logical_tuple_base, U > )
constexpr auto ext::operator<= (const U &u, const T &a) noexcept(noexcept(a >=u))
 
template<typename ... T>
 ext::any_of (T &&...) -> any_of< T... >
 
template<typename ... T>
 ext::none_of (T &&...) -> none_of< T... >
 
template<typename ... T>
 ext::all_of (T &&...) -> all_of< T... >