aGrUM
0.16.0
templateStrategy.h
Go to the documentation of this file.
1
30
#ifndef GUM_TEMPLATE_STRATEGY_H
31
#define GUM_TEMPLATE_STRATEGY_H
32
33
namespace
gum
{
34
35
template
<
int
v >
36
struct
Int2Type
{
37
enum
{
value
= v };
38
};
39
40
enum
TESTNAME
{
GTEST
= 1,
CHI2TEST
= 2,
LEASTSQUARETEST
= 3 };
41
template
< TESTNAME,
class
A,
class
B,
class
C >
42
struct
TestSelect
{
43
typedef
A
type
;
44
};
45
template
<
class
A,
class
B,
class
C >
46
struct
TestSelect
<
CHI2TEST
, A, B, C > {
47
typedef
B
type
;
48
};
49
template
<
class
A,
class
B,
class
C >
50
struct
TestSelect
<
LEASTSQUARETEST
, A, B, C > {
51
typedef
C
type
;
52
};
53
54
template
<
bool
,
class
A,
class
B >
55
struct
ValueSelect
{
56
typedef
A
type
;
57
};
58
template
<
class
A,
class
B >
59
struct
ValueSelect
< false, A, B > {
60
typedef
B
type
;
61
};
62
63
enum
LEARNERNAME
{
IMDDILEARNER
= 1,
ITILEARNER
= 2 };
64
template
< LEARNERNAME,
class
A,
class
B >
65
struct
LearnerSelect
{
66
typedef
A
type
;
67
};
68
template
<
class
A,
class
B >
69
struct
LearnerSelect
<
ITILEARNER
, A, B > {
70
typedef
B
type
;
71
};
72
73
}
// end of namespace gum
74
75
#endif // GUM_TEMPLATE_STRATEGY_H
gum::Int2Type::value
Definition:
templateStrategy.h:37
gum::GTEST
Definition:
templateStrategy.h:40
gum::LearnerSelect
Definition:
templateStrategy.h:65
gum::LEASTSQUARETEST
Definition:
templateStrategy.h:40
gum::LearnerSelect::type
A type
Definition:
templateStrategy.h:66
gum
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Definition:
agrum.h:25
gum::TestSelect::type
A type
Definition:
templateStrategy.h:43
gum::LEARNERNAME
LEARNERNAME
Definition:
templateStrategy.h:63
gum::TESTNAME
TESTNAME
Definition:
templateStrategy.h:40
gum::Int2Type
Definition:
templateStrategy.h:36
gum::ValueSelect::type
A type
Definition:
templateStrategy.h:56
gum::TestSelect< LEASTSQUARETEST, A, B, C >::type
C type
Definition:
templateStrategy.h:51
gum::TestSelect
Definition:
templateStrategy.h:42
gum::CHI2TEST
Definition:
templateStrategy.h:40
gum::LearnerSelect< ITILEARNER, A, B >::type
B type
Definition:
templateStrategy.h:70
gum::ValueSelect
Definition:
templateStrategy.h:55
gum::IMDDILEARNER
Definition:
templateStrategy.h:63
gum::ValueSelect< false, A, B >::type
B type
Definition:
templateStrategy.h:60
gum::ITILEARNER
Definition:
templateStrategy.h:63
gum::TestSelect< CHI2TEST, A, B, C >::type
B type
Definition:
templateStrategy.h:47