49#ifndef GUM_SCALAR_ATTRIBUTE_H
50#define GUM_SCALAR_ATTRIBUTE_H
83 template < GUM_Numeric GUM_SCALAR >
134 const Tensor< GUM_SCALAR >&
cpf()
const override;
177#ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
Headers of gum::PRMAttribute.
Inline implementation of gum::PRMScalarAttribute.
Set of pairs of elements with fast search for both elements.
Multidimensional matrix stored as an array in memory.
PRMAttribute(std::string_view name)
Destructor.
Abstract class representing an element of PRM class.
ClassElementType
Returns true if obj_ptr is of type PRMReferenceSlot.
A PRMClass is an object of a PRM representing a fragment of a Bayesian network which can be instantia...
const std::string & name() const
Returns the name of this object.
<agrum/PRM/elements/scalarAttribute.h>
void swap(const PRMType &old_type, const PRMType &new_type) override
Swap old_type with new_type in the PRMClassElement cpt.
~PRMScalarAttribute() override
Destructor.
void addParent(const PRMClassElement< GUM_SCALAR > &elt) override
See gum::PRMClassElement::addParent_().
void copyCpf(const Bijection< const DiscreteVariable *, const DiscreteVariable * > &bif, const PRMAttribute< GUM_SCALAR > &source) override
See gum::PRMClassElement::elt_type().
PRMType * _type_
The random variable type of this attribute.
Tensor< GUM_SCALAR > * _cpf_
A pointer on the Tensor of this attribute.
void addChild(const PRMClassElement< GUM_SCALAR > &elt) override
See gum::PRMClassElement::addChild_().
PRMType & type() override
See gum::PRMClassElement::type().
void becomeCastDescendant(PRMType &subtype) override
See gum::PRMClassElement::elt_type().
const Tensor< GUM_SCALAR > & cpf() const override
See gum::PRMClassElement::cpf().
void setAsCastDescendant(PRMAttribute< GUM_SCALAR > *attr) override
See gum::PRMClassElement::elt_type().
PRMType * type_() override
PRMClassElement< GUM_SCALAR >::ClassElementType elt_type() const override
See gum::PRMClassElement::elt_type().
PRMAttribute< GUM_SCALAR > * getCastDescendant() const override
See gum::PRMClassElement::elt_type().
PRMAttribute< GUM_SCALAR > * newFactory(const PRMClass< GUM_SCALAR > &c) const override
See gum::PRMClassElement::elt_type().
PRMScalarAttribute & operator=(const PRMScalarAttribute &from)
Copy operator. Don't use it.
PRMScalarAttribute(std::string_view name, const PRMType &type, MultiDimImplementation< GUM_SCALAR > *impl=new MultiDimArray< GUM_SCALAR >())
Constructor used by gum::Class.
PRMAttribute< GUM_SCALAR > * copy(Bijection< const DiscreteVariable *, const DiscreteVariable * > bij) const override
See gum::PRMClassElement::elt_type().
This is a decoration of the DiscreteVariable class.
namespace for all probabilistic relational models entities
gum is the global namespace for all aGrUM entities