capydi
Loading...
Searching...
No Matches
Head.hpp
Go to the documentation of this file.
1
#ifndef HEAD_HPP_
2
#define HEAD_HPP_
3
4
#include "
capymeta/primitives/Pack.hpp
"
5
#include "
capymeta/type_structures/Maybe.hpp
"
6
7
namespace
capy::meta::legacy
8
{
9
10
template
<
typename
Pack>
11
struct
Head
;
12
13
template
<
typename
Head_,
typename
... Tail>
14
struct
Head
<
Pack
<Head_, Tail...>>
15
{
16
using
type
= Head_;
17
};
18
19
template
<>
20
struct
Head
<
Pack
<>>
21
{
22
using
type
=
None
;
23
};
24
25
template
<
typename
Pack>
26
using
head_t
=
typename
Head<Pack>::type
;
27
28
}
29
30
#endif
// !HEAD_HPP_
Maybe.hpp
Pack.hpp
Compile-time type pack utilities and metaprogramming foundations.
capy::meta::legacy
Definition
Append.hpp:7
capy::meta::legacy::head_t
typename Head< Pack >::type head_t
Definition
Head.hpp:26
capy::meta::None
Maybe< implementation_details_::Nil > None
Definition
Maybe.hpp:17
capy::meta::Pack
A compile-time heterogeneous type list.
Definition
Pack.hpp:70
capy::meta::legacy::Head< Pack< Head_, Tail... > >::type
Head_ type
Definition
Head.hpp:16
capy::meta::legacy::Head< Pack<> >::type
None type
Definition
Head.hpp:22
capy::meta::legacy::Head
Definition
Head.hpp:11
core
capymeta
include
capymeta
algorithms
pack
legacy
Head.hpp
Generated by
1.15.0