-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCGDecision.h
43 lines (36 loc) · 1.53 KB
/
CGDecision.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#ifndef _CGDECISION_H_
#define _CGDECISION_H_
#include <DS/DSDecision.h>
#include "CGBasicTypes.h"
#include "CGWriter.h"
class CGDecision : public DSDecision
{
public:
CGDecision(DSObject* = NULL, // Vaterobjekt
DSString* = NULL, // optionales Label
DSExpression* = NULL, // Question (<question>)
DSRangeList* = NULL, // Answer (<answer>)
DSTransitionList* = NULL, // Transitionsliste
DSTransition* = NULL); // Else-Part (<else part>)
CGDecision(DSObject*,
DSString&,
DSExpression* = NULL, // Question (<question>)
DSRangeList* = NULL, // Answer (<answer>)
DSTransitionList* = NULL, // Transitionsliste
DSTransition* = NULL); // Else-Part (<else part>)
CGDecision(DSObject*,
const char *,
DSExpression* = NULL, // Question (<question>)
DSRangeList* = NULL, // Answer (<answer>)
DSTransitionList* = NULL, // Transitionsliste
DSTransition* = NULL); // Else-Part (<else part>)
~CGDecision(void);
DSObject *New(DSObject * = NULL) const; // virtueller Konstruktor
DSResult Write(DSWriter *, DSCardinal) const;
protected:
DSResult WriteCondition(CGWriter *, DSExpression *, DSRange *) const;
DSResult WriteIf(CGWriter *) const;
DSResult WriteSwitch(CGWriter *) const;
DSResult WriteLabel(CGWriter *) const;
};
#endif