29 #include <agrum/PRM/elements/PRMClassElement.h> 30 #include <agrum/PRM/elements/PRMClassElementContainer.h> 35 template <
typename GUM_SCALAR >
74 }
catch (
NotFound&) {
return false; }
108 "given ClassElement<GUM_SCALAR> is not an " 109 "PRMAttribute or an PRMAggregate");
118 }
catch (
NotFound&) {
return true; }
166 }
catch (
NotFound&) {
return false; }
174 }
catch (
NotFound&) {
return false; }
185 template <
typename GUM_SCALAR >
188 std::string tab =
" ";
189 output <<
"digraph \"" << container.name() <<
"\" {" << std::endl;
191 for (
const auto node: container.containerDag().nodes()) {
192 if (container.containerDag().children(node).size() > 0) {
193 for (
const auto chi: container.containerDag().children(node)) {
194 output << tab <<
"\"" << container.get(node).name() <<
"\" -> " 195 <<
"\"" << container.get(chi).name() <<
"\";" << std::endl;
197 }
else if (container.containerDag().parents(node).size() == 0) {
198 output << tab <<
"\"" << container.get(node).name() <<
"\";" << std::endl;
202 output <<
"}" << std::endl;
INLINE void emplace(Args &&... args)
std::ostream & operator<<(std::ostream &output, const gum::prm::PRMClassElementContainer< GUM_SCALAR > &container)
An << operator for PRMClassElementContainer. Output in the graphviz-dot format.
ParamScopeData(const std::string &s, const PRMReferenceSlot< GUM_SCALAR > &ref, Idx d)