31 #include <agrum/tools/multidim/aggregators/amplitude.h> 32 #include <agrum/tools/multidim/aggregators/and.h> 33 #include <agrum/tools/multidim/aggregators/count.h> 34 #include <agrum/tools/multidim/aggregators/or.h> 35 #include <agrum/tools/multidim/aggregators/exists.h> 36 #include <agrum/tools/multidim/aggregators/forall.h> 37 #include <agrum/tools/multidim/aggregators/max.h> 38 #include <agrum/tools/multidim/aggregators/median.h> 39 #include <agrum/tools/multidim/aggregators/min.h> 40 #include <agrum/tools/multidim/aggregators/sum.h> 45 template <
typename GUM_SCALAR >
46 PRMAggregate< GUM_SCALAR >::PRMAggregate(
const std::string& name,
47 AggregateType aggType,
48 const PRMType& rvType) :
49 PRMClassElement< GUM_SCALAR >(name),
50 _agg_type_(aggType), _type_(
new PRMType(rvType)),
51 _label_(std::shared_ptr< Idx >(
new Idx(INT_MAX))) {
52 GUM_CONSTRUCTOR(PRMAggregate);
53 this->safeName_ = PRMObject::LEFT_CAST() + _type_->name() + PRMObject::RIGHT_CAST() + name;
54 this->_type_->variable().setName(name);
INLINE void emplace(Args &&... args)
ParamScopeData(const std::string &s, const PRMReferenceSlot< GUM_SCALAR > &ref, Idx d)