Boost logo

Boost :

Subject: Re: [boost] [aligned storage] support for empty storage
From: Thorsten Ottosen (thorsten.ottosen_at_[hidden])
Date: 2009-04-21 06:35:46

John Maddock skrev:
>> In case your are wondering, then I need this functionality in
>> boost::auto_buffer to get rid of the extra word when the stack-buffer
>> is empty (thus making auto_buffer as small as vector).
>> Comments?
> I haven't looked into this in detail, but what happens on compilers that
> don't support the EBO?

Nothing AFAICT. All current uses of aligned_storage has an internal
buffer of size at least 1. Having a private data member or inherting
privately from a non-empty class should give the same results.

For compilers that don't support EBO, the size of an empty
aligned_storage will be > 0, but this is also the case when
we have an emty data member (at least with gcc).


   void* address() const { return this; }

probably needs to be modified to return the address of the private base
class instead.


Boost list run by bdawes at, gregod at, cpdaniel at, john at