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
record.hh
Go to the documentation of this file.
1
5
#ifndef TYPE_RECORD_HH
6
# define TYPE_RECORD_HH
7
8
# include <list>
9
10
# include <
misc/indent.hh
>
11
# include <
misc/symbol.hh
>
12
# include <
type/type.hh
>
13
# include <
type/field.hh
>
14
# include <
type/fwd.hh
>
15
16
namespace
type
17
{
21
class
Record
:
public
Type
22
{
25
public
:
27
const
Type
*
field_type
(
const
misc::symbol
key)
const
;
31
int
field_index
(
const
misc::symbol
key)
const
;
36
public
:
38
typedef
std::list<Field>
fields_type
;
40
const
fields_type
&
fields_get
()
const
;
41
43
void
field_add
(
const
Field
& field);
45
void
field_add
(
const
misc::symbol
name,
const
Type
& type);
46
48
typedef
fields_type::const_iterator
const_iterator
;
49
const_iterator
begin
()
const
;
50
const_iterator
end
()
const
;
53
// FIXME: Some code was deleted here (Inherited virtual methods).
54
55
protected
:
57
fields_type
fields_
;
58
};
59
60
61
}
// namespace type
62
63
# include <
type/record.hxx
>
64
65
#endif // !TYPE_RECORD_HH
type
record.hh
Generated on Wed Mar 5 2014 15:47:37 for LRDE Tiger Compiler by
1.8.1.2