Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

node.h

Go to the documentation of this file.
00001 /* ===========================================================================
00002  *        Filename:  node.h
00003  *     Description:  Simple Node class
00004  * 
00005  *         Version:  $Rev: 8 $
00006  *         Changed:  $Date: 2005-08-04 15:05:09 -0400 (Do, 04 Aug 2005) $
00007  *         Licence:  GPL (read COPYING file for details)
00008  * 
00009  *          Author:  Erich Schubert (eS), erich@debian.org
00010  *                   Institut für Informatik, LMU München
00011  * ======================================================================== */
00012 #ifndef  SSDTREE_H
00013 #define  SSDTREE_H
00014 #include <vector>
00015 #include <iostream>
00016 // for std::pair
00017 #include <utility>
00018 #include <map>
00019 
00020 #include "config.h"
00021 #include "rel_eqclass.h"
00022 #include "rel_count.h"
00023 
00024 using namespace std;
00025 using namespace __gnu_cxx;
00026 
00027 namespace SSD {
00028 
00029 class Node;
00030 
00032 typedef vector<Node*>   NodeVec;
00033 
00037 class Node {
00038 public:
00040         ustring         label;
00042         ustring         content;
00044         NodeVec*        relup;
00046         NodeVec*        reldown;
00048         NodeVec*        children;
00050         Node*           parent;
00051 
00053         void*           data;
00059         Node(ustring l, ustring c, Node* par, void* d) :
00060                 label(l), content(c),
00061                 relup(NULL), reldown(NULL),
00062                 children(NULL), parent(par), data(d)
00063                 {};
00065         void addChild(Node* node);
00067         ~Node();
00068 
00073         friend ostream &operator<<(ostream &st, const Node &n);
00074 };
00075 }
00076 
00077 #endif   /* ----- #ifndef SSDTREE_H  ----- */

Generated on Thu Aug 4 17:57:12 2005 for SSDDiff by  doxygen 1.4.3-20050530