CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
is_totally_ordered_with.hpp
Go to the documentation of this file.
1//
2// CeresEngine - A game development framework
3//
4// Created by Rogiel Sulzbach.
5// Copyright (c) 2018-2022 Rogiel Sulzbach. All rights reserved.
6//
7
8#pragma once
9
15
16#include <type_traits>
17
18namespace CeresEngine::traits {
19
22 template<class T, class U, class = void> struct is_totally_ordered_with : std::false_type {};
23
24 template<class T, class U>
27 // clang-format off
28 is_totally_ordered_v<T> &&
29 is_totally_ordered_v<U> &&
30 is_equality_comparable_with_v<T,U> &&
31 is_partially_ordered_with_v<T,U>
32 // clang-format on
33 >> : std::true_type {};
34
36 template<class T, class U> bool constexpr is_totally_ordered_with_v = is_totally_ordered_with<T, U>::value;
37
39 template<class T, class U>
41
42} // namespace CeresEngine::traits
Definition is_totally_ordered_with.hpp:40
Definition Partitioner.hpp:146
bool constexpr is_totally_ordered_with_v
A C++17 type trait equivalent to the C++20 totally_ordered_with concept.
Definition is_totally_ordered_with.hpp:36
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
Definition Span.hpp:668
A C++17 type trait equivalent to the C++20 totally_ordered_with concept.
Definition is_totally_ordered_with.hpp:22