public static MemoryAccessor CreateIndexMemoryAccessor(this IReadOnlyList <Int32> indices, Schema2.EncodingType encoding) { if (indices == null || indices.Count == 0) { return(null); } var attribute = new MemoryAccessInfo("INDEX", 0, indices.Count, 0, Schema2.DimensionType.SCALAR, encoding); // create buffer var ibytes = new Byte[encoding.ByteLength() * indices.Count]; var ibuffer = new ArraySegment <byte>(ibytes); // fill the buffer with indices. var accessor = new MemoryAccessor(ibuffer, attribute.Slice(0, indices.Count)); accessor.AsIntegerArray().Fill(indices); return(accessor); }
public Memory.IEncodedArray <UInt32> AsIntegerArray() { return(_MemoryAccessor.AsIntegerArray()); }