Example #1
0
        public void ReindexQuery(Func <object, object, ulong, object, ulong> func, object data)
        {
            if (this.root == null)
            {
                return;
            }

            foreach (var item in leaves)
            {
                item.Value.Update(this);
            }

            var  staticIndex = this.staticIndex;
            Node staticRoot  = staticIndex != null ? staticIndex.root : null;

            MarkContext context = new MarkContext(this, staticRoot, func, data);

            this.root.MarkSubtree(this, staticRoot, func);            // ref context);

            if (staticIndex != null && staticRoot == null)
            {
                CollideStatic(staticIndex, func, data);
            }

            IncrementStamp();
        }
Example #2
0
        public void ReindexQuery(Func<object, object, ulong, object, ulong> func, object data)
        {
            if (this.root == null) return;

            foreach (var item in leaves)
                item.Value.Update(this);

            var staticIndex = this.staticIndex;
            Node staticRoot = staticIndex != null ? staticIndex.root : null;

            MarkContext context = new MarkContext(this, staticRoot, func, data);
            this.root.MarkSubtree(this, staticRoot, func);// ref context);

            if (staticIndex != null && staticRoot == null)
                CollideStatic(staticIndex, func, data);

            IncrementStamp();
        }