tetl
0.1.0
Embedded Template Library
Loading...
Searching...
No Matches
count.hpp
Go to the documentation of this file.
1
// SPDX-License-Identifier: BSL-1.0
2
3
#ifndef TETL_META_COUNT_HPP
4
#define TETL_META_COUNT_HPP
5
6
#include <
etl/_cstddef/size_t.hpp
>
7
#include <
etl/_meta/list.hpp
>
8
#include <
etl/_type_traits/integral_constant.hpp
>
9
#include <
etl/_type_traits/is_same.hpp
>
10
11
namespace
etl::meta
{
12
13
template
<
typename
Needle,
typename
Haystack>
14
struct
count
;
15
16
template
<
typename
Needle,
typename
... Ts>
17
struct
count
<Needle,
list
<Ts...>> :
etl::integral_constant
<etl::size_t, (etl::is_same_v<Needle, Ts> + ... + 0)> { };
18
19
template
<
typename
Needle,
typename
Haystack>
20
inline
constexpr
auto
count_v
=
count<Needle, Haystack>::value
;
21
22
}
// namespace etl::meta
23
24
#endif
// TETL_META_COUNT_HPP
integral_constant.hpp
is_same.hpp
list.hpp
etl::meta
Definition
at.hpp:9
etl::meta::count_v
constexpr auto count_v
Definition
count.hpp:20
size_t.hpp
etl::integral_constant
Definition
integral_constant.hpp:9
etl::meta::count
Definition
count.hpp:14
etl::meta::list
Definition
list.hpp:10
include
etl
_meta
count.hpp
Generated on Sat Mar 8 2025 16:19:59 for tetl by
1.14.0