On 06/03/2010 02:31 AM, Robert M. Münch wrote:
On 2010-06-02 21:34:32 +0200, Andrei Alexandrescu said:
The signature for non-class types is:
T* emplace(T, Args...)(void * address, Args args);
The function creates an object of type T at location address and
initializes it with args. Returns a pointer to the just-created value.
I needed this function for TightArray.
Hi, does this already work? This would make it possible to allocate T
within a memory-mapped file. I would like to give it a try.
I didn't have much time to work on it lately, but I'll check it in soon.
Not sure how to deal with re-allocation problem as pointers within the
MMF need to be MMF relative and not absolut. IMO via operator
overloading this should be possible to handle in the background.
Once created, a file mapping is at a constant address. If you remap a
file (an unsafe operation), you can memcpy the data around. All D
objects are assumed to be relocatable.
Andrei