- parent graph manipulation methods:
boolean setParentGraph(BiGraph<TObject>* parent);
BiGraph<TObject>* getParentGraph() const;
- vertex manipulation methods:
boolean insertArcChild(BiGraphVertex<TObject>* vertex, float weight = BiGraphArc<TObject>::DEF_WEIGHT, boolean is_epsilon = BiGraphArc<TObject>::DEF_EPSILON);
boolean insertArcParent(BiGraphVertex<TObject>* vertex, float weight = BiGraphArc<TObject>::DEF_WEIGHT, boolean is_epsilon = BiGraphArc<TObject>::DEF_EPSILON);
boolean insertArcChild(BiGraphVertex<TObject>* vertex, boolean is_epsilon = BiGraphArc<TObject>::DEF_EPSILON);
boolean insertArcParent(BiGraphVertex<TObject>* vertex, boolean is_epsilon = BiGraphArc<TObject>::DEF_EPSILON);
boolean removeArcChild(BiGraphVertex<TObject>* vertex);
boolean removeArcParent(BiGraphVertex<TObject>* vertex);
boolean removeArcChild();
boolean removeArcParent();
boolean removeAllArcsChild();
boolean removeAllArcsParent();
boolean isAdjacentChild(BiGraphVertex<TObject>* vertex) const;
boolean isAdjacentParent(BiGraphVertex<TObject>* vertex) const;
- vertex comparison methods:
boolean compareVertices(const BiGraphVertex<TObject>& compare_vertex_a) const;
- adjacency list retrieval methods:
DoubleLinkedList<BiGraphArc<TObject&> >* getParents();
DoubleLinkedList<BiGraphArc<TObject&> >* getChildren();
- adjacency list positioning methods:
boolean gotoFirstChild();
boolean gotoLastChild();
boolean gotoNextChild();
boolean gotoPrevChild();
boolean gotoMarkChild();
boolean gotoPositionChild(long arg);
long getPositionChild();
boolean gotoFirstParent();
boolean gotoLastParent();
boolean gotoNextParent();
boolean gotoPrevParent();
boolean gotoMarkParent();
boolean gotoPositionParent(long arg);
long getPositionParent();
- adjacency list marking methods:
boolean markIsSetChild();
boolean isMarkedElementChild();
boolean clearMarkChild();
boolean setMarkChild();
boolean markIsSetParent();
boolean isMarkedElementParent();
boolean clearMarkParent();
boolean setMarkParent();
- adjacency list access methods:
BiGraphArc<TObject>* getFirstChild();
BiGraphArc<TObject>* getLastChild();
BiGraphArc<TObject>* getNextChild();
BiGraphArc<TObject>* getPrevChild();
BiGraphArc<TObject>* getMarkChild();
BiGraphArc<TObject>* getCurrChild();
BiGraphArc<TObject>* getFirstChild() const;
BiGraphArc<TObject>* getLastChild() const;
BiGraphArc<TObject>* getNextChild() const;
BiGraphArc<TObject>* getPrevChild() const;
BiGraphArc<TObject>* getMarkChild() const;
BiGraphArc<TObject>* getCurrChild() const;
BiGraphArc<TObject>* getFirstParent();
BiGraphArc<TObject>* getLastParent();
BiGraphArc<TObject>* getNextParent();
BiGraphArc<TObject>* getPrevParent();
BiGraphArc<TObject>* getMarkParent();
BiGraphArc<TObject>* getCurrParent();
BiGraphArc<TObject>* getFirstParent() const;
BiGraphArc<TObject>* getLastParent() const;
BiGraphArc<TObject>* getNextParent() const;
BiGraphArc<TObject>* getPrevParent() const;
BiGraphArc<TObject>* getMarkParent() const;
BiGraphArc<TObject>* getCurrParent() const;
- adjacency list insert-remove methods:
boolean insertChild(BiGraphArc<TObject>* arg);
boolean insertChild(DoubleLinkedList<BiGraphArc<TObject> >& arg);
boolean insertFirstChild(BiGraphArc<TObject>* arg);
boolean insertFirstChild(DoubleLinkedList<BiGraphArc<TObject> >& arg);
boolean insertLastChild(BiGraphArc<TObject>* arg);
boolean insertLastChild(DoubleLinkedList<BiGraphArc<TObject> >& arg);
boolean removeChild(BiGraphArc<TObject>*& arg);
boolean removeChild();
boolean removeFirstChild(BiGraphArc<TObject>*& arg);
boolean removeFirstChild();
boolean removeLastChild(BiGraphArc<TObject>*& arg);
boolean removeLastChild();
boolean insertParent(BiGraphArc<TObject>* arg);
boolean insertParent(DoubleLinkedList<BiGraphArc<TObject> >& arg);
boolean insertFirstParent(BiGraphArc<TObject>* arg);
boolean insertFirstParent(DoubleLinkedList<BiGraphArc<TObject> >& arg);
boolean insertLastParent(BiGraphArc<TObject>* arg);
boolean insertLastParent(DoubleLinkedList<BiGraphArc<TObject> >& arg);
boolean removeParent(BiGraphArc<TObject>*& arg);
boolean removeParent();
boolean removeFirstParent(BiGraphArc<TObject>*& arg);
boolean removeFirstParent();
boolean removeLastParent(BiGraphArc<TObject>*& arg);
boolean removeLastParent();
- adjacency list property methods:
boolean isEmptyChild() const;
boolean isFirstChild() const;
boolean isLastChild() const;
long lengthChild() const;
boolean findChild(const BiGraphArc<TObject>* arg) const;
boolean containsChild(const BiGraphArc<TObject>* arg) const;
boolean isEmptyParent() const;
boolean isFirstParent() const;
boolean isLastParent() const;
long lengthParent() const;
boolean findParent(const BiGraphArc<TObject>* arg) const;
boolean containsParent(const BiGraphArc<TObject>* arg) const;
- adjacency list ordering methods:
boolean sortChild(Integral::ORDER sort_order = Integral::ASCENDING, SORT_ALGO = DEF_SORT_ALGO);
boolean reverseChild();
boolean swapChild(long i, long j);
boolean sortParent(Integral::ORDER sort_order = Integral::ASCENDING, SORT_ALGO = DEF_SORT_ALGO);
boolean reverseParent();
boolean swapParent(long i, long j);
- adjacency list ordering methods:
ALLOCATION getAllocationModeChild();
boolean setAllocationModeChild(ALLOCATION arg);
ALLOCATION getAllocationModeParent();
boolean setAllocationModeParent(ALLOCATION arg);