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

#include <Compare.h>

Concept definition

template<typename COMPARER, typename ARG_T>
ExtractComparisonTraits_v<ARG_T, remove_cvref_t<COMPARER>> == ComparisonRelationType::eEquals

Detailed Description

Checks that the argument comparer compares values of type ARG_T, and returns an equals comparison result.

This won't let confuse equal_to with actual in-order comparison functions.

See also
IPotentiallyComparer, and use DeclareEqualsComparer to mark a given function as an in-order comparer.
Example Usage
static_assert (IEqualsComparer<equal_to<int>, int>);
static_assert (not IEqualsComparer<less<int>, int>);
Example Usage
template <IEqualsComparer<KEY_TYPE> KEY_EQUALS_COMPARER = equal_to<KEY_TYPE>>
KeyedCollection (KEY_EQUALS_COMPARER&& keyComparer = KEY_EQUALS_COMPARER{})
...

Definition at line 208 of file Compare.h.