5 #ifndef BPP_GRAPH_DAGRAPH_H 6 #define BPP_GRAPH_DAGRAPH_H 14 #include "../Exceptions.h" 15 #include "../Numeric/VectorTools.h" 28 virtual bool isValid()
const = 0;
135 #endif // BPP_GRAPH_DAGRAPH_H virtual void addFather(Graph::NodeId node, Graph::NodeId father)=0
virtual bool hasFather(Graph::NodeId node) const =0
virtual std::vector< Graph::EdgeId > getBelowEdges(Graph::NodeId localRoot) const =0
virtual bool isRooted() const =0
virtual std::vector< Graph::NodeId > removeFathers(Graph::NodeId node)=0
virtual void removeFather(Graph::NodeId node, Graph::NodeId father)=0
virtual bool isValid() const =0
virtual std::vector< Graph::NodeId > removeSons(Graph::NodeId node)=0
virtual std::vector< Graph::NodeId > getFathers(Graph::NodeId node) const =0
virtual std::vector< Graph::NodeId > getSons(Graph::NodeId node) const =0
virtual void rootAt(Graph::NodeId newRoot)=0
virtual std::vector< Graph::NodeId > getLeavesUnderNode(Graph::NodeId node) const =0
virtual size_t getNumberOfFathers(Graph::NodeId node) const =0
Get the number of fathers nodes.
void addSon(Graph::NodeId node, Graph::NodeId sonNode)
virtual std::vector< Graph::NodeId > getBelowNodes(Graph::NodeId localRoot) const =0
virtual void removeSon(Graph::NodeId node, Graph::NodeId son)=0
virtual size_t getNumberOfSons(Graph::NodeId node) const =0
Get the number of sons node.