On Saturday, 3 August 2013 at 18:23:58 UTC, Gary Willoughby wrote:
On Saturday, 3 August 2013 at 18:14:47 UTC, Gary Willoughby
wrote:
This sounds a great idea but once the file has been opened as
a MmFile how to i convert this to a ubyte[] so the
std.bitmanip functions work with it?
I'm currently doing this:
auto file = new MmFile("file.dat");
ubyte[] buffer = cast(ubyte[])file[];
buffer.read!uint(); //etc.
Is this how you would recommend?
That defeats the object of memory mapping, as the [] at the end
of cast(ubyte[])file[] implies copying the whole file in to
memory.
3 options I can think of:
1) copy read from std.bitmanip and modify it to work nicely with
MmFile
2) write a wrapper for MmFile to let it work nicely with read
3) rewrite/modify MmFile
I would love to do 3) at some point, but I'm too busy at the
moment.