15concept SomeNumberType = std::is_arithmetic_v<T> && !std::is_same_v<T, bool> && !std::is_const_v<T>;
26 auto store = std::array{values...};
27 auto end = store.end();
28 std::ranges::sort(store);
29 return (std::unique(std::begin(store), end) == end);
38template <
typename... Types>
42 constexpr std::array<std::string_view,
sizeof...(Types)> kNAMES = {Types::kNAME...};
43 return !std::ranges::any_of(kNAMES, [&](std::string_view
const& name1) {
44 return std::ranges::any_of(kNAMES, [&](std::string_view
const& name2) {
45 return &name1 != &name2 && name1 == name2;
This namespace contains various utilities.
Definition AccountUtils.hpp:11
static consteval auto hasNoDuplicates(auto &&... values)
Checks that the list of given values contains no duplicates.
Definition Concepts.hpp:24
constexpr bool hasNoDuplicateNames()
Checks that the list of given type contains no duplicates.
Definition Concepts.hpp:40