CeresEngine
0.2.0
A game development framework
Loading...
Searching...
No Matches
ContainsAll.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
10
#include "
Count.hpp
"
11
#include "
TypeList.hpp
"
12
13
#include <type_traits>
14
15
namespace
CeresEngine::MPL
{
16
17
template
<
typename
TCheckTypeList,
typename
TTypeList>
struct
ContainsAllHelper
;
18
19
template
<
typename
TCheckTypeList,
typename
TTypeList>
inline
constexpr
bool
ContainsAll
=
ContainsAllHelper<TCheckTypeList, TTypeList>::value
;
20
21
template
<
typename
T
,
typename
...
TRest
,
typename
TTypeList
>
22
struct
ContainsAllHelper
<
TypeList
<
T
,
TRest
...>,
TTypeList
>
23
: std::integral_constant<bool, Contains<T, TTypeList> && ContainsAll<TypeList<TRest...>, TTypeList>> {};
24
25
template
<
typename
TTypeList>
struct
ContainsAllHelper
<
TypeList
<>,
TTypeList
> : std::true_type {};
26
}
// namespace CeresEngine::MPL
Count.hpp
TypeList.hpp
CeresEngine::MPL
Definition
All.hpp:15
CeresEngine::MPL::ContainsAll
constexpr bool ContainsAll
Definition
ContainsAll.hpp:19
CeresEngine::Button::T
@ T
CeresEngine::hash
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition
Hash.hpp:25
CeresEngine::MPL::ContainsAllHelper
Definition
ContainsAll.hpp:17
CeresEngine::MPL::TypeList
Compile-time list of types.
Definition
TypeList.hpp:15
Sources
CeresEngine
Foundation
MPL
ContainsAll.hpp
Generated by
1.9.8