예제 #1
0
 public DictionarySlim(IReadOnlyIndexed <TKey, TValue> other, TComparer comparer)
     : this(other.Count, comparer)
 {
     foreach (var pair in other)
     {
         AddOrReplace(pair.Key, pair.Value);
     }
 }
예제 #2
0
 public ObservableIndex(TComparer comparer, IReadOnlyIndexed <TKey, TValue> outer = null)
 {
     _inner     = outer != null ? new DictionarySlim <TKey, TValue, TComparer>(outer, comparer) : new DictionarySlim <TKey, TValue, TComparer>(comparer);
     _observers = new WeakCollection <IObserver <ObservableEvent <TValue> > >();
     if (outer is IObservable <ObservableEvent <TValue> > observableDictionary)
     {
         observableDictionary.Subscribe(this);
     }
 }
예제 #3
0
 public static TValue Optional <TKey, TValue>(this IReadOnlyIndexed <TKey, TValue> indexed, in TKey key)
예제 #4
0
 public CascadeIndex(TComparer comparer)
 {
     Outer  = null;
     _inner = new DictionarySlim <TKey, TValue, TComparer>(comparer);
 }