Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

LatticeDef.h

Go to the documentation of this file.
00001 #if !defined(LATTICEDEF_H)
00002 #define LATTICEDEF_H
00003 
00004 
00006 // Lat                                                                //
00007 //                                                                    //
00008 // Package:  Lat (Lattice Navigation Model).                          //
00009 //                                                                    //
00010 // Lattice Type Definitiosn:-                                         //
00011 //                                                                    //
00012 //  1)  ID Identifier type.  Currently void*. Can be changed subject  //
00013 //          to assumptions:-                                          //
00014 //                                                                    //
00015 //             1)  A simple value != 0 (0 is used to signal missing)  //
00016 //             2)  Has unique maping to its object                    //
00017 //             2)  Provides access to its object                      //
00018 //                                                                    //
00019 //  2)  Classes derived from ID                                       //
00020 //                                                                    //
00021 //  3)  Classes derived from Lattice base classes Base, Link,         //
00022 //                                             LeftNode, RightNode    //
00023 //                                                                    //
00024 //  4)  Link data classes: LinkData and StoreableType (not currently  //
00025 //                                                      used).        //
00026 //                                                                    //
00027 // N. West  03/2000                                                   //
00029 
00030 
00031 
00032 #include "Rtypes.h"
00033 #include <vector>
00034 using namespace std;
00035 
00036 class LatticeLeftNode;
00037 class LatticeRightNode;
00038 class LatticeBase;
00039 class LatticeLink;
00040 
00041 class DefaultLinkData;
00042 
00043 class StorableType{
00044 
00045  public:
00046   void*  identifier() const {return 0;}
00047 };
00048 
00049 class LatticeDef{
00050 
00051 public:
00052 
00053   typedef  void*            Identifier;
00054   typedef  Identifier       ID;  // Just a convenient short form
00055   typedef  Identifier       LeftID;
00056   typedef  Identifier       RightID;
00057 
00058   typedef  vector<ID>       VectorID;
00059   typedef  VectorID         VectorLeftID;
00060   typedef  VectorID         VectorRightID;
00061 
00062   typedef  LatticeLink      Link;
00063   typedef  vector<Link*>    Links;
00064 
00065   typedef  StorableType     StoreType;
00066   typedef  DefaultLinkData  LinkData;
00067 };
00068 
00069 
00070 
00071 
00072 
00073 #endif /* LATTICEDEV_H */

Generated on Mon Feb 15 11:06:50 2010 for loon by  doxygen 1.3.9.1