internal RedBlackTreeEnumerator(RedBlackTreeSlice <K, V, N> slice) { _redBlackTree = slice; _isFirst = true; _maximum = slice.Maximum; _hasMaximum = true; }
public RedBlackTreeKeyEnumerator(IRedBlackTreeBase <K, V, N> redBlackTree) { _redBlackTree = redBlackTree; _isFirst = true; if (redBlackTree is RedBlackTreeSlice <K, V, N> slice) { _maximum = slice.Maximum; _hasMaximum = true; } }
internal RedBlackTreeSlice(IRedBlackTreeBase <K, V, N> redBlackTree, K minimum, K maximum) { _redBlackTree = redBlackTree; if (Compare(minimum, maximum) < 0) { throw new ArgumentException($"The maximum key of a slice must be >= the minimum key (was given {minimum} to {maximum})."); } Minimum = minimum; Maximum = maximum; }
internal RedBlackTreeSlice(RedBlackTreeSlice <K, V, N> parentSlice, K minimum, K maximum) { _redBlackTree = parentSlice._redBlackTree; if (Compare(minimum, parentSlice.Minimum) < 0) { throw new ArgumentException($"The minimum key of a subslice must be >= the minimum key of the containing slice ({minimum} is not >= {parentSlice.Minimum})."); } if (Compare(maximum, parentSlice.Maximum) > 0) { throw new ArgumentException($"The maximum key of a subslice must be <= the maximum key of the containing slice ({maximum} is not <= {parentSlice.Maximum})."); } if (Compare(minimum, maximum) < 0) { throw new ArgumentException($"The maximum key of a slice must be >= the minimum key (was given {minimum} to {maximum})."); } Minimum = minimum; Maximum = maximum; }
public RedBlackTreePairCollection(IRedBlackTreeBase <K, V, N> redBlackTree) { _redBlackTree = redBlackTree; }
internal RedBlackTreeEnumerator(IRedBlackTreeBase <K, V, N> redBlackTree) { _redBlackTree = redBlackTree; _isFirst = true; }
protected ReadOnlyRedBlackTreeBase(IRedBlackTreeBase <K, V, N> tree) { RedBlackTree = tree; }
public RedBlackTreeDictionaryWrapper(IRedBlackTreeBase <K, V, N> redBlackTree) { _redBlackTree = redBlackTree; }