Example #1
0
        internal Stat2Cursor(TCursor cursor, TKey width, Lookup lookup) : this()
        {
            var op     = new Stat2OnlineOp <TKey, TValue, TCursor>();
            var spanOp =
                new SpanOp <TKey, TValue, Stat2 <TKey>,
                            TCursor, Stat2OnlineOp <TKey, TValue, TCursor> >(width, lookup, op, cursor.Comparer);

            _cursor =
                new SpanOpImpl <TKey, TValue,
                                Stat2 <TKey>,
                                SpanOp <TKey, TValue, Stat2 <TKey>, TCursor, Stat2OnlineOp <TKey, TValue, TCursor>
                                        >,
                                TCursor
                                >(cursor, spanOp);
        }
Example #2
0
        internal Stat2Cursor(TCursor cursor, int width = 1, bool allowIncomplete = false) : this()
        {
            if (width <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(width));
            }

            var op     = new Stat2OnlineOp <TKey, TValue, TCursor>();
            var spanOp =
                new SpanOp <TKey, TValue, Stat2 <TKey>,
                            TCursor, Stat2OnlineOp <TKey, TValue, TCursor> >(width, allowIncomplete, op, cursor.Comparer);

            _cursor =
                new SpanOpImpl <TKey, TValue,
                                Stat2 <TKey>,
                                SpanOp <TKey, TValue, Stat2 <TKey>, TCursor, Stat2OnlineOp <TKey, TValue, TCursor>
                                        >,
                                TCursor
                                >(cursor, spanOp);
        }