29 #include <agrum/PRM/elements/PRMInstance.h> 31 #include <agrum/tools/multidim/implementations/multiDimSparse.h> 35 template <
typename GUM_SCALAR >
36 PRMInstance< GUM_SCALAR >::PRMInstance(
const std::string& name,
37 PRMClass< GUM_SCALAR >& type) :
39 instantiated__(
false), type__(&type) {
40 GUM_CONSTRUCTOR(PRMInstance);
43 for (
const auto agg: type__->aggregates())
44 copyAggregates__(agg);
48 for (
const auto attr: type__->attributes())
49 copyAttribute__(attr);
175 "given Instance type is not a proper " 176 "subclass of the ReferenceSlot<GUM_SCALAR> slot type");
185 "ReferenceSlot<GUM_SCALAR> size limit reached");
198 "given Instance type is not a proper " 199 "subclass of the ClassElementContainer pointed" 200 " by the SlotChain<GUM_SCALAR>");
217 "given ClassElement<GUM_SCALAR> is not an output node");
372 "no Instance associated with the given NodeId");
376 "no ReferenceSlot<GUM_SCALAR> or SlotChain<GUM_SCALAR> " 377 "matches the given NodeId");
388 "no ReferenceSlot<GUM_SCALAR> or SlotChain<GUM_SCALAR> " 389 "matches the given NodeId");
INLINE void emplace(Args &&... args)
ParamScopeData(const std::string &s, const PRMReferenceSlot< GUM_SCALAR > &ref, Idx d)