20 #ifndef __ABSTRACTPOINT_HXX__
21 #define __ABSTRACTPOINT_HXX__
46 bool amIGod() {
return getGodFather()==0; }
51 bool isSimplyLinkedBeforeAfter(
BlocPoint *sop);
52 bool isSimplyLinkedAfterNullBefore(
BlocPoint *sop);
53 bool isSimplyLinkedBeforeNullAfter(
BlocPoint *sop);
60 virtual Node *getFirstNode() = 0;
61 virtual Node *getLastNode() = 0;
63 virtual bool contains(
Node *node) = 0;
64 virtual int getNumberOfNodes()
const = 0;
65 virtual int getMaxLevelOfParallelism()
const = 0;
66 virtual std::string getRepr()
const = 0;
69 static bool IsGatherB4Ext(
Node *node);
71 static bool IsSimplyLinkedAfterExt(
Node *node);
72 static bool IsScatterAfterExt(
Node *node);
74 static bool IsSimplyLinkedBeforeExt(
Node *node);
75 static bool IsNoLinksBefore(
Node *node);
76 static bool IsNoLinksAfter(
Node *node);
78 static Node *GetNodeAfter(
Node *node);