Stroika Library 3.0d16
 
Loading...
Searching...
No Matches
Stroika::Foundation::Common::IComparer Concept Reference

#include <Compare.h>

Concept definition

template<typename POTENTIALLY_COMPARER, typename ARG_T>
concept Stroika::Foundation::Common::IComparer = requires (POTENTIALLY_COMPARER, ARG_T) {
{
Private_::ExtractComparisonTraits_<ARG_T, remove_cvref_t<POTENTIALLY_COMPARER>>::kComparisonRelationKind
} -> convertible_to<ComparisonRelationType>;
}

Detailed Description

Concept IComparer checks if the argument is a (declared comparison type) Stroika comparer object.

Basically, this means we KNOW if its a LESS or EQUALS etc comparer (see ExtractComparisonTraits_v).

Note
Any function object (eg lambda) taking 2 ARG_T arguments and returning ComparisonRelationType works automatically).

Definition at line 169 of file Compare.h.