SimiLie
Loading...
Searching...
No Matches
are_all_same.hpp
1
// SPDX-FileCopyrightText: 2024 Baptiste Legouix
2
// SPDX-License-Identifier: MIT
3
4
#pragma once
5
6
#include "specialization.hpp"
7
8
namespace
sil
{
9
10
namespace
misc {
11
12
template
<
class
Head,
class
... Tail>
13
inline
constexpr
bool
are_all_same
= (std::is_same_v<Head, Tail> && ...);
14
15
template
<
class
Head,
class
... Tail>
16
inline
constexpr
bool
are_all_equal
(Head head, Tail... tail)
17
{
18
return
((head == tail) && ...);
19
}
20
21
template
<misc::Specialization<std::vector> T>
22
inline
constexpr
bool
are_all_equal
(T t)
23
{
24
return
std::all_of(t.begin(), t.end(), [&](
const
std::size_t i) { return i == *t.begin(); });
25
}
26
27
}
// namespace misc
28
29
}
// namespace sil
sil::misc::are_all_same
constexpr bool are_all_same
Definition
are_all_same.hpp:13
sil::misc::are_all_equal
constexpr bool are_all_equal(Head head, Tail... tail)
Definition
are_all_same.hpp:16
sil
The top-level namespace of SimiLie.
Definition
csr.hpp:14
include
similie
misc
are_all_same.hpp
Generated by
1.12.0