Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ AllocPage()

TreePage System.Data.RBTree< K >.AllocPage ( int size)
inlineprivate

Definition at line 259 of file RBTree.cs.

260 {
262 if (num != -1)
263 {
264 _pageTable[num] = new TreePage(size);
265 _nextFreePageLine = num / 32;
266 }
267 else
268 {
269 TreePage[] array = new TreePage[_pageTable.Length * 2];
270 Array.Copy(_pageTable, array, _pageTable.Length);
271 int[] array2 = new int[(array.Length + 32 - 1) / 32];
274 num = _pageTable.Length;
277 _pageTable[num] = new TreePage(size);
278 }
279 _pageTable[num].PageId = num;
281 return _pageTable[num];
282 }
int GetIndexOfPageWithFreeSlot(bool allocatedPage)
Definition RBTree.cs:342
int[] _pageTableMap
Definition RBTree.cs:203
TreePage[] _pageTable
Definition RBTree.cs:201

References System.Data.RBTree< K >._inUsePageCount, System.Data.RBTree< K >._nextFreePageLine, System.Data.RBTree< K >._pageTable, System.Data.RBTree< K >._pageTableMap, System.array, System.Array.Copy(), System.Data.RBTree< K >.GetIndexOfPageWithFreeSlot(), and System.Data.RBTree< K >.TreePage.PageId.

Referenced by System.Data.RBTree< K >.GetNewNode(), and System.Data.RBTree< K >.InitTree().