/// <summary> /// Constructor. /// </summary> public BTreeDictionary() { Underlying = new BTree <TK, KeyValuePair <TK, TV> >(_ => _.Key, Comparer <TK> .Default); _keys = new BTreeDictionaryKeys <TK, TV>(Underlying); _values = new BTreeDictionaryValues <TK, TV>(Underlying); }
/// <summary> /// Constructor. /// </summary> /// <param name="comparer"></param> public BTreeDictionary(IComparer <TK> comparer) { Underlying = new BTree <TK, KeyValuePair <TK, TV> >(_ => _.Key, comparer); _keys = new BTreeDictionaryKeys <TK, TV>(Underlying); _values = new BTreeDictionaryValues <TK, TV>(Underlying); }
/// <summary> /// Constructor. /// </summary> /// <param name="underlying"></param> public BTreeDictionaryValues(BTree <TK, KeyValuePair <TK, TV> > underlying) { _underlying = underlying; _range = new BoundRange <TK>(null, null, _underlying.KeyComparer); }