DEADSOFTWARE

save/load fixes
[d2df-sdl.git] / src / shared / hashtable.pas
index 8aaa522a45bae64530243a8fa031f42b4b035b4f..fa6ec85f4c7d6d9e14a58298c3e0450275c72463 100644 (file)
@@ -54,6 +54,8 @@ type
     type
       TEntryArray = array of TEntry;
 
+  public
+    type
       TValEnumerator = record
       private
         mEntries: TEntryArray;
@@ -62,6 +64,7 @@ type
         constructor Create (const aents: TEntryArray; afirst, alast: Integer);
         function MoveNext (): Boolean; inline;
         function getCurrent (): ValueT; inline;
+        function GetEnumerator (): TValEnumerator; inline;
         property Current: ValueT read getCurrent;
       end;
 
@@ -73,6 +76,7 @@ type
         constructor Create (const aents: TEntryArray; afirst, alast: Integer);
         function MoveNext (): Boolean; inline;
         function getCurrent (): KeyT; inline;
+        function GetEnumerator (): TKeyEnumerator; inline;
         property Current: KeyT read getCurrent;
       end;
 
@@ -84,6 +88,7 @@ type
         constructor Create (const aents: TEntryArray; afirst, alast: Integer);
         function MoveNext (): Boolean; inline;
         function getCurrent (): PEntry; inline;
+        function GetEnumerator (): TKeyValEnumerator; inline;
         property Current: PEntry read getCurrent;
       end;
 
@@ -959,6 +964,11 @@ begin
 end;
 
 
+function THashBase.TValEnumerator.GetEnumerator (): TValEnumerator; inline; begin result.mEntries := self.mEntries; result.mFirstEntry := self.mFirstEntry; result.mLastEntry := self.mLastEntry; result.cur := self.cur; end;
+function THashBase.TKeyEnumerator.GetEnumerator (): TKeyEnumerator; inline; begin result.mEntries := self.mEntries; result.mFirstEntry := self.mFirstEntry; result.mLastEntry := self.mLastEntry; result.cur := self.cur; end;
+function THashBase.TKeyValEnumerator.GetEnumerator (): TKeyValEnumerator; inline; begin result.mEntries := self.mEntries; result.mFirstEntry := self.mFirstEntry; result.mLastEntry := self.mLastEntry; result.cur := self.cur; end;
+
+
 // ////////////////////////////////////////////////////////////////////////// //
 constructor THashBase.TValEnumerator.Create (const aents: TEntryArray; afirst, alast: Integer);
 begin