|
Last change
on this file since 210 was 210, checked in by dai, 19 years ago |
|
空のソースコードによって生成された実行ファイルのバイナリサイズを300KBから100KBに落とした(Enum制御に関するコードジェネレータを改良)。
|
|
File size:
1.2 KB
|
| Rev | Line | |
|---|
| [1] | 1 | Class EnumBase
|
|---|
| 2 | Protected
|
|---|
| [210] | 3 | value As Long
|
|---|
| 4 | lpszName As LPSTR
|
|---|
| [1] | 5 | Public
|
|---|
| [210] | 6 | Sub EnumBase(value As Long,lpszName As LPSTR)
|
|---|
| 7 | This.value = value
|
|---|
| 8 | This.lpszName = lpszName
|
|---|
| [1] | 9 | End Sub
|
|---|
| [201] | 10 |
|
|---|
| [1] | 11 | Sub ~EnumBase()
|
|---|
| 12 | End Sub
|
|---|
| 13 |
|
|---|
| [210] | 14 | Override Function ToString() As String
|
|---|
| 15 | Return New String( lpszName )
|
|---|
| 16 | End Function
|
|---|
| [1] | 17 |
|
|---|
| [210] | 18 | Sub Copy(obj As EnumBase)
|
|---|
| 19 | This.value = obj.value
|
|---|
| 20 | This.lpszName = obj.lpszName
|
|---|
| [1] | 21 | End Sub
|
|---|
| [131] | 22 |
|
|---|
| [1] | 23 | Function Operator() As Long
|
|---|
| [210] | 24 | Return This.value
|
|---|
| [1] | 25 | End Function
|
|---|
| [26] | 26 |
|
|---|
| [210] | 27 | Function Operator == (value As Long) As Boolean
|
|---|
| 28 | If This.value = value Then
|
|---|
| [201] | 29 | Return True
|
|---|
| [26] | 30 | Else
|
|---|
| [201] | 31 | Return False
|
|---|
| [26] | 32 | End If
|
|---|
| 33 | End Function
|
|---|
| [131] | 34 |
|
|---|
| [210] | 35 | Function Operator == (enumBase As EnumBase) As Boolean
|
|---|
| 36 | If This.value = enumBase.value Then
|
|---|
| 37 | Return True
|
|---|
| 38 | Else
|
|---|
| 39 | Return False
|
|---|
| 40 | End If
|
|---|
| [131] | 41 | End Function
|
|---|
| 42 |
|
|---|
| [210] | 43 | Function Operator or (enumBase As EnumBase) As EnumBase
|
|---|
| 44 | Return New EnumBase(This.value Or enumBase.value)
|
|---|
| [131] | 45 | End Function
|
|---|
| [201] | 46 |
|
|---|
| [210] | 47 | Function Operator and (enumBase As EnumBase) As EnumBase
|
|---|
| 48 | Return New EnumBase(This.value And enumBase.value)
|
|---|
| [131] | 49 | End Function
|
|---|
| [201] | 50 |
|
|---|
| [210] | 51 | Function Operator xor (enumBase As EnumBase) As EnumBase
|
|---|
| 52 | Return New EnumBase(This.value Xor enumBase.value)
|
|---|
| [131] | 53 | End Function
|
|---|
| [210] | 54 | End Class
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.