mirror of
https://github.com/Z3Prover/z3
synced 2025-08-02 09:20:22 +00:00
Update interface of network flows
This commit is contained in:
parent
759d80dfe3
commit
ab4efe2da0
5 changed files with 360 additions and 407 deletions
|
@ -47,24 +47,14 @@ namespace smt {
|
|||
typedef int node;
|
||||
|
||||
public:
|
||||
virtual void initialize(svector<bool> const & upwards, int num_nodes) {};
|
||||
|
||||
/**
|
||||
\brief Get all descendants of a node including itself
|
||||
*/
|
||||
virtual void initialize(svector<bool> const & upwards) {};
|
||||
virtual void get_descendants(node start, svector<node> & descendants) {};
|
||||
/**
|
||||
\brief Get all ancestors of a node including itself
|
||||
*/
|
||||
virtual void get_ancestors(node start, svector<node> & ancestors) {};
|
||||
|
||||
virtual node get_common_ancestor(node u, node v) {UNREACHABLE(); return -1;};
|
||||
virtual void update(node p, node q, node u, node v) {};
|
||||
|
||||
virtual void update(edge_id enter_id, edge_id leave_id, bool & is_swap_enter, bool & is_swap_leave) {};
|
||||
virtual bool check_well_formed() {UNREACHABLE(); return false;};
|
||||
|
||||
// TODO: remove these two unnatural functions
|
||||
virtual bool get_arc_direction(node start) const {UNREACHABLE(); return false;};
|
||||
virtual node get_parent(node start) {UNREACHABLE(); return -1;};
|
||||
virtual void get_path(node start, node end, svector<edge_id> & path, svector<bool> & against) {};
|
||||
virtual bool is_forward_edge(edge_id e_id) const {UNREACHABLE(); return false;};
|
||||
virtual bool is_ancestor_of(node ancestor, node child) {UNREACHABLE(); return false;};
|
||||
};
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue