aGrUM  0.16.0
PRMParameter_tpl.h
Go to the documentation of this file.
1 
30 namespace gum {
31  namespace prm {
32 
33  template < typename GUM_SCALAR >
35  ParameterType type,
36  GUM_SCALAR value) :
37  PRMClassElement< GUM_SCALAR >(name),
38  __type(type), __value(value) {
39  GUM_CONSTRUCTOR(PRMParameter);
40  this->_safeName = name;
41  }
42 
43  template < typename GUM_SCALAR >
45  const PRMParameter< GUM_SCALAR >& source) :
46  PRMClassElement< GUM_SCALAR >(source.name()),
47  __type(source.valueType()), __value(source.value()) {
48  GUM_ERROR(OperationNotAllowed, "cannot copy Paramter<GUM_SCALAR");
49  }
50 
51  template < typename GUM_SCALAR >
54  GUM_ERROR(OperationNotAllowed, "cannot copy Paramter<GUM_SCALAR");
55  }
56 
57  template < typename GUM_SCALAR >
59  GUM_DESTRUCTOR(PRMParameter);
60  }
61 
62  template < typename GUM_SCALAR >
66  }
67 
68  template < typename GUM_SCALAR >
69  GUM_SCALAR PRMParameter< GUM_SCALAR >::value() const {
70  return __value;
71  }
72 
73  template < typename GUM_SCALAR >
74  void PRMParameter< GUM_SCALAR >::value(GUM_SCALAR value) {
75  __value = value;
76  }
77 
78  template < typename GUM_SCALAR >
81  return __type;
82  }
83 
84  template < typename GUM_SCALAR >
86  GUM_ERROR(OperationNotAllowed, "Parameters do not have a type");
87  }
88 
89  template < typename GUM_SCALAR >
91  GUM_ERROR(OperationNotAllowed, "Parameters do not have a type");
92  }
93 
94  template < typename GUM_SCALAR >
96  GUM_ERROR(OperationNotAllowed, "Parameters do not have a cpf");
97  }
98 
99  template < typename GUM_SCALAR >
101  GUM_ERROR(OperationNotAllowed, "Parameters do not have a cpf");
102  }
103 
104  template < typename GUM_SCALAR >
107  GUM_ERROR(OperationNotAllowed, "Parameters can not have parents");
108  }
109 
110  template < typename GUM_SCALAR >
113  GUM_ERROR(OperationNotAllowed, "Parameters can not have children");
114  }
115 
116  template < typename GUM_SCALAR >
119  GUM_ERROR(OperationNotAllowed, "Parameters can have cast descendants");
120  }
121 
122  } /* namespace prm */
123 } // namespace gum
aGrUM&#39;s Potential is a multi-dimensional array with tensor operators.
Definition: potential.h:60
PRMParameter is a member of a Class in a PRM.
Definition: PRMParameter.h:52
Abstract class representing an element of PRM class.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Definition: agrum.h:25
PRMParameter(const std::string &name, ParameterType type, GUM_SCALAR value)
Constructor used by gum::Class.
This is a decoration of the DiscreteVariable class.
Definition: PRMType.h:63
PRMAttribute is a member of a Class in a PRM.
Definition: PRMAttribute.h:61
#define GUM_ERROR(type, msg)
Definition: exceptions.h:55
ClassElementType
Returns true if obj_ptr is of type PRMReferenceSlot.