#include "Stroika/Foundation/StroikaPreComp.h"#include <compare>#include <functional>#include <memory>#include <optional>#include <type_traits>#include "Stroika/Foundation/Common/Common.h"#include "Stroika/Foundation/Common/Concepts.h"#include "Stroika/Foundation/Common/Enumeration.h"#include "Stroika/Foundation/Common/TypeHints.h"#include "Compare.inl"Go to the source code of this file.
Classes | |
| struct | Stroika::Foundation::Common::ComparisonRelationDeclarationBase< KIND > |
| struct | Stroika::Foundation::Common::ComparisonRelationDeclaration< KIND, ACTUAL_COMPARER > |
| struct | Stroika::Foundation::Common::EqualsComparerAdapter< ARG_T, BASE_COMPARER > |
| Use this to wrap any basic comparer, and produce an Equals comparer. More... | |
| struct | Stroika::Foundation::Common::InOrderComparerAdapter< T, BASE_COMPARER > |
| Use this to wrap any basic comparer, and produce a Less comparer. More... | |
| struct | Stroika::Foundation::Common::ThreeWayComparerAdapter< T, BASE_COMPARER > |
| Use this to wrap a basic (ITotallyOrderingComparer) comparer, and produce a Three-Way comparer. More... | |
| struct | Stroika::Foundation::Common::OptionalThreeWayComparer< ARG_T, TCOMPARER > |
| ThreeWayComparer for optional types, like builtin one, except this lets you pass in explicit 'T' comparer for the T in optional<T> More... | |
Namespaces | |
| namespace | Stroika::Foundation |
| namespace | Stroika::Foundation::Common |
| namespace | Stroika::Foundation::Common::Private_ |
Enumerations | |
| enum class | Stroika::Foundation::Common::ComparisonRelationType { } |
Functions | |
| template<typename FUNCTOR > | |
| constexpr Common::ComparisonRelationDeclaration< ComparisonRelationType::eEquals, remove_cvref_t< FUNCTOR > > | Stroika::Foundation::Common::DeclareEqualsComparer (FUNCTOR &&f) |
| DeclareEqualsComparer () marks a FUNCTOR (lambda or not) as being a FUNCTOR which compares for equality. | |
| template<typename FUNCTOR > | |
| constexpr Common::ComparisonRelationDeclaration< ComparisonRelationType::eStrictInOrder, remove_cvref_t< FUNCTOR > > | Stroika::Foundation::Common::DeclareInOrderComparer (FUNCTOR &&f) |
| DeclareInOrderComparer () marks a FUNCTOR (lambda or not) as being a FUNCTOR which compares for in-order. | |
| template<typename FROM_INT_TYPE > | |
| constexpr strong_ordering | Stroika::Foundation::Common::CompareResultNormalizer (FROM_INT_TYPE f) |
| constexpr strong_ordering | Stroika::Foundation::Common::ReverseCompareOrder (strong_ordering so) |
Variables | |
| template<typename ARG_T , IComparer< ARG_T > COMPARE_FUNCTION> | |
| static constexpr ComparisonRelationType | Stroika::Foundation::Common::ExtractComparisonTraits_v |
| ExtractComparisonTraits_v<> extracts the @ComparisonRelationType for the given argument comparer. | |