protected internal T _getPointerField <T>(Capnproto.FromPointerReader <T> factory, int ptrIndex)
 {
     if (ptrIndex < this.pointerCount)
     {
         return(factory.fromPointerReader(this.segment, this.pointers + ptrIndex, this.nestingLimit));
     }
     return(factory.fromPointerReader(Capnproto.SegmentReader.EMPTY, 0, this.nestingLimit));
 }
Beispiel #2
0
 public T GetAs <T>(Capnproto.FromPointerReader <T> factory)
 {
     return(factory.fromPointerReader(this.segment, this.pointer, this.nestingLimit));
 }
Beispiel #3
0
 public Reader(Capnproto.FromPointerReader <T> factory, Capnproto.SegmentReader segment, int ptr, int elementCount, int step, int structDataSize, short structPointerCount, int nestingLimit) : base(segment, ptr, elementCount, step, structDataSize, structPointerCount, nestingLimit)
 {
     this.SingleFactory = factory;
 }
Beispiel #4
0
 protected internal virtual T _getPointerElement <T>(Capnproto.FromPointerReader <T> factory, int index)
 {
     return(factory.fromPointerReader(this.segment, (this.ptr + (int)((long)index * this.step / Capnproto.Constants.BITS_PER_BYTE)) / Capnproto.Constants.BYTES_PER_WORD, this.nestingLimit));
 }
 public T GetRoot <T>(Capnproto.FromPointerReader <T> factory)
 {
     Capnproto.SegmentReader     segment = this.arena.tryGetSegment(0);
     Capnproto.AnyPointer.Reader any     = new Capnproto.AnyPointer.Reader(segment, 0, this.nestingLimit);
     return(any.GetAs(factory));
 }