Ignore:
Timestamp:
Dec 8, 2007, 10:25:13 PM (17 years ago)
Author:
イグトランス (egtra)
Message:

GetHashCode, Equalsの実装

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Include/Classes/System/Blittable.ab

    r332 r392  
    1919        End Function
    2020
     21        Override Function Equals(y As Object) As Boolean
     22            If Object.ReferenceEquals(GetType(), y.GetType()) Then
     23                Return Equals(y As System.SByte)
     24            End If
     25        End Function
     26
     27        Function Equals(y As SByte) As Boolean
     28            Return value = y
     29        End Function
     30
     31        Override Function GetHashCode() As Long
     32            Return value
     33        End Function
     34
    2135        Function Operator() As SByte
    2236            Return value
     
    4660        End Function
    4761
     62        Override Function Equals(y As Object) As Boolean
     63            If Object.ReferenceEquals(GetType(), y.GetType()) Then
     64                Return Equals(y As System.Byte)
     65            End If
     66        End Function
     67
     68        Function Equals(y As Byte) As Boolean
     69            Return value = y
     70        End Function
     71
     72        Override Function GetHashCode() As Long
     73            Return value
     74        End Function
     75
    4876        Function Operator() As Byte
    4977            Return value
     
    73101        End Function
    74102
     103        Override Function Equals(y As Object) As Boolean
     104            If Object.ReferenceEquals(GetType(), y.GetType()) Then
     105                Return Equals(y As System.Int16)
     106            End If
     107        End Function
     108
     109        Function Equals(y As Integer) As Boolean
     110            Return value = y
     111        End Function
     112
     113        Override Function GetHashCode() As Long
     114            Return value
     115        End Function
     116
    75117        Function Operator() As Integer
    76118            Return value
     
    100142        End Function
    101143
     144        Override Function Equals(y As Object) As Boolean
     145            If Object.ReferenceEquals(GetType(), y.GetType()) Then
     146                Return Equals(y As UInt16)
     147            End If
     148        End Function
     149
     150        Function Equals(y As Word) As Boolean
     151            Return value = y
     152        End Function
     153
     154        Override Function GetHashCode() As Long
     155            Return value
     156        End Function
     157
    102158        Function Operator() As Word
    103159            Return value
     
    127183        End Function
    128184
     185        Override Function Equals(y As Object) As Boolean
     186            If Object.ReferenceEquals(GetType(), y.GetType()) Then
     187                Return Equals(y As Int32)
     188            End If
     189        End Function
     190
     191        Function Equals(y As Long) As Boolean
     192            Return value = y
     193        End Function
     194
     195        Override Function GetHashCode() As Long
     196            Return value
     197        End Function
     198
    129199        Function Operator() As Long
    130200            Return value
     
    154224        End Function
    155225
     226        Override Function Equals(y As Object) As Boolean
     227            If Object.ReferenceEquals(GetType(), y.GetType()) Then
     228                Return Equals(y As UInt32)
     229            End If
     230        End Function
     231
     232        Function Equals(y As DWord) As Boolean
     233            Return value = y
     234        End Function
     235
     236        Override Function GetHashCode() As Long
     237            Return value As Long
     238        End Function
     239
    156240        Function Operator() As DWord
    157241            Return value
     
    181265        End Function
    182266
     267        Override Function Equals(y As Object) As Boolean
     268            If Object.ReferenceEquals(GetType(), y.GetType()) Then
     269                Return Equals(y As System.Int64)
     270            End If
     271        End Function
     272
     273        Function Equals(y As Int64) As Boolean
     274            Return value = y
     275        End Function
     276
     277        Override Function GetHashCode() As Long
     278            Return _System_HashFromUInt(value As QWord)
     279        End Function
     280
    183281        Function Operator() As Int64
    184282            Return value
     
    208306        End Function
    209307
     308        Override Function Equals(y As Object) As Boolean
     309            If Object.ReferenceEquals(GetType(), y.GetType()) Then
     310                Return Equals(y As UInt64)
     311            End If
     312        End Function
     313
     314        Function Equals(y As QWord) As Boolean
     315            Return value = y
     316        End Function
     317
     318        Override Function GetHashCode() As Long
     319            Return _System_HashFromUInt(value)
     320        End Function
     321
    210322        Function Operator() As QWord
    211323            Return value
     
    235347        End Function
    236348
     349        Override Function Equals(y As Object) As Boolean
     350            If Object.ReferenceEquals(GetType(), y.GetType()) Then
     351                Return Equals(y As System.Single)
     352            End If
     353        End Function
     354
     355        Function Equals(y As Single) As Boolean
     356            Return value = y
     357        End Function
     358
     359        Override Function GetHashCode() As Long
     360            Return GetDWord(VarPtr(value)) As Long
     361        End Function
     362
    237363        Function Operator() As Single
    238364            Return value
     
    262388        End Function
    263389
     390        Override Function Equals(y As Object) As Boolean
     391            If Object.ReferenceEquals(GetType(), y.GetType()) Then
     392                Return Equals(y As System.Double)
     393            End If
     394        End Function
     395
     396        Function Equals(y As Double) As Boolean
     397            Return value = y
     398        End Function
     399
     400        Override Function GetHashCode() As Long
     401            Return _System_HashFromUInt(GetQWord(VarPtr(value)))
     402        End Function
     403
    264404        Function Operator() As Double
    265405            Return value
Note: See TracChangeset for help on using the changeset viewer.