ORIGINAL
Loading...
Searching...
No Matches
original::Comparable Concept Reference

Requires type to support all comparison operators. More...

#include <types.h>

Concept definition

template<typename TYPE>
concept original::Comparable = requires(const TYPE& t1, const TYPE& t2) {
{ t1 == t2 } -> std::same_as<bool>;
{ t1 != t2 } -> std::same_as<bool>;
{ t1 < t2 } -> std::same_as<bool>;
{ t1 <= t2 } -> std::same_as<bool>;
{ t1 > t2 } -> std::same_as<bool>;
{ t1 >= t2 } -> std::same_as<bool>;
}
Requires type to support all comparison operators.
Definition types.h:29

Detailed Description

Requires type to support all comparison operators.

Template Parameters
TYPEThe type to check.

Enforces that the type provides all standard comparison operators (==, !=, <, <=, >, >=) returning boolean results.

static_assert(Comparable<int>); // Succeeds