On Tuesday, 18 August 2015 at 04:46:10 UTC, Rikki Cattermole wrote:
- Does not allow for calling the constructor on the type should it have one
I plan to implement arguments forwarding to constructor, just decided that the concept would be more clear with minimal code. Technically, the object is initialized with .init and is in valid state.

- Does not map to std.mmfile in any way
- You implement basically everything in std.mmfile all over again
Does not need to, there are only two system calls involved and it makes no sense to reuse such amount of code.

- No way to say an offset in the file to start working from (also maybe an upper limit for arrays)
This might be useful in some cases, but in general from my experience (I used this utility for several years in C++), it downgrades the interface, makes you regarding the data as set of bytes rather than an object. It is always possible to wrap up everything in a struct, so that working portion is at right offset.

it can go into std.mmfile.
The concept is very different from plain shared memory, std.mmfile can be improved with a few lines of code, but it wouldn't change the way it's used.

It's basically a poor mans (de/)serializer.
Not at all, it allows fast access to the data, so it might be used as effectively as regular values, and insurance from data loss at crash or stop.



Reply via email to