Пример #1
0
            protected override bool FromInternalKeyToStackKey(Trashable internalKey, out KeyValuePair <int, int> externalKey)
            {
                Tuple <int, int> itm;
                bool             res = FromInternalKeyToExternalKey(internalKey, out itm);

                externalKey = new KeyValuePair <int, int>(itm.Item1, itm.Item2);
                return(res);
            }
Пример #2
0
            protected override Trashable FromExternalKeyToStorageKey(Tuple <int, int> externalKey)
            {
                Trashable res;

                if (!Keys.TryGetValue(externalKey, out res))
                {
                    Keys[externalKey] = res = new Trashable {
                        Value = externalKey.Item1
                    }
                }
                ;

                return(res);
            }
Пример #3
0
 protected override bool FromInternalKeyToExternalKey(Trashable internalKey, out Tuple <int, int> externalKey)
 {
     externalKey = System.Linq.Enumerable.First(Keys, kvp => object.ReferenceEquals(kvp.Value, internalKey)).Key;
     return(!internalKey.IsGarbage);
 }