On 9/24/11 9:33 AM, dsimcha wrote:
On 9/24/2011 2:10 AM, Andrei Alexandrescu wrote:
On 9/23/11 22:30 CDT, dsimcha wrote:
On 9/23/2011 11:25 PM, Robert Jacques wrote:
On Fri, 23 Sep 2011 15:53:46 -0400, Jonathan M Davis
<[email protected]> wrote:
No. I cannot build an efficient and safe appender on this API.
The resize() fix you requested is going to get implemented. I just
haven't actually added it yet.
Then we might be hasty to vote this in. Ideally Phobos should be
integrating tried and true APIs.
I wish we voted allocator in once it's used throughout std.container to
great effect.
Andrei
I see your point, but at the same time this does create a
chicken-and-egg problem. The use case that inspired me to work on
allocators is much simpler: Allocating simple temporary objects in
performance-critical functions. I don't have any plans to do containers
and I don't know of anyone else who does in the short term. Is there a
way to avoid waiting indefinitely to get allocators into Phobos?
I plan to work on containers, and part of the work is to integrate
allocators.
There are two basic paths from here. One is to make the allocator a
template parameter a la STL. The other is to define a dynamic allocator
interface and use it.
Making the allocator a part of the container type would go the STL way,
and STL allocators are essentially a failed experiment. I'm only
partially clear on why it has failed, but it does seem that part of the
reason was making the allocator a template parameter.
Defining and using an allocator interface would have a small speed
impact (i.e. allocation would entail an indirect call) but I think that
would be acceptable.
Andrei