cgv
invalid_type.h
1
#pragma once
2
3
namespace
cgv
{
4
namespace
type {
5
7
struct
invalid_type
{};
8
9
template
<
typename
T>
10
struct
is_valid
11
{
12
static
const
int
value = 1;
13
};
14
template
<>
15
struct
is_valid<invalid_type>
16
{
17
static
const
int
value = 0;
18
};
19
20
template
<
typename
T1,
typename
T2,
typename
T3,
typename
T4,
typename
T5,
typename
T6,
typename
T7,
typename
T8>
21
struct
count_valid_types
22
{
23
static
const
int
value = is_valid<T1>::value + is_valid<T2>::value + is_valid<T3>::value + is_valid<T4>::value + is_valid<T5>::value + is_valid<T6>::value + is_valid<T7>::value + is_valid<T8>::value;
24
};
25
26
}
27
}
cgv
the cgv namespace
Definition:
vr_calib.cxx:9
cgv::type::invalid_type
use this type to mark the result of an invalid meta function
Definition:
invalid_type.h:7
projects
git
cgv
cgv
type
invalid_type.h
Generated by
1.8.18