LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
metavar-map.hh
Go to the documentation of this file.
1 
6 #ifndef PARSE_METAVAR_MAP_HH
7 # define PARSE_METAVAR_MAP_HH
8 
9 # include <string>
10 # include <misc/map.hh>
11 
12 namespace parse
13 {
14 
16  template <typename Data>
17  class MetavarMap
18  {
19  public:
21  MetavarMap(const std::string& name);
22  virtual ~MetavarMap();
23 
26  std::string show(unsigned key);
27 
28  protected:
30  virtual std::string append_(unsigned& key, Data* data);
32  virtual Data* take_(unsigned key);
33 
35  const std::string name_;
39  };
40 
41 }
42 
43 # include <parse/metavar-map.hxx>
44 
45 #endif // !PARSE_METAVAR_MAP_HH