29 #ifndef GUM_EDGE_GROWTH_H 30 #define GUM_EDGE_GROWTH_H 37 #include <agrum/tools/core/math/math_utils.h> 38 #include <agrum/tools/core/bijection.h> 39 #include <agrum/tools/core/sequence.h> 40 #include <agrum/tools/core/set.h> 42 #include <agrum/tools/graphs/diGraph.h> 44 #include <agrum/tools/graphs/algorithms/triangulations/partialOrderedTriangulation.h> 46 #include <agrum/PRM/gspan/interfaceGraph.h> 47 #include <agrum/PRM/gspan/pattern.h> 52 template <
typename GUM_SCALAR >
61 template <
typename GUM_SCALAR >
64 friend class DFSTree< GUM_SCALAR >;
66 EdgeGrowth(NodeId a_u,
71 EdgeGrowth(
const EdgeGrowth& from);
84 void insert(PRMInstance< GUM_SCALAR >* u, PRMInstance< GUM_SCALAR >* v);
88 std::pair< PRMInstance< GUM_SCALAR >*, PRMInstance< GUM_SCALAR >* > >
91 std::string toString();
97 std::vector< NodeId >* degree_list;
99 Set< NodeId > max_indep_set;
102 template <
typename GUM_SCALAR >
103 std::ostream& operator<<(std::ostream& out,
104 const EdgeGrowth< GUM_SCALAR >& edge);
107 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 108 extern template class EdgeGrowth<
double >;
116 #include <agrum/PRM/gspan/edgeGrowth_tpl.h>