ROSE
0.9.6a
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
AstCombinedSimpleProcessing.h
Go to the documentation of this file.
1
// Author: Gergo Barany
2
// $Id: AstCombinedSimpleProcessing.h,v 1.1 2008/01/08 02:56:38 dquinlan Exp $
3
4
// Class for combining AstSimpleProcessing traversals; see the comment in
5
// AstCombinedProcessing.h for general information.
6
7
#ifndef ASTCOMBINEDSIMPLEPROCESSING_H
8
#define ASTCOMBINEDSIMPLEPROCESSING_H
9
10
#include "
AstSimpleProcessing.h
"
11
12
class
ROSE_DLL_API
AstCombinedSimpleProcessing
13
:
public
AstSimpleProcessing
14
{
15
public
:
16
typedef
AstSimpleProcessing
TraversalType
;
17
typedef
TraversalType
*
TraversalPtr
;
18
typedef
std::vector<TraversalPtr>
TraversalPtrList
;
19
21
AstCombinedSimpleProcessing
();
23
AstCombinedSimpleProcessing
(
const
TraversalPtrList
&);
24
26
void
addTraversal(
TraversalPtr
);
30
TraversalPtrList
&get_traversalPtrListRef();
31
32
protected
:
34
virtual
void
visit
(
SgNode
* astNode);
35
36
virtual
void
atTraversalStart
();
37
virtual
void
atTraversalEnd
();
38
39
TraversalPtrList
traversals
;
40
41
private
:
42
TraversalPtrList::iterator tBegin,
tEnd
;
43
TraversalPtrList::size_type
numberOfTraversals
;
44
};
45
46
class
AstCombinedPrePostProcessing
47
:
public
AstPrePostProcessing
48
{
49
public
:
50
typedef
AstPrePostProcessing
TraversalType
;
51
typedef
TraversalType
*
TraversalPtr
;
52
typedef
std::vector<TraversalPtr>
TraversalPtrList
;
53
55
AstCombinedPrePostProcessing
();
57
AstCombinedPrePostProcessing
(
const
TraversalPtrList
&);
58
60
void
addTraversal
(
TraversalPtr
);
64
TraversalPtrList
&
get_traversalPtrListRef
();
65
66
protected
:
68
virtual
void
preOrderVisit
(
SgNode
* astNode);
69
virtual
void
postOrderVisit
(
SgNode
* astNode);
70
71
virtual
void
atTraversalStart
();
72
virtual
void
atTraversalEnd
();
73
74
TraversalPtrList
traversals
;
75
76
private
:
77
TraversalPtrList::iterator
tBegin
,
tEnd
;
78
TraversalPtrList::size_type
numberOfTraversals
;
79
};
80
81
#endif
rose-edg4x
src
midend
astProcessing
AstCombinedSimpleProcessing.h
Generated on Mon May 5 2014 17:28:49 for ROSE by
1.8.4