- Timestamp:
- Aug 8, 2008, 12:15:30 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/ablib/src/Classes/System/Collections/Generic/Queue.ab
r577 r579 18 18 Sub Queue () 19 19 This.items = GC_malloc( 1 ) 20 Reset()21 20 End Sub 22 21 23 22 Sub Queue ( capacity As Long ) 24 23 This.items = GC_malloc( 1 ) 25 Reset()26 24 If capacity > 0 Then 27 25 This.size = capacity … … 64 62 */ 65 63 Override Function GetEnumerator () As IEnumerator<T> 66 Return This64 Return New Detail.PointerEnumerator(items, count) 67 65 End Function 68 66 … … 116 114 End If 117 115 End Sub 118 119 120 '------------------------121 ' IEnumeratorの実装122 '------------------------123 currentIndexForEnumerator As Long124 125 Override Function Current () As T126 If This.currentIndexForEnumerator = -1 Then127 ' MoveNextメソッドがReset後、一度も呼び出されなかった128 Return Nothing129 End If130 Return This.items[ This.currentIndexForEnumerator ]131 End Function132 133 Override Function MoveNext() As Boolean134 If This.currentIndexForEnumerator + 1 >= This.size Then135 ' 上限に達した136 Return False137 End If138 139 This.currentIndexForEnumerator ++140 Return True141 End Function142 143 Override Sub Reset ()144 This.currentIndexForEnumerator = -1145 End Sub146 116 End Class 147 117
Note:
See TracChangeset
for help on using the changeset viewer.