LRDE Tiger Compiler
1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
named.hh
Go to the documentation of this file.
1
5
#ifndef TYPE_NAMED_HH
6
# define TYPE_NAMED_HH
7
8
# include <
misc/symbol.hh
>
9
# include <
type/type.hh
>
10
# include <
type/fwd.hh
>
11
12
namespace
type
13
{
19
class
Named
:
public
Type
20
{
23
public
:
26
Named
(
misc::symbol
name);
30
Named
(
misc::symbol
name,
const
Type
* type);
32
~Named
();
38
public
:
40
const
Type
*
type_get
()
const
;
41
43
void
type_set
(
const
Type
* type);
44
49
void
type_set
(
const
Type
* type)
const
;
50
52
misc::symbol
name_get
()
const
;
53
55
void
name_set
(
const
misc::symbol
& name);
61
public
:
63
const
Type
&
actual
()
const
;
64
67
bool
sound
()
const
;
70
virtual
bool
compatible_with
(
const
Type
& other)
const override
;
71
72
public
:
74
virtual
std::ostream&
dump
(std::ostream& ostr)
const override
;
75
76
protected
:
78
misc::symbol
name_
;
79
91
mutable
const
Type
*
type_
;
92
};
93
94
95
}
// namespace type
96
97
# include <
type/named.hxx
>
98
99
#endif // !TYPE_NAMED_HH
type
named.hh
Generated on Wed Mar 5 2014 15:47:37 for LRDE Tiger Compiler by
1.8.1.2