' Classes/System/Collections/misc.ab #ifndef __SYSTEM_COLLECTIONS_MISC_AB__ #define __SYSTEM_COLLECTIONS_MISC_AB__ Interface IObject End Interface Interface ICollection Inherits /* IObject, */IEnumerable ' Properties Const Function Count() As Long Const Function IsSynchronized() As BOOL ' Function SyncRoot() As ... ' Methods ' Sub CopyTo(ByRef array As ..., index As Long) End Interface Interface IComparer Inherits IObject ' Methods Function Compare(ByRef x As IObject, ByRef y As IObject) As Long End Interface Interface IDictionary Inherits /*IObject, */ ICollection /*, IEnumerable */ ' Methods Sub Add(ByRef key As IObject, ByRef value As IObject) Sub Clear() Const Function Contains(ByRef key As IObject) As BOOL Const Function GetEnumerator() As *IDictionaryEnumerator Const Function Remove(ByRef key As IObject) As BOOL ' Properties Const Function IsFixedSize() As BOOL Const Function IsReadOnly() As BOOL Const Function Operator [](ByRef key As IObject) As *IObject Sub Operator []=(ByRef key As IObject, ByRef value As IObject) Const Function Keys() As *ICollection Const Function Values() As ICollection End Interface Interface IDictionaryEnumerator Inherits IEnumerator ' Properties Const Function Entry() As DictionaryEntry Const Function Key() As *IObject Const Function Value() As *IObject End Interface Interface IEnumerable Inherits IObject ' Method Function GetEnumerator() As *IEnumerator End Interface Interface IEnumerator Inherits IObject ' Methods Function MoveNext() As BOOL Sub Reset() ' Property Function Current() As *IObject End Interface Interface IEqualityComparer Inherits IObject ' Methods Function Equals(ByRef x As Object, ByRef y As Object) As BOOL Function GetHashCode(ByRef obj As IObject) As Long End Interface Interface IList Inherits ICollection /*, IEnumerable */ ' Methods Function Add(ByRef value As IObject) As Long Sub Clear() Const Function Contains(ByRef value As IObject) As BOOL Const Function IndexOf(ByRef value As IObject) As Long Sub Insert(index As Long, ByRef value As IObject) Sub Remove(ByRef value As IObject) Sub RemoveAt(index As Long) ' Properties Const Function IsFixedSize() As BOOL Const Function IsReadOnly() As BOOL Const Function Operator [](index As Long) As *IObject Const Sub Operator []=(index As Long, ByRef obj As IObject) End Interface Class DictionaryEntry Inherits IObject Public ' Constructors Sub DictionaryEntry() k = 0 v = 0 End Sub Sub DictionaryEntry(ByRef key As IObject, ByRef value As IObject) k = VarPtr(key) v = VarPtr(value) End Sub ' Properties Const Function Key() As *IObject Return k End Function Sub Key(ByRef key As IObject) k = VarPtr(key) End Sub Const Function Value() As *IObject Return v End Function Sub Value(ByRef value As IObject) v = VarPtr(value) End Sub Private k As *IObject v As *IObject End Class #endif '__SYSTEM_COLLECTIONS_MISC_AB__