Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

alphabet.H

Go to the documentation of this file.
00001 
00011 #ifndef _ALPHABET_H_
00012 #define _ALPHABET_H_
00013 
00014 #include <string>
00015 #include <map>
00016 using namespace std;
00017 
00019 class Alphabet {
00020 public:
00021   virtual string nameof(long var_num) const = 0; //pure virtual
00022   virtual ~Alphabet(){}
00023 };
00025 
00030 class AutoAlphabet : public Alphabet {
00031 public:
00033   virtual string nameof(long var_num) const;
00034 };
00035 
00037 
00061 class SimpleAlphabet : public Alphabet {
00062 protected:
00064   map< long, string > names;
00066 
00080   long var_in_use;
00081 public:
00082   SimpleAlphabet();
00084   virtual string nameof(long var_num) const;
00086   long new_variable(const string& thename);
00088   long variables_in_use() const;
00089 };
00090 
00091 
00092 
00093 
00094 
00095 
00096 
00097 
00098 
00099 
00100 
00101 
00102 
00103 #endif

Generated on Wed Jun 18 17:22:39 2008 for Pierre Guillot by  doxygen 1.3.9.1