3rdparty
libpointmatcher
contrib
yaml-cpp-pm
include
yaml-cpp-pm
traits.h
Go to the documentation of this file.
1
#ifndef TRAITS_H_62B23520_7C8E_11DE_8A39_0800200C9A66_PM
2
#define TRAITS_H_62B23520_7C8E_11DE_8A39_0800200C9A66_PM
3
4
#if defined(_MSC_VER) || (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4
5
#pragma once
6
#endif
7
8
9
namespace
YAML_PM
10
{
11
template
<
typename
>
12
struct
is_numeric
{
enum
{
value
=
false
}; };
13
14
template
<>
struct
is_numeric
<char> {
enum
{
value
=
true
}; };
15
template
<>
struct
is_numeric
<unsigned char> {
enum
{
value
=
true
}; };
16
template
<>
struct
is_numeric
<int> {
enum
{
value
=
true
}; };
17
template
<>
struct
is_numeric
<unsigned int> {
enum
{
value
=
true
}; };
18
template
<>
struct
is_numeric
<long int> {
enum
{
value
=
true
}; };
19
template
<>
struct
is_numeric
<unsigned long int> {
enum
{
value
=
true
}; };
20
template
<>
struct
is_numeric
<short int> {
enum
{
value
=
true
}; };
21
template
<>
struct
is_numeric
<unsigned short int> {
enum
{
value
=
true
}; };
22
#if defined(_MSC_VER) && (_MSC_VER < 1310)
23
template
<>
struct
is_numeric
<__int64> {
enum
{
value
=
true
}; };
24
template
<>
struct
is_numeric <unsigned __int64> {
enum
{
value
=
true
}; };
25
#else
26
template
<>
struct
is_numeric
<long long> {
enum
{
value
=
true
}; };
27
template
<>
struct
is_numeric
<unsigned long long> {
enum
{
value
=
true
}; };
28
#endif
29
template
<>
struct
is_numeric
<float> {
enum
{
value
=
true
}; };
30
template
<>
struct
is_numeric
<double> {
enum
{
value
=
true
}; };
31
template
<>
struct
is_numeric
<long double> {
enum
{
value
=
true
}; };
32
33
template
<
bool
,
class
T =
void
>
34
struct
enable_if_c
{
35
typedef
T
type
;
36
};
37
38
template
<
class
T>
39
struct
enable_if_c
<false, T> {};
40
41
template
<
class
Cond,
class
T =
void
>
42
struct
enable_if
:
public
enable_if_c
<Cond::value, T> {};
43
44
template
<
bool
,
class
T =
void
>
45
struct
disable_if_c
{
46
typedef
T
type
;
47
};
48
49
template
<
class
T>
50
struct
disable_if_c
<true, T> {};
51
52
template
<
class
Cond,
class
T =
void
>
53
struct
disable_if
:
public
disable_if_c
<Cond::value, T> {};
54
}
55
56
#endif // TRAITS_H_62B23520_7C8E_11DE_8A39_0800200C9A66_PM
57
YAML_PM
Definition:
aliasmanager.h:11
YAML_PM::enable_if_c::type
T type
Definition:
traits.h:35
YAML_PM::disable_if_c::type
T type
Definition:
traits.h:46
YAML_PM::disable_if
Definition:
traits.h:53
YAML_PM::is_numeric
Definition:
traits.h:12
YAML_PM::is_numeric::value
@ value
Definition:
traits.h:12
YAML_PM::disable_if_c
Definition:
traits.h:45
YAML_PM::enable_if_c
Definition:
traits.h:34
YAML_PM::enable_if
Definition:
traits.h:42
mp2p_icp
Author(s):
autogenerated on Fri Dec 20 2024 03:46:00