#include <AbstractPoint.hxx>
Public Member Functions | |
AbstractPoint (AbstractPoint *father) | |
AbstractPoint * | getFather () const |
AbstractPoint * | getGodFather () |
bool | amIGod () |
void | setFather (AbstractPoint *father) |
bool | isBegin () |
bool | isLast () |
bool | isSimplyLinkedBeforeAfter (BlocPoint *sop) |
bool | isSimplyLinkedAfterNullBefore (BlocPoint *sop) |
bool | isSimplyLinkedBeforeNullAfter (BlocPoint *sop) |
LinkedBlocPoint * | tryAsLink (BlocPoint *sop) |
ForkBlocPoint * | tryAsFork (BlocPoint *sop) |
ForkBlocPoint * | tryAsForkBis (BlocPoint *sop) |
ForkBlocPoint * | tryAsForkTer (BlocPoint *sop) |
virtual Node * | getFirstNode ()=0 |
virtual Node * | getLastNode ()=0 |
virtual AbstractPoint * | findPointWithNode (Node *node)=0 |
virtual bool | contains (Node *node)=0 |
virtual int | getNumberOfNodes () const =0 |
virtual int | getMaxLevelOfParallelism () const =0 |
virtual std::string | getRepr () const =0 |
virtual | ~AbstractPoint () |
bool | isSimplyLinkedAfter (BlocPoint *sop, Node *node) |
bool | isSimplyLinkedBefore (BlocPoint *sop, Node *node) |
Static Public Member Functions | |
static bool | IsGatherB4Ext (Node *node) |
static bool | IsSimplyLinkedAfterExt (Node *node) |
static bool | IsScatterAfterExt (Node *node) |
static bool | IsSimplyLinkedBeforeExt (Node *node) |
static bool | IsNoLinksBefore (Node *node) |
static bool | IsNoLinksAfter (Node *node) |
static Node * | GetNodeB4 (Node *node) |
static Node * | GetNodeAfter (Node *node) |
static AbstractPoint * | GetDirectSonOf (AbstractPoint *refFather, AbstractPoint *sonOrLittleSon) |
static bool | IsCommonDirectSonOf (AbstractPoint *refFather, const std::list< OutGate * > &outgs, AbstractPoint *&ret) |
static bool | IsCommonDirectSonOf (AbstractPoint *refFather, const std::list< InGate * > &ings, AbstractPoint *&ret) |
Protected Attributes | |
AbstractPoint * | _father |
Definition at line 40 of file AbstractPoint.hxx.
|
inline |
Definition at line 43 of file AbstractPoint.hxx.
|
virtual |
Definition at line 28 of file AbstractPoint.cxx.
|
inline |
Definition at line 46 of file AbstractPoint.hxx.
|
pure virtual |
Implemented in YACS::ENGINE::BlocPoint, and YACS::ENGINE::ElementaryPoint.
|
pure virtual |
Implemented in YACS::ENGINE::ElementaryPoint, and YACS::ENGINE::BlocPoint.
Referenced by IsCommonDirectSonOf().
|
static |
Definition at line 292 of file AbstractPoint.cxx.
References getFather().
Referenced by YACS::ENGINE::BlocPoint::findPointWithNode(), and IsCommonDirectSonOf().
|
inline |
Definition at line 44 of file AbstractPoint.hxx.
Referenced by GetDirectSonOf(), tryAsFork(), tryAsForkBis(), tryAsForkTer(), and tryAsLink().
|
pure virtual |
Implemented in YACS::ENGINE::ElementaryPoint, YACS::ENGINE::BagPoint, YACS::ENGINE::LinkedBlocPoint, and YACS::ENGINE::ForkBlocPoint.
Referenced by isBegin(), isSimplyLinkedAfterNullBefore(), isSimplyLinkedBeforeAfter(), isSimplyLinkedBeforeNullAfter(), tryAsFork(), tryAsForkBis(), tryAsForkTer(), and tryAsLink().
AbstractPoint * AbstractPoint::getGodFather | ( | ) |
Definition at line 32 of file AbstractPoint.cxx.
References _father, and getGodFather().
Referenced by getGodFather().
|
pure virtual |
Implemented in YACS::ENGINE::ElementaryPoint, YACS::ENGINE::BagPoint, YACS::ENGINE::LinkedBlocPoint, and YACS::ENGINE::ForkBlocPoint.
Referenced by isLast(), isSimplyLinkedAfterNullBefore(), isSimplyLinkedBeforeAfter(), isSimplyLinkedBeforeNullAfter(), tryAsFork(), tryAsForkBis(), tryAsForkTer(), and tryAsLink().
|
pure virtual |
Definition at line 281 of file AbstractPoint.cxx.
References YACS::ENGINE::Node::getOutGate().
Referenced by tryAsFork(), tryAsForkBis(), and tryAsForkTer().
Definition at line 270 of file AbstractPoint.cxx.
References YACS::ENGINE::Node::getInGate().
Referenced by tryAsFork(), tryAsForkBis(), and tryAsForkTer().
|
pure virtual |
Implemented in YACS::ENGINE::ElementaryPoint, and YACS::ENGINE::BlocPoint.
|
pure virtual |
bool AbstractPoint::isBegin | ( | ) |
Definition at line 40 of file AbstractPoint.cxx.
References YACS::ENGINE::InGate::getBackLinks(), getFirstNode(), and YACS::ENGINE::Node::getInGate().
|
static |
Definition at line 305 of file AbstractPoint.cxx.
References findPointWithNode(), GetDirectSonOf(), and gui.CONNECTOR::ref().
Referenced by YACS::ENGINE::BlocPoint::getNodeAfter(), YACS::ENGINE::BlocPoint::getNodeB4(), isSimplyLinkedAfter(), and isSimplyLinkedBefore().
|
static |
Definition at line 321 of file AbstractPoint.cxx.
References findPointWithNode(), GetDirectSonOf(), and gui.CONNECTOR::ref().
|
static |
Definition at line 210 of file AbstractPoint.cxx.
References YACS::ENGINE::InGate::getBackLinks(), and YACS::ENGINE::Node::getInGate().
Referenced by tryAsLink().
bool AbstractPoint::isLast | ( | ) |
Definition at line 47 of file AbstractPoint.cxx.
References YACS::ENGINE::OutGate::edSetInGate(), getLastNode(), and YACS::ENGINE::Node::getOutGate().
|
static |
Definition at line 264 of file AbstractPoint.cxx.
References YACS::ENGINE::OutGate::edSetInGate(), and YACS::ENGINE::Node::getOutGate().
Referenced by isSimplyLinkedBeforeNullAfter(), and tryAsForkTer().
|
static |
Definition at line 258 of file AbstractPoint.cxx.
References YACS::ENGINE::InGate::getBackLinks(), and YACS::ENGINE::Node::getInGate().
Referenced by isSimplyLinkedAfterNullBefore(), and tryAsForkBis().
|
static |
Definition at line 234 of file AbstractPoint.cxx.
References YACS::ENGINE::OutGate::edSetInGate(), and YACS::ENGINE::Node::getOutGate().
Referenced by tryAsLink().
Definition at line 216 of file AbstractPoint.cxx.
References YACS::ENGINE::Node::getOutGate(), and IsCommonDirectSonOf().
Referenced by isSimplyLinkedAfterNullBefore(), isSimplyLinkedBeforeAfter(), and tryAsLink().
|
static |
Definition at line 228 of file AbstractPoint.cxx.
References YACS::ENGINE::OutGate::edSetInGate(), and YACS::ENGINE::Node::getOutGate().
Referenced by tryAsFork(), and tryAsForkBis().
bool AbstractPoint::isSimplyLinkedAfterNullBefore | ( | BlocPoint * | sop | ) |
Definition at line 60 of file AbstractPoint.cxx.
References getFirstNode(), getLastNode(), IsNoLinksBefore(), and isSimplyLinkedAfter().
Definition at line 240 of file AbstractPoint.cxx.
References YACS::ENGINE::Node::getInGate(), and IsCommonDirectSonOf().
Referenced by isSimplyLinkedBeforeAfter(), isSimplyLinkedBeforeNullAfter(), and tryAsLink().
bool AbstractPoint::isSimplyLinkedBeforeAfter | ( | BlocPoint * | sop | ) |
Definition at line 54 of file AbstractPoint.cxx.
References getFirstNode(), getLastNode(), isSimplyLinkedAfter(), and isSimplyLinkedBefore().
Referenced by tryAsLink().
|
static |
Definition at line 252 of file AbstractPoint.cxx.
References YACS::ENGINE::InGate::getBackLinks(), and YACS::ENGINE::Node::getInGate().
Referenced by tryAsFork(), and tryAsForkTer().
bool AbstractPoint::isSimplyLinkedBeforeNullAfter | ( | BlocPoint * | sop | ) |
Definition at line 66 of file AbstractPoint.cxx.
References getFirstNode(), getLastNode(), IsNoLinksAfter(), and isSimplyLinkedBefore().
|
inline |
Definition at line 47 of file AbstractPoint.hxx.
Referenced by YACS::ENGINE::BlocPoint::BlocPoint().
ForkBlocPoint * AbstractPoint::tryAsFork | ( | BlocPoint * | sop | ) |
precondition : isSimplyLinkedBeforeAfter must return true on this.
Definition at line 129 of file AbstractPoint.cxx.
References YACS::ENGINE::BlocPoint::findPointWithNode(), getFather(), getFirstNode(), getLastNode(), YACS::ENGINE::BlocPoint::getListOfPoints(), GetNodeAfter(), GetNodeB4(), IsSimplyLinkedAfterExt(), and IsSimplyLinkedBeforeExt().
ForkBlocPoint * AbstractPoint::tryAsForkBis | ( | BlocPoint * | sop | ) |
Definition at line 156 of file AbstractPoint.cxx.
References YACS::ENGINE::BlocPoint::findPointWithNode(), getFather(), getFirstNode(), getLastNode(), YACS::ENGINE::BlocPoint::getListOfPoints(), GetNodeAfter(), GetNodeB4(), IsNoLinksBefore(), and IsSimplyLinkedAfterExt().
ForkBlocPoint * AbstractPoint::tryAsForkTer | ( | BlocPoint * | sop | ) |
Definition at line 183 of file AbstractPoint.cxx.
References YACS::ENGINE::BlocPoint::findPointWithNode(), getFather(), getFirstNode(), getLastNode(), YACS::ENGINE::BlocPoint::getListOfPoints(), GetNodeAfter(), GetNodeB4(), IsNoLinksAfter(), and IsSimplyLinkedBeforeExt().
LinkedBlocPoint * AbstractPoint::tryAsLink | ( | BlocPoint * | sop | ) |
precondition : isSimplyLinkedBeforeAfter must return true on this.
Definition at line 75 of file AbstractPoint.cxx.
References getFather(), getFirstNode(), getLastNode(), YACS::ENGINE::BlocPoint::getNodeAfter(), YACS::ENGINE::BlocPoint::getNodeB4(), IsGatherB4Ext(), IsScatterAfterExt(), isSimplyLinkedAfter(), isSimplyLinkedBefore(), and isSimplyLinkedBeforeAfter().
|
protected |
Definition at line 83 of file AbstractPoint.hxx.
Referenced by getGodFather().