Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00043 #ifdef _MSC_VER
00044 #pragma once
00045 #endif
00046
00047
00048 #ifndef OGDF_PQ_BASICKEY_H
00049 #define OGDF_PQ_BASICKEY_H
00050
00051
00052
00053 #include <stdlib.h>
00054 #include <ogdf/internal/planarity/PQBasicKeyRoot.h>
00055
00056
00057 namespace ogdf {
00058
00130 template<class T,class X, class Y> class PQNode;
00131
00132
00133
00134 template<class T,class X,class Y>
00135 class PQBasicKey: public PQBasicKeyRoot {
00136
00137 public:
00138
00139
00140 PQBasicKey()
00141 {
00142 m_nodePointer = 0;
00143 m_printString = 0;
00144 }
00145
00146
00147 virtual ~PQBasicKey() {
00148 delete[] m_printString;
00149 }
00150
00170 PQNode<T,X,Y>* nodePointer() { return m_nodePointer; }
00171
00180 virtual const char* print() { return "\0"; }
00181
00189 void setNodePointer(PQNode<T,X,Y>* node) { m_nodePointer = node; }
00190
00192 virtual T userStructKey() = 0;
00193
00195 virtual X userStructInfo() = 0;
00196
00198 virtual Y userStructInternal() = 0;
00199
00200 protected:
00201
00203 char* m_printString;
00204
00205 private:
00206
00210 PQNode<T,X,Y>* m_nodePointer;
00211
00212 };
00213
00214 }
00215
00216 #endif