source: trunk/Include/Classes/System/Collections/misc.ab@ 493

Last change on this file since 493 was 386, checked in by dai, 17 years ago

StrPtr内の判定ミスを修正。
SPrintFクラス内のx64に対するコードを修正。
ArrayListクラスのIListインターフェイス実装を一旦保留。
ListクラスにIEnumeratable、IEnumeratorインターフェイスを実装(まだ実装中…)。

File size: 3.0 KB
Line 
1' Classes/System/Collections/misc.ab
2
3#ifndef __SYSTEM_COLLECTIONS_MISC_AB__
4#define __SYSTEM_COLLECTIONS_MISC_AB__
5
6Namespace System
7Namespace Collections
8
9Interface ICollection
10 Inherits IEnumerable
11 ' Properties
12 '/*Const*/ Function Count() As Long
13 '/*Const*/ Function IsSynchronized() As Boolean
14 ' Function SyncRoot() As ...
15 ' Methods
16 ' Sub CopyTo(ByRef array As ..., index As Long)
17End Interface
18
19Interface IComparer
20 ' Methods
21 Function Compare(ByRef x As Object, ByRef y As Object) As Long
22End Interface
23
24Interface IDictionary
25 Inherits ICollection /*, IEnumerable */
26 ' Methods
27 Sub Add(ByRef key As Object, ByRef value As Object)
28 Sub Clear()
29 /*Const*/ Function Contains(ByRef key As Object) As Boolean
30' /*Const*/ Function GetEnumerator() As *IDictionaryEnumerator
31 /*Const*/ Function Remove(ByRef key As Object) As Boolean
32 ' Properties
33 /*Const*/ Function IsFixedSize() As Boolean
34 /*Const*/ Function IsReadOnly() As Boolean
35' /*Const*/ Function Operator [](ByRef key As Object) As *Object
36' Sub Operator []=(ByRef key As Object, ByRef value As Object)
37 /*Const*/ Function Keys() As *ICollection
38 /*Const*/ Function Values() As ICollection
39End Interface
40
41Interface IDictionaryEnumerator
42 Inherits IEnumerator
43 ' Properties
44 /*Const*/ Function Entry() As DictionaryEntry
45 /*Const*/ Function Key() As *Object
46 /*Const*/ Function Value() As *Object
47End Interface
48
49Interface IEnumerable
50 ' Method
51 Function GetEnumerator() As IEnumerator
52End Interface
53
54Interface IEnumerator
55 ' Methods
56 Function MoveNext() As Boolean
57 Sub Reset()
58 ' Property
59 Function Current() As Object
60End Interface
61
62Interface IEqualityComparer
63 ' Methods
64 Function Equals(ByRef x As Object, ByRef y As Object) As Boolean
65 Function GetHashCode(ByRef obj As Object) As Long
66End Interface
67
68Interface IList
69 Inherits ICollection /*, IEnumerable */
70 ' Methods
71 'Function Add(value As *Object) As Long
72 'Sub Clear()
73 '/*Const*/ Function Contains(value As *Object) As Boolean
74 /*Const*/ Function IndexOf(value As Object) As Long
75 Sub Insert(index As Long, value As Object)
76 Sub Remove(value As Object)
77 Sub RemoveAt(index As Long)
78 ' Properties
79 /*Const*/ Function IsFixedSize() As Boolean
80 /*Const*/ Function IsReadOnly() As Boolean
81 '/*Const*/ Function Operator [](index As Long) As *Object
82 '/*Const*/ Sub Operator []=(index As Long, obj As *Object)
83End Interface
84
85Class DictionaryEntry
86Public
87 ' /*Const*/ructors
88 Sub DictionaryEntry()
89 k = 0
90 v = 0
91 End Sub
92
93 Sub DictionaryEntry(ByRef key As Object, ByRef value As Object)
94 k = VarPtr(key)
95 v = VarPtr(value)
96 End Sub
97
98 ' Properties
99 /*Const*/ Function Key() As *Object
100 Return k
101 End Function
102
103 Sub Key(ByRef key As Object)
104 k = VarPtr(key)
105 End Sub
106
107 /*Const*/ Function Value() As *Object
108 Return v
109 End Function
110
111 Sub Value(ByRef value As Object)
112 v = VarPtr(value)
113 End Sub
114Private
115 k As *Object
116 v As *Object
117End Class
118
119End Namespace 'Collections
120End Namespace 'System
121
122#endif '__SYSTEM_COLLECTIONS_MISC_AB__
Note: See TracBrowser for help on using the repository browser.