Boost logo

Boost :

From: E. Gladyshev (egladysh_at_[hidden])
Date: 2003-09-02 00:51:54


--- David Abrahams <dave_at_[hidden]> wrote:
> >>> But indeed allocate/construct/deallocate/destroy is more work than
> >> ^^^^^^^^^ ^^^^^^^
> >> Oyeah. These two absolutely don't belong in allocator, period. Do
> >> any implementations even use them? Allocators exist to provide a
> >> point of customization for users, but you cannot/should not customize
> >> these.
[...]
> The class getting constructed/destroyed has full control over that or
> the language is utterly bustificated.

I think construct/destroy can be implemented as non-customizable
static functions in boost just for convinence.

static template< typename A >
typename A::pointer construct( A& a, size_t n )
{
   typename A::pointer p = a.allocate(n)
   try
   {
     p = new(p) A::value_type[n];
   }
   catch(...)
   {
     a.deallocate( p, n );
   }
   return p;
}

Eugene

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk