Open
Graph Drawing
Framework

 v.2012.05
 

PQBasicKey.h
Go to the documentation of this file.
00001 /*
00002  * $Revision: 2299 $
00003  * 
00004  * last checkin:
00005  *   $Author: gutwenger $ 
00006  *   $Date: 2012-05-07 15:57:08 +0200 (Mon, 07 May 2012) $ 
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     // Constructor
00140     PQBasicKey()
00141     {
00142         m_nodePointer = 0;
00143         m_printString = 0;
00144     }
00145 
00146     // Destructor
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