public static IReadOnlyList <T> FactoryForLoqui <T>( ReadOnlyMemorySlice <byte> mem, int amount, int length, BinaryOverlayFactoryPackage package, RecordTypeConverter recordTypeConverter, BinaryOverlay.ConverterFactory <T> getter) { return(new NumberedLoquiList <T>(mem, amount, length, package, recordTypeConverter, getter)); }
public static ReadOnlyMemorySlice <T> LoquiSliceFromFixedSize <T>( ReadOnlyMemorySlice <byte> mem, int amount, int length, BinaryOverlayFactoryPackage package, RecordTypeConverter?recordTypeConverter, BinaryOverlay.ConverterFactory <T> getter) { T[] ret = new T[amount]; for (int i = 0; i < amount; i++) { ret[i] = getter(new OverlayStream(mem.Slice(i * length), package), package, recordTypeConverter); } return(ret); }
public NumberedLoquiList( ReadOnlyMemorySlice <byte> mem, int amount, int length, BinaryOverlayFactoryPackage package, RecordTypeConverter recordTypeConverter, BinaryOverlay.ConverterFactory <T> getter) { this.Amount = amount; this.Memory = mem; this.Length = length; this.Package = package; this.Getter = getter; this.RecordTypeConverter = recordTypeConverter; }