
29 Dec
2006
29 Dec
'06
3:36 a.m.
The boost inteprocess documentation [1] says that all objects must be constructed-destroyed via allocator::construct and allocator::destroy functions when using the interprocess allocators. However, according to the draft of the next C++ Standard [2] 20.1.6/2, allocator::construct is strictly equivalent to placement new and allocator::destroy stricly equivalent to a call to the destructor, with the pointer type casted to void*. Therefore why is such a requirement necessary? [1] http://ice.prohosting.com/newfunk/boost/libs/interprocess/doc/html/interproc... [2] http://open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1905.pdf