Horus Doc || C++ Reference || Class Overview   Pixels   Images   Detector   Geometry   Registry || Doxygen's quick Index  

HxSymbolTable.h

00001 /*
00002  *  Copyright (c) 1998, University of Amsterdam, The Netherlands.
00003  *  All rights reserved.
00004  *
00005  *
00006  *  Author(s):
00007  *  Dennis Koelma (koelma@wins.uva.nl)
00008  *  Edo Poll (poll@wins.uva.nl)
00009  */
00010 
00011 #ifndef HxSymbolTable_h
00012 #define HxSymbolTable_h
00013 
00014 #include "HxIoFwd.h"
00015 #include "HxString.h"
00016 #include "HxToken.h"
00017 
00018 #pragma warning (disable : 4786)
00019 
00020 #include <map>
00021 
00022 
00023 class L_HXBASIS HxSymbolTable
00024 {
00025 public:
00026 
00027                     HxSymbolTable();
00028 
00029     void            insert(HxString, const HxToken&);
00030     const HxToken*  find(HxString) const;
00031 
00032     STD_OSTREAM&    put(STD_OSTREAM&) const;
00033 
00034 private:
00035     typedef std::map<HxString, HxToken, std::less<HxString> > Map;
00036     typedef Map::value_type                         Entry;
00037 
00038 #pragma warning (disable : 4251)
00039     Map             _map;
00040 #pragma warning (default : 4251)
00041 };
00042 
00043 inline STD_OSTREAM&
00044 operator<<(STD_OSTREAM& os, const HxSymbolTable& nameTable)
00045 {
00046     return nameTable.put(os);
00047 }
00048 
00049 #endif

Generated on Tue Feb 3 14:18:42 2004 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001