OpenKalman
Classes | Enumerations | Functions | Variables
comparison.hpp File Reference

Definitions relating to c+++20+ comparisons. More...

#include <utility>
#include "internal/exposition.hpp"
#include "common.hpp"
Include dependency graph for comparison.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  OpenKalman::stdex::partial_ordering
 
struct  OpenKalman::stdex::compare_three_way
 
struct  OpenKalman::stdex::detail::ComparisonCommonTypeWithImpl< T, U, C, typename >
 
struct  OpenKalman::stdex::detail::ComparisonCommonTypeWithImpl< T, U, C, std::enable_if_t< stdex::same_as< common_reference_t< const T &, const U & >, common_reference_t< const U &, const T & > > and(stdex::convertible_to< const T &, const C & > or stdex::convertible_to< T &, const C & >) and(stdex::convertible_to< const U &, const C & > or stdex::convertible_to< U &, const C & >) > >
 
struct  OpenKalman::stdex::detail::totally_ordered_with_impl< T, U, typename >
 
struct  OpenKalman::stdex::detail::totally_ordered_with_impl< T, U, std::enable_if_t< totally_ordered< typename stdex::common_reference< const std::remove_reference_t< T > &, const std::remove_reference_t< U > & >::type > > >
 

Enumerations

enum  Ord : signed char { equivalent = 0, less = -1, greater = 1, unordered = 2 }
 

Functions

template<typename T , typename U >
constexpr bool OpenKalman::stdex::cmp_equal (T t, U u) noexcept
 
template<typename T , typename U >
constexpr bool OpenKalman::stdex::cmp_not_equal (T t, U u) noexcept
 
template<typename T , typename U >
constexpr bool OpenKalman::stdex::cmp_less (T t, U u) noexcept
 
template<typename T , typename U >
constexpr bool OpenKalman::stdex::cmp_greater (T t, U u) noexcept
 
template<typename T , typename U >
constexpr bool OpenKalman::stdex::cmp_less_equal (T t, U u) noexcept
 
template<typename T , typename U >
constexpr bool OpenKalman::stdex::cmp_greater_equal (T t, U u) noexcept
 
template<typename InputIt1 , typename InputIt2 , typename Cmp >
constexpr auto OpenKalman::stdex::lexicographical_compare_three_way (InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2, Cmp comp) -> decltype(comp(*first1, *first2))
 
template<typename InputIt1 , typename InputIt2 >
constexpr auto OpenKalman::stdex::lexicographical_compare_three_way (InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2)
 
constexpr bool OpenKalman::stdex::is_eq (partial_ordering cmp) noexcept
 
constexpr bool OpenKalman::stdex::is_neq (partial_ordering cmp) noexcept
 
constexpr bool OpenKalman::stdex::is_lt (partial_ordering cmp) noexcept
 
constexpr bool OpenKalman::stdex::is_lteq (partial_ordering cmp) noexcept
 
constexpr bool OpenKalman::stdex::is_gt (partial_ordering cmp) noexcept
 
constexpr bool OpenKalman::stdex::is_gteq (partial_ordering cmp) noexcept
 

Variables

template<typename T , typename U >
constexpr bool OpenKalman::stdex::detail::ComparisonCommonTypeWith = ComparisonCommonTypeWithImpl<remove_cvref_t<T>, remove_cvref_t<U>>::value
 
template<typename T >
constexpr bool OpenKalman::stdex::equality_comparable = OpenKalman::internal::WeaklyEqualityComparableWith<T, T>
 
template<typename T , typename U >
constexpr bool OpenKalman::stdex::equality_comparable_with
 
template<typename T >
constexpr bool OpenKalman::stdex::totally_ordered = equality_comparable<T> and OpenKalman::internal::PartiallyOrderedWith<T, T>
 
template<typename T , typename U >
constexpr bool OpenKalman::stdex::totally_ordered_with
 

Detailed Description

Definitions relating to c+++20+ comparisons.

Variable Documentation

◆ equality_comparable_with

template<typename T , typename U >
constexpr bool OpenKalman::stdex::equality_comparable_with
inline
Initial value:
=
equality_comparable<T> and
equality_comparable<U> and
detail::ComparisonCommonTypeWith<T, U> and
equality_comparable<common_reference_t<const std::remove_reference_t<T>&, const std::remove_reference_t<U>&>> and
OpenKalman::internal::WeaklyEqualityComparableWith<T, U>

◆ totally_ordered_with

template<typename T , typename U >
constexpr bool OpenKalman::stdex::totally_ordered_with
inline
Initial value:
=
totally_ordered<T> and
totally_ordered<U> and
equality_comparable_with<T, U> and
OpenKalman::internal::PartiallyOrderedWith<T, U>
constexpr bool value
T is a fixed or dynamic value that is reducible to a number.
Definition: value.hpp:45