亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? thickindex.cs

?? Perst開源實時數據庫
?? CS
?? 第 1 頁 / 共 2 頁
字號:

        public virtual IDictionaryEnumerator GetDictionaryEnumerator() 
        { 
            return new ExtendDictionaryEnumerator(index.GetDictionaryEnumerator());
        }

#if USE_GENERICS
        public override IEnumerator<V> GetEnumerator() 
        { 
            return new ExtendEnumerator(((IEnumerable<IPersistent>)index).GetEnumerator());
        }
#else
        public override IEnumerator GetEnumerator() 
        { 
            return new ExtendEnumerator(index.GetEnumerator());
        }
#endif

#if USE_GENERICS
        public IEnumerator<V> GetEnumerator(Key from, Key till, IterationOrder order) 
#else
        public IEnumerator GetEnumerator(Key from, Key till, IterationOrder order) 
#endif
        {
            return Range(from, till, order).GetEnumerator();
        }

#if USE_GENERICS
        public IEnumerator<V> GetEnumerator(K from, K till, IterationOrder order) 
#else
        public IEnumerator GetEnumerator(object from, object till, IterationOrder order) 
#endif
        {
            return Range(from, till, order).GetEnumerator();
        }

#if USE_GENERICS
        public IEnumerator<V> GetEnumerator(Key from, Key till) 
#else
        public IEnumerator GetEnumerator(Key from, Key till) 
#endif
        {
            return Range(from, till).GetEnumerator();
        }

#if USE_GENERICS
        public IEnumerator<V> GetEnumerator(K from, K till) 
#else
        public IEnumerator GetEnumerator(object from, object till) 
#endif
        {
            return Range(from, till).GetEnumerator();
        }

#if USE_GENERICS
        public IEnumerator<V> GetEnumerator(string prefix) 
#else
        public IEnumerator GetEnumerator(string prefix) 
#endif
        {
            return StartsWith(prefix).GetEnumerator();
        }

#if USE_GENERICS
        public virtual IEnumerable<V> Range(Key from, Key till, IterationOrder order) 
#else
        public virtual IEnumerable Range(Key from, Key till, IterationOrder order) 
#endif
        { 
            return new ExtendEnumerator(index.GetEnumerator(from, till, order));
        }

#if USE_GENERICS
        public virtual IEnumerable<V> Reverse() 
#else
        public virtual IEnumerable Reverse() 
#endif
        { 
            return new ExtendEnumerator(index.Reverse().GetEnumerator());
        }

#if USE_GENERICS
        public virtual IEnumerable<V> Range(Key from, Key till) 
#else
        public virtual IEnumerable Range(Key from, Key till) 
#endif
        { 
            return new ExtendEnumerator(index.GetEnumerator(from, till));
        }
            
#if USE_GENERICS
        public IEnumerable<V> Range(K from, K till, IterationOrder order) 
#else
        public IEnumerable Range(object from, object till, IterationOrder order) 
#endif
        { 
            return new ExtendEnumerator(index.GetEnumerator(from, till, order));
        }

#if USE_GENERICS
        public IEnumerable<V> Range(K from, K till) 
#else
        public IEnumerable Range(object from, object till) 
#endif
        { 
            return new ExtendEnumerator(index.GetEnumerator(from, till));
        }
 
#if USE_GENERICS
        public IEnumerable<V> StartsWith(string prefix) 
#else
        public IEnumerable StartsWith(string prefix) 
#endif
        { 
            return new ExtendEnumerator(index.GetEnumerator(prefix));
        }
 
        public virtual IDictionaryEnumerator GetDictionaryEnumerator(Key from, Key till, IterationOrder order) 
        { 
            return new ExtendDictionaryEnumerator(index.GetDictionaryEnumerator(from, till, order));
        }

        public Type KeyType 
        { 
            get 
            {
                return index.KeyType;
            }
        }

#if USE_GENERICS
        public bool Put(Key key, V obj) 
        { 
            IPersistent s = index.Get(key);
            if (s == null) 
            { 
                Relation<V,V> r = Storage.CreateRelation<V,V>(null);
                r.Add(obj);
                index.Put(key, r);
            } 
            else if (s is Relation<V,V>) 
            { 
                Relation<V,V> r = (Relation<V,V>)s;
                if (r.Count == BTREE_THRESHOLD) 
                {
                    ISet<V> ps = Storage.CreateSet<V>();
                    for (int i = 0; i < BTREE_THRESHOLD; i++) 
                    { 
                        ps.Add(r[i]);
                    }
                    ps.Add(obj);
                    index.Set(key, ps);
                    r.Deallocate();
                } 
                else 
                { 
                    r.Add(obj);
                }
            } 
            else 
            { 
                ((ISet<V>)s).Add(obj);
            }
            nElems += 1;
            Modify();
            return true;
        }
#else
        public bool Put(Key key, IPersistent obj) 
        { 
            IPersistent s = index.Get(key);
            if (s == null) 
            { 
                Relation r = Storage.CreateRelation(null);
                r.Add(obj);
                index.Put(key, r);
            } 
            else if (s is Relation) 
            { 
                Relation r = (Relation)s;
                if (r.Count == BTREE_THRESHOLD) 
                {
                    ISet ps = Storage.CreateSet();
                    for (int i = 0; i < BTREE_THRESHOLD; i++) 
                    { 
                        ps.Add(r.GetRaw(i));
                    }
                    ps.Add(obj);
                    index.Set(key, ps);
                    r.Deallocate();
                } 
                else 
                { 
                    r.Add(obj);
                }
            } 
            else 
            { 
                ((ISet)s).Add(obj);
            }
            nElems += 1;
            Modify();
            return true;
        }
#endif


#if USE_GENERICS
        public V Set(Key key, V obj) 
        {
            IPersistent s = index.Get(key);
            if (s == null) 
            { 
                Relation<V,V> r = Storage.CreateRelation<V,V>(null);
                r.Add(obj);
                index.Put(key, r);
                nElems += 1;
                Modify();
                return null;
            } 
            else if (s is Relation<V,V>) 
            { 
                Relation<V,V> r = (Relation<V,V>)s;
                if (r.Count == 1) 
                {
                    V prev = r[0];
                    r[0] = obj;
                    return prev;
                } 
            }
            throw new StorageError(StorageError.ErrorCode.KEY_NOT_UNIQUE);
        }
#else
        public IPersistent Set(Key key, IPersistent obj) 
        {
            IPersistent s = index.Get(key);
            if (s == null) 
            { 
                Relation r = Storage.CreateRelation(null);
                r.Add(obj);
                index[key] = r;
                nElems += 1;
                Modify();
                return null;
            } 
            else if (s is Relation) 
            { 
                Relation r = (Relation)s;
                if (r.Count == 1) 
                {
                    IPersistent prev = r[0];
                    r[0] = obj;
                    return prev;
                } 
            }
            throw new StorageError(StorageError.ErrorCode.KEY_NOT_UNIQUE);
        }
#endif

#if USE_GENERICS
        public void Remove(Key key, V obj) 
        { 
            IPersistent s = index.Get(key);
            if (s is Relation<V,V>) 
            { 
                Relation<V,V> r = (Relation<V,V>)s;
                int i = r.IndexOf(obj);
                if (i >= 0) 
                { 
                    r.Remove(i);
                    if (r.Count == 0) 
                    { 
                        index.Remove(key, r);
                        r.Deallocate();
                    }
                    nElems -= 1;
                    Modify();
                    return;
                }
            } 
            else if (s is ISet<V>) 
            { 
                ISet<V> ps = (ISet<V>)s;
                if (ps.Remove(obj)) 
                { 
                    if (ps.Count == 0) 
                    { 
                        index.Remove(key, ps);
                        ps.Deallocate();
                    }                    
                    nElems -= 1;
                    Modify();
                    return;
                }
            }
            throw new StorageError(StorageError.ErrorCode.KEY_NOT_FOUND);
        }
#else
        public void Remove(Key key, IPersistent obj) 
        { 
            IPersistent s = index[key];
            if (s is Relation) 
            { 
                Relation r = (Relation)s;
                int i = r.IndexOf(obj);
                if (i >= 0) 
                { 
                    r.Remove(i);
                    if (r.Count == 0) 
                    { 
                        index.Remove(key, r);
                        r.Deallocate();
                    }
                    nElems -= 1;
                    Modify();
                    return;
                }
            } 
            else if (s is ISet) 
            { 
                ISet ps = (ISet)s;
                if (ps.Remove(obj)) 
                { 
                    if (ps.Count == 0) 
                    { 
                        index.Remove(key, ps);
                        ps.Deallocate();
                    }                    
                    nElems -= 1;
                    Modify();
                    return;
                }
            }
            throw new StorageError(StorageError.ErrorCode.KEY_NOT_FOUND);
        }
#endif

#if USE_GENERICS
        public V Remove(Key key) 
#else
        public IPersistent Remove(Key key) 
#endif
        {
            throw new StorageError(StorageError.ErrorCode.KEY_NOT_UNIQUE);
        }

#if USE_GENERICS
        public bool Put(K key, V obj) 
#else
        public bool Put(object key, IPersistent obj) 
#endif
        {
            return Put(KeyBuilder.getKeyFromObject(key), obj);
        }

#if USE_GENERICS
        public V Set(K key, V obj) 
#else
        public IPersistent Set(object key, IPersistent obj) 
#endif
        {
            return Set(KeyBuilder.getKeyFromObject(key), obj);
        }

#if USE_GENERICS
        public void Remove(K key, V obj) 
#else
        public void Remove(object key, IPersistent obj) 
#endif
        {
            Remove(KeyBuilder.getKeyFromObject(key), obj);
        }

#if USE_GENERICS
        public V RemoveKey(K key) 
#else
        public IPersistent Remove(object key) 
#endif
        {
            throw new StorageError(StorageError.ErrorCode.KEY_NOT_UNIQUE);
        }

        public override void Deallocate() 
        {
            Clear();
            index.Deallocate();
            base.Deallocate();
        }

#if USE_GENERICS        
        public V GetAt(int i)
#else
        public object GetAt(int i)
#endif
        {
            IDictionaryEnumerator e;
            if (i < 0 || i >= nElems)
            {
                throw new IndexOutOfRangeException("Position " + i + ", index size "  + nElems);
            }            
            if (i <= (nElems/2)) 
            {
                e = GetDictionaryEnumerator(null, null, IterationOrder.AscentOrder);
                while (i-- >= 0) 
                { 
                      e.MoveNext();
                }
            }
            else
            {
                e = GetDictionaryEnumerator(null, null, IterationOrder.DescentOrder);
                i -= nElems;
                while (++i < 0) 
                { 
                      e.MoveNext();
                }
            }
#if USE_GENERICS        
            return (V)e.Value;   
#else
            return e.Value;   
#endif
        }

        public IDictionaryEnumerator GetDictionaryEnumerator(int start, IterationOrder order) 
        {
             return new ExtendDictionaryStartFromEnumerator(this, start, order);
        }
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91欧美一区二区| 久久夜色精品国产噜噜av| 亚洲精品在线免费播放| 一区二区在线观看不卡| 国产精华液一区二区三区| 欧美综合视频在线观看| 国产精品久久久久久久久果冻传媒| 一区二区三区在线播| 成人禁用看黄a在线| 欧美本精品男人aⅴ天堂| 一二三四区精品视频| 99久久99久久精品免费看蜜桃| 日韩欧美一级片| 日本少妇一区二区| 337p亚洲精品色噜噜狠狠| 亚洲精品福利视频网站| av午夜一区麻豆| 中文字幕欧美区| 国产91在线观看| 国产日韩精品一区二区三区| 国产麻豆视频精品| 久久综合久久99| 国模冰冰炮一区二区| 精品久久久久久综合日本欧美| 午夜激情一区二区| 91精品国产色综合久久不卡蜜臀 | 国产女人18毛片水真多成人如厕 | 3d成人h动漫网站入口| 亚洲123区在线观看| 在线观看日韩电影| 亚洲亚洲人成综合网络| 欧美日韩中文字幕一区二区| 亚洲一区二区三区四区中文字幕| 91小视频免费观看| 一区二区免费在线| 欧美私人免费视频| 午夜a成v人精品| 日韩视频免费观看高清完整版 | 欧美情侣在线播放| 亚洲成人av一区二区| 67194成人在线观看| 麻豆成人在线观看| 国产欧美日本一区二区三区| av电影在线观看一区| 一二三区精品福利视频| 欧美乱妇15p| 九一久久久久久| 国产精品久久国产精麻豆99网站| 91在线porny国产在线看| 亚洲一区av在线| 精品88久久久久88久久久| 国产高清在线精品| 一区二区三区在线影院| 91麻豆精品国产综合久久久久久| 美日韩一级片在线观看| 国产女人水真多18毛片18精品视频| av在线一区二区| 日韩av一区二区三区四区| 久久久精品综合| 日本大香伊一区二区三区| 免费观看在线综合| 国产精品热久久久久夜色精品三区| 91久久国产最好的精华液| 蜜臀久久久久久久| 欧美激情一区三区| 欧美精品xxxxbbbb| 成人高清av在线| 天天做天天摸天天爽国产一区| 精品国产1区二区| 欧美性大战久久| 国产成人综合亚洲网站| 亚洲一区二区三区自拍| 国产欧美日韩在线看| 欧美一区二区精品久久911| 成人免费视频免费观看| 美女视频黄a大片欧美| 1024精品合集| 久久精品一二三| 欧美另类z0zxhd电影| av在线不卡网| 国产美女精品在线| 日韩电影一区二区三区| 亚洲图片激情小说| 久久久久国产精品人| 欧美日韩的一区二区| 91麻豆成人久久精品二区三区| 极品尤物av久久免费看| 香港成人在线视频| 亚洲婷婷综合色高清在线| 精品欧美乱码久久久久久| 欧美性生活一区| 91麻豆高清视频| 99久久精品费精品国产一区二区| 久久99精品久久久久| 日韩成人精品视频| 亚洲最大成人综合| 亚洲激情图片qvod| 亚洲欧美另类小说视频| 国产精品美女一区二区三区| 国产午夜三级一区二区三| 欧美videossexotv100| 日韩欧美亚洲国产另类| 欧美电影影音先锋| 制服丝袜在线91| 这里只有精品视频在线观看| 欧美日韩国产首页| 91福利精品视频| 欧美性猛交一区二区三区精品| 92国产精品观看| 91日韩精品一区| 日本高清不卡aⅴ免费网站| 色婷婷精品久久二区二区蜜臂av| 99re热视频精品| 色综合久久久久久久| 欧美色综合影院| 欧美美女bb生活片| 日韩一区二区影院| 精品播放一区二区| 久久精品视频免费观看| 国产欧美视频在线观看| 久久久精品中文字幕麻豆发布| 久久久久国产精品麻豆| 中文字幕第一页久久| 亚洲三级在线观看| 婷婷丁香久久五月婷婷| 男女视频一区二区| 国产风韵犹存在线视精品| 99久久精品国产导航| 欧美在线一二三| 欧美一级二级在线观看| 2019国产精品| 日韩一区欧美小说| 五月天婷婷综合| 国产在线精品国自产拍免费| 成a人片国产精品| 欧美性一二三区| 精品久久久影院| 亚洲欧美日韩国产成人精品影院 | 成人在线一区二区三区| 99re亚洲国产精品| 欧美一级高清片| 中文字幕成人网| 亚洲午夜精品在线| 国产高清久久久| 欧美日韩一区在线| 欧美国产禁国产网站cc| 亚洲在线免费播放| 国产精品亚洲午夜一区二区三区| 色综合天天综合网国产成人综合天 | 精品国产乱码久久久久久夜甘婷婷| 久久久精品免费观看| 一区二区欧美视频| 国产精品一二三区在线| 在线视频一区二区免费| 欧美精品一区二区三区很污很色的 | 一区二区三区在线影院| 久久99国产精品免费| 色偷偷久久一区二区三区| 日韩女优制服丝袜电影| 一区二区在线观看免费视频播放 | 欧美在线免费播放| 精品国产1区二区| 五月天欧美精品| 99精品视频中文字幕| 精品美女一区二区三区| 亚洲国产综合人成综合网站| 成人污污视频在线观看| 日韩欧美精品三级| 亚洲国产wwwccc36天堂| 99久久99久久精品免费看蜜桃| 欧美一区二区三区白人 | 亚洲日本免费电影| 国产精品一线二线三线精华| 欧美日韩电影一区| 亚洲最新在线观看| 一本一道综合狠狠老| 中文字幕不卡在线| 国产精品一二三四| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲第四色夜色| 欧美三级资源在线| 亚洲国产wwwccc36天堂| 欧洲国内综合视频| 一区二区三区美女视频| 91老司机福利 在线| 中文字幕亚洲欧美在线不卡| 成人精品国产一区二区4080| 国产三级一区二区| 国产成人精品www牛牛影视| 久久在线免费观看| 国产呦精品一区二区三区网站| 欧美一区二区三区在线视频| 日韩国产欧美三级| 日韩视频永久免费| 精品一区免费av| 久久久久国产精品麻豆 | 韩国av一区二区三区| 日韩欧美久久久| 国产一区亚洲一区| 日本一区二区动态图|