aGrUM  0.16.0
PRMFuncAttribute_tpl.h
Go to the documentation of this file.
1 
31 namespace gum {
32  namespace prm {
33 
34  template < typename GUM_SCALAR >
36  const std::string& name,
37  const PRMType& type,
39  PRMScalarAttribute< GUM_SCALAR >(name, type, impl) {
40  std::stringstream str;
41  str << "In FuncAttribute(" << name << ", " << type.name() << ", " << impl
42  << ")";
43  GUM_CONSTRUCTOR(PRMFuncAttribute);
44  }
45 
46  template < typename GUM_SCALAR >
48  GUM_DESTRUCTOR(PRMFuncAttribute);
49  }
50 
51  template < typename GUM_SCALAR >
53  const PRMClassElement< GUM_SCALAR >& elt) {}
54 
55  template < typename GUM_SCALAR >
57  const PRMClassElement< GUM_SCALAR >& elt) {}
58 
59  template < typename GUM_SCALAR >
61  const PRMFuncAttribute< GUM_SCALAR >& source) :
62  PRMScalarAttribute< GUM_SCALAR >(source) {
63  GUM_CONS_CPY(PRMFuncAttribute);
64  GUM_ERROR(FatalError, "illegal call to copy constructor");
65  }
66 
67  template < typename GUM_SCALAR >
70  GUM_ERROR(FatalError, "illegal call to copy operator");
71  }
72 
73  template < typename GUM_SCALAR >
74  INLINE void
77  "Cannot change CPF of a functional attribute");
78  }
79 
80  } /* namespace prm */
81 } /* namespace gum */
aGrUM&#39;s Potential is a multi-dimensional array with tensor operators.
Definition: potential.h:60
const std::string & name() const
Returns the name of this object.
Definition: PRMType_inl.h:68
PRMFuncAttribute< GUM_SCALAR > & operator=(const PRMFuncAttribute< GUM_SCALAR > &from)
Copy operator. Don&#39;t use it.
Abstract class representing an element of PRM class.
virtual void addChild(const PRMClassElement< GUM_SCALAR > &elt)
See gum::PRMClassElement::_addChild().
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Definition: agrum.h:25
virtual const Potential< GUM_SCALAR > & cpf() const
See gum::PRMClassElement::cpf().
<agrum/PRM/elements/funcAttribute.h>
This is a decoration of the DiscreteVariable class.
Definition: PRMType.h:63
PRMFuncAttribute(const std::string &name, const PRMType &type, MultiDimImplementation< GUM_SCALAR > *impl=new MultiDimArray< GUM_SCALAR >())
Constructor used by gum::Class.
virtual ~PRMFuncAttribute()
Destructor.
<agrum/multidim/multiDimImplementation.h>
virtual void addParent(const PRMClassElement< GUM_SCALAR > &elt)
See gum::PRMClassElement::_addParent().
virtual void _setCpf(Potential< GUM_SCALAR > *cpf)
<agrum/PRM/elements/scalarAttribute.h>
#define GUM_ERROR(type, msg)
Definition: exceptions.h:55