Ignore:
Timestamp:
Aug 9, 2008, 1:44:45 PM (16 years ago)
Author:
イグトランス (egtra)
Message:

非Genericコレクションインタフェースの扱いを大幅に縮小。Queue/Stackの実装インタフェースの修正。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/ablib/src/Classes/System/Collections/misc.ab

    r577 r582  
    11' Classes/System/Collections/misc.ab
    2 
    3 #ifndef __SYSTEM_COLLECTIONS_MISC_AB__
    4 #define __SYSTEM_COLLECTIONS_MISC_AB__
    52
    63Namespace System
    74Namespace Collections
    8 
    9 Interface ICollection
    10     Inherits IEnumerable
    11     ' Properties
    12     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)
    17 End Interface
    18 
    19 Interface IComparer
    20     ' Methods
    21     Function Compare(ByRef x As Object, ByRef y As Object) As Long
    22 End Interface
    23 
    24 Interface 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
    39 End Interface
    40 
    41 Interface IDictionaryEnumerator
    42     Inherits IEnumerator
    43     ' Properties
    44     /*Const*/ Function Entry() As DictionaryEntry
    45     /*Const*/ Function Key() As *Object
    46     /*Const*/ Function Value() As *Object
    47 End Interface
    485
    496Interface IEnumerable
     
    6017End Interface
    6118
    62 Interface 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
    66 End Interface
    67 
    6819Interface IList
    69     Inherits ICollection /*, IEnumerable */
     20    'Inherits /*, IEnumerable */
    7021    ' Methods
    7122    'Function Add(value As *Object) As Long
     
    8334End Interface
    8435
    85 Class DictionaryEntry
    86 Public
    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
    114 Private
    115     k As *Object
    116     v As *Object
    117 End Class
    118 
    11936End Namespace 'Collections
    12037End Namespace 'System
    121 
    122 #endif '__SYSTEM_COLLECTIONS_MISC_AB__
Note: See TracChangeset for help on using the changeset viewer.