예제 #1
0
 public static IReadOnlyList <T> FactoryByLazyParse <T>(
     ReadOnlyMemorySlice <byte> mem,
     BinaryOverlayFactoryPackage package,
     byte countLength,
     BinaryOverlay.Factory <T> getter)
 {
     return(FactoryByLazyParse(mem.Slice(countLength), package, getter));
 }
예제 #2
0
 public static IReadOnlyList <T> FactoryByLazyParse <T>(
     ReadOnlyMemorySlice <byte> mem,
     BinaryOverlayFactoryPackage package,
     BinaryOverlay.Factory <T> getter)
 {
     return(new BinaryOverlayLazyList <T>(
                mem,
                package,
                (m, p) =>
     {
         var ret = new List <T>();
         using (var stream = new OverlayStream(m, package))
         {
             while (!stream.Complete)
             {
                 ret.Add(getter(stream, p));
             }
         }
         return ret;
     }));
 }