LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
field.hh
Go to the documentation of this file.
1 
5 #ifndef TYPE_FIELD_HH
6 # define TYPE_FIELD_HH
7 
8 # include <misc/symbol.hh>
9 # include <type/type.hh>
10 # include <type/fwd.hh>
11 
12 namespace type
13 {
14 
18  class Field
19  {
22  public:
23  virtual ~Field();
28  public:
32  Field(misc::symbol name, const Type& type);
37  public:
39  misc::symbol name_get() const;
41  const Type& type_get() const;
44  public:
46  virtual std::ostream& dump(std::ostream& ostr) const;
47 
48  protected:
51 
53  const Type& type_;
54  };
55 
57  std::ostream& operator<<(std::ostream& ostr, const Field& obj);
58 
59 
60 } // namespace type
61 
62 # include <type/field.hxx>
63 
64 #endif // !TYPE_FIELD_HH