PolyBoRi
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
libpolybori
include
polybori
factories
VariableFactory.h
Go to the documentation of this file.
1
// -*- c++ -*-
2
//*****************************************************************************
15
//*****************************************************************************
16
17
#ifndef polybori_factories_VariableFactory_h_
18
#define polybori_factories_VariableFactory_h_
19
20
// include basic definitions
21
#include <
polybori/pbori_defs.h
>
22
#include <
polybori/factories/CFactoryBase.h
>
23
#include <
polybori/BooleVariable.h
>
24
25
BEGIN_NAMESPACE_PBORI
26
33
class
VariableFactory
:
34
public
CFactoryBase
{
36
typedef
VariableFactory
self
;
37
39
typedef
CFactoryBase
base
;
40
41
public
:
43
typedef
base::parent_type
parent_type
;
44
46
typedef
BooleVariable
value_type
;
47
49
VariableFactory
(
const
parent_type
& ring):
base
(ring) {}
50
52
VariableFactory
(
const
self
& rhs):
base
(rhs) {}
53
55
~VariableFactory
() {}
56
58
value_type
operator()
()
const
{
59
return
value_type
(0, parent());
60
}
61
63
value_type
operator()
(
const
value_type
& rhs)
const
{
64
return
rhs;
65
}
66
68
value_type
operator()
(
const
value_type::ring_type
& ring)
const
{
69
return
value_type
(0, ring);
70
}
71
73
value_type
operator()(
value_type::idx_type
idx,
74
const
value_type::ring_type
& ring)
const
{
75
return
value_type
(idx, ring);
76
}
78
value_type
operator()
(
value_type::idx_type
idx)
const
{
79
return
value_type
(idx, parent());
80
}
81
};
82
83
END_NAMESPACE_PBORI
84
85
#endif
/* polybori_factories_VariableFactory_h_ */
Generated by
1.8.3.1