symbolset.h

Go to the documentation of this file.
00001 
00004 /* FAU Discrete Event Systems Library (libfaudes)
00005 
00006    Copyright (C) 2006  Bernd Opitz
00007    Copyright (C) 2007  Thomas Moor
00008    Exclusive copyright is granted to Klaus Schmidt
00009 
00010    This library is free software; you can redistribute it and/or
00011    modify it under the terms of the GNU Lesser General Public
00012    License as published by the Free Software Foundation; either
00013    version 2.1 of the License, or (at your option) any later version.
00014 
00015    This library is distributed in the hope that it will be useful,
00016    but WITHOUT ANY WARRANTY; without even the implied warranty of
00017    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018    Lesser General Public License for more details.
00019 
00020    You should have received a copy of the GNU Lesser General Public
00021    License along with this library; if not, write to the Free Software
00022    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
00023 
00024 
00025 
00026 #ifndef FAUDES_SYMBOLSET_H
00027 
00028 #include "definitions.h"
00029 #include "attributes.h"
00030 #include "symboltable.h"
00031 #include "baseset.h"
00032 #include <set>
00033 #include <map>
00034 #include <algorithm>
00035 
00036 namespace faudes {
00037 
00068 class SymbolSet : public TBaseSet<std::string> {
00069 
00070 
00071 public:
00072 
00076   SymbolSet(void);
00077 
00081   SymbolSet(const TBaseSet<std::string>& rOtherSet);
00082 
00096   SymbolSet(const std::string& rFilename, const std::string& rLabel = "SymbolSet");
00097 
00101   virtual ~SymbolSet(void) {};
00102 
00110    bool Valid(const std::string& symbol) const;
00111    
00115   typedef TBaseSet<std::string>::Iterator Iterator;
00116 
00125   bool Insert(const std::string& symbol);
00126 
00134   Idx Signature(void) const {return 0;};
00135 
00145   std::string Str(const std::string& symbol) const {return symbol; };
00146 
00147  protected:
00148 
00162   void DoWrite(TokenWriter& tw, const std::string& rLabel="", const Type* pContext=0) const;
00163 
00178   void DoRead(TokenReader& rTr, const std::string& rLabel = "", const Type* pContext=0);
00179 
00180 
00181 };
00182 
00183 
00187 } // namespace faudes
00188 
00189 #define FAUDES_SYMBOLSET_H
00190 #endif 

Generated on Mon Nov 10 08:13:15 2008 for libFAUDES 2.11v by  doxygen 1.4.4