cbp2make
Makefile generation tool for Code::Blocks IDE
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
lib
stlvariables.h
Go to the documentation of this file.
1
/*
2
cbp2make : Makefile generation tool for the Code::Blocks IDE
3
Copyright (C) 2010-2013 Mirai Computing (mirai.computing@gmail.com)
4
5
This program is free software: you can redistribute it and/or modify
6
it under the terms of the GNU General Public License as published by
7
the Free Software Foundation, either version 3 of the License, or
8
(at your option) any later version.
9
10
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
GNU General Public License for more details.
14
15
You should have received a copy of the GNU General Public License
16
along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
//------------------------------------------------------------------------------
20
#ifndef STL_VARIABLES_H
21
#define STL_VARIABLES_H
22
//------------------------------------------------------------------------------
23
#include "
stlconvert.h
"
24
//------------------------------------------------------------------------------
25
26
const
int
VARIABLE_TYPE_NONE
= 0;
27
const
int
VARIABLE_TYPE_INTEGER
= 1;
28
const
int
VARIABLE_TYPE_FLOAT
= 2;
29
const
int
VARIABLE_TYPE_BOOLEAN
= 1;
30
const
int
VARIABLE_TYPE_STRING
= 4;
31
const
int
VARIABLE_TYPE_CHAR
= 5;
32
const
int
VARIABLE_TYPE_COUNT
= 6;
33
34
class
CVariable
35
{
36
protected
:
37
CString
m_Name
;
38
public
:
39
virtual
int
GetType
(
void
)
const
;
40
virtual
CString
GetTypeName
(
void
)
const
;
41
CString
&
GetName
(
void
);
42
void
SetName
(
const
CString
& Name);
43
virtual
double
GetFloat
(
void
)
const
;
44
virtual
void
SetFloat
(
const
double
Value);
45
virtual
int
GetInteger
(
void
)
const
;
46
virtual
void
SetInteger
(
const
int
Value);
47
virtual
bool
GetBoolean
(
void
)
const
;
48
virtual
void
SetBoolean
(
const
bool
Value);
49
virtual
CString
GetString
(
void
)
const
;
50
virtual
void
SetString
(
const
CString
& Value);
51
virtual
char
GetChar
(
void
)
const
;
52
virtual
void
SetChar
(
const
char
Value);
53
void
Print
(std::ostream& out);
54
public
:
55
CVariable
(
void
);
56
CVariable
(
const
CString
& Name);
57
virtual
~CVariable
(
void
);
58
};
59
60
class
CIntegerVariable
:
public
CVariable
61
{
62
protected
:
63
int
m_Value
;
64
public
:
65
virtual
int
GetType
(
void
)
const
;
66
virtual
CString
GetTypeName
(
void
)
const
;
67
virtual
double
GetFloat
(
void
)
const
;
68
virtual
void
SetFloat
(
const
double
Value);
69
virtual
int
GetInteger
(
void
)
const
;
70
virtual
void
SetInteger
(
const
int
Value);
71
virtual
bool
GetBoolean
(
void
)
const
;
72
virtual
void
SetBoolean
(
const
bool
Value);
73
virtual
CString
GetString
(
void
)
const
;
74
virtual
void
SetString
(
const
CString
& Value);
75
virtual
char
GetChar
(
void
)
const
;
76
virtual
void
SetChar
(
const
char
Value);
77
int
operator=
(
const
CIntegerVariable
& Variable);
78
CIntegerVariable
&
operator =
(
const
double
Value);
79
CIntegerVariable
&
operator =
(
const
int
Value);
80
CIntegerVariable
&
operator =
(
const
bool
Value);
81
CIntegerVariable
&
operator =
(
const
CString
& Value);
82
CIntegerVariable
&
operator =
(
const
char
Value);
83
public
:
84
CIntegerVariable
(
const
CString
& Name,
const
int
Value=0);
85
virtual
~CIntegerVariable
(
void
) {};
86
};
87
88
class
CFloatVariable
:
public
CVariable
89
{
90
protected
:
91
double
m_Value
;
92
public
:
93
virtual
int
GetType
(
void
)
const
;
94
virtual
CString
GetTypeName
(
void
)
const
;
95
virtual
double
GetFloat
(
void
)
const
;
96
virtual
void
SetFloat
(
const
double
Value);
97
virtual
int
GetInteger
(
void
)
const
;
98
virtual
void
SetInteger
(
const
int
Value);
99
virtual
bool
GetBoolean
(
void
)
const
;
100
virtual
void
SetBoolean
(
const
bool
Value);
101
virtual
CString
GetString
(
void
)
const
;
102
virtual
void
SetString
(
const
CString
& Value);
103
virtual
char
GetChar
(
void
)
const
;
104
virtual
void
SetChar
(
const
char
Value);
105
double
operator=
(
const
CFloatVariable
& Variable);
106
CFloatVariable
&
operator =
(
const
double
Value);
107
CFloatVariable
&
operator =
(
const
int
Value);
108
CFloatVariable
&
operator =
(
const
bool
Value);
109
CFloatVariable
&
operator =
(
const
CString
& Value);
110
CFloatVariable
&
operator =
(
const
char
Value);
111
public
:
112
CFloatVariable
(
const
CString
& Name,
const
double
Value=0.0);
113
virtual
~CFloatVariable
(
void
) {};
114
};
115
116
class
CBooleanVariable
:
public
CVariable
117
{
118
protected
:
119
bool
m_Value
;
120
public
:
121
virtual
int
GetType
(
void
)
const
;
122
virtual
CString
GetTypeName
(
void
)
const
;
123
virtual
double
GetFloat
(
void
)
const
;
124
virtual
void
SetFloat
(
const
double
Value);
125
virtual
int
GetInteger
(
void
)
const
;
126
virtual
void
SetInteger
(
const
int
Value);
127
virtual
bool
GetBoolean
(
void
)
const
;
128
virtual
void
SetBoolean
(
const
bool
Value);
129
virtual
CString
GetString
(
void
)
const
;
130
virtual
void
SetString
(
const
CString
& Value);
131
virtual
char
GetChar
(
void
)
const
;
132
virtual
void
SetChar
(
const
char
Value);
133
bool
operator=
(
const
CBooleanVariable
& Variable);
134
CBooleanVariable
&
operator =
(
const
double
Value);
135
CBooleanVariable
&
operator =
(
const
int
Value);
136
CBooleanVariable
&
operator =
(
const
bool
Value);
137
CBooleanVariable
&
operator =
(
const
CString
& Value);
138
CBooleanVariable
&
operator =
(
const
char
Value);
139
public
:
140
CBooleanVariable
(
const
CString
& Name,
const
bool
Value=
false
);
141
virtual
~CBooleanVariable
(
void
) {};
142
};
143
144
class
CStringVariable
:
public
CVariable
145
{
146
protected
:
147
CString
m_Value
;
148
public
:
149
virtual
int
GetType
(
void
)
const
;
150
virtual
CString
GetTypeName
(
void
)
const
;
151
virtual
double
GetFloat
(
void
)
const
;
152
virtual
void
SetFloat
(
const
double
Value);
153
virtual
int
GetInteger
(
void
)
const
;
154
virtual
void
SetInteger
(
const
int
Value);
155
virtual
bool
GetBoolean
(
void
)
const
;
156
virtual
void
SetBoolean
(
const
bool
Value);
157
virtual
CString
GetString
(
void
)
const
;
158
virtual
void
SetString
(
const
CString
& Value);
159
virtual
char
GetChar
(
void
)
const
;
160
virtual
void
SetChar
(
const
char
Value);
161
CString
operator=
(
const
CStringVariable
& Variable);
162
CStringVariable
&
operator =
(
const
double
Value);
163
CStringVariable
&
operator =
(
const
int
Value);
164
CStringVariable
&
operator =
(
const
bool
Value);
165
CStringVariable
&
operator =
(
const
CString
& Value);
166
CStringVariable
&
operator =
(
const
char
Value);
167
public
:
168
CStringVariable
(
const
CString
& Name,
const
CString
Value=
""
);
169
virtual
~CStringVariable
(
void
) {};
170
};
171
172
class
CCharVariable
:
public
CVariable
173
{
174
protected
:
175
char
m_Value
;
176
public
:
177
virtual
int
GetType
(
void
)
const
;
178
virtual
CString
GetTypeName
(
void
)
const
;
179
virtual
double
GetFloat
(
void
)
const
;
180
virtual
void
SetFloat
(
const
double
Value);
181
virtual
int
GetInteger
(
void
)
const
;
182
virtual
void
SetInteger
(
const
int
Value);
183
virtual
bool
GetBoolean
(
void
)
const
;
184
virtual
void
SetBoolean
(
const
bool
Value);
185
virtual
CString
GetString
(
void
)
const
;
186
virtual
void
SetString
(
const
CString
& Value);
187
virtual
char
GetChar
(
void
)
const
;
188
virtual
void
SetChar
(
const
char
Value);
189
char
operator=
(
const
CCharVariable
& Variable);
190
CCharVariable
&
operator =
(
const
double
Value);
191
CCharVariable
&
operator =
(
const
int
Value);
192
CCharVariable
&
operator =
(
const
bool
Value);
193
CCharVariable
&
operator =
(
const
CString
& Value);
194
CCharVariable
&
operator =
(
const
char
Value);
195
public
:
196
CCharVariable
(
const
CString
& Name,
const
char
Value=
char
(0));
197
virtual
~CCharVariable
(
void
) {};
198
};
199
200
#endif
201
//------------------------------------------------------------------------------
Generated on Sun Jun 9 2013 10:55:51 for cbp2make by
1.8.4