MTreeBookmark(SDictBookmark <Variant, Variant> outer, SList <TreeInfo <K> > info,
               bool changed, MTreeBookmark <K>?inner, Bookmark <ValueTuple <long, bool> >?pmk,
               int pos, SCList <Variant>?key = null) : base(pos)
 {
     _outer = outer; _info = info; _changed = changed;
     _inner = inner; _pmk = pmk; _filter = key ?? SCList <Variant> .Empty;
 }
 public override RowBookmark?ResetToTiesStart(MTreeBookmark <Serialisable> mb)
 {
     if (mb != null)
     {
         return(new OrderedBookmark(_ors, mb, Position + 1));
     }
     return(null);
 }
            public override RowBookmark?ResetToTiesStart(MTreeBookmark <Serialisable> mb)
            {
                if (mb == null)
                {
                    return(null);
                }
                var rc = _irs._tr.Get(mb.Value.Item2);

                return(new IndexRowBookmark(_irs, new SRow(_irs._tr, rc), mb, Position + 1));
            }
 public virtual RowBookmark?ResetToTiesStart(MTreeBookmark <Serialisable> mb)
 {
     return(null);
 }
 protected IndexRowBookmark(IndexRowSet irs, SRow ob, MTreeBookmark <Serialisable> mbm, int p) : base(irs, ob, p)
 {
     _irs = irs; _mbm = mbm;
 }
 OrderedBookmark(OrderedRowSet ors, MTreeBookmark <Serialisable> bmk, int pos)
     : base(ors, ors._rows[(int)bmk.Value.Item2], pos)
 {
     _ors = ors; _bmk = bmk;
 }
 public MTreeBookmark <K>?PositionAt(SCList <Variant>?k)
 {
     return(MTreeBookmark <K> .New(this, k));
 }
 public override Bookmark <ValueTuple <SCList <Variant>, long> >?First()
 {
     return(MTreeBookmark <K> .New(this));
 }