capydi
Loading...
Searching...
No Matches
Contains.hpp
Go to the documentation of this file.
1
#ifndef CAPYDI_CONTAINS_HPP_
2
#define CAPYDI_CONTAINS_HPP_
3
4
#include "
Filter.hpp
"
5
#include "
capymeta/primitives/Functor.hpp
"
6
7
#include <concepts>
8
9
namespace
capy::meta
10
{
11
12
template
<
typename
Pack_,
typename
Element>
13
constexpr
bool
pack_contains_t
= !
pack_is_empty_v
<
pack_filter_t
<
14
Pack_,
15
functor_fv<[]<class T>
(
Pack<T>
) {
16
return
std::same_as<T, Element>;
17
},
MetaArity::N1
>
18
>>;
19
20
}
21
22
#endif
// !CAPYDI_CONTAINS_HPP_
Filter.hpp
Functor.hpp
capy::meta
Definition
Rebind.hpp:7
capy::meta::MetaArity::N1
@ N1
Definition
MetaArity.hpp:12
capy::meta::pack_filter_t
legacy::filter_t< Pack_, as_unary_fv< Predicate >::template Functor > pack_filter_t
Definition
Filter.hpp:18
capy::meta::pack_contains_t
constexpr bool pack_contains_t
Definition
Contains.hpp:13
capy::meta::pack_is_empty_v
constexpr bool pack_is_empty_v
Definition
Pack.hpp:78
capy::meta::Pack
A compile-time heterogeneous type list.
Definition
Pack.hpp:70
capy::meta::functor_fv
Definition
Functor.hpp:54
core
capymeta
include
capymeta
algorithms
pack
Contains.hpp
Generated by
1.15.0