$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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).
However
void* address() const { return this; }
probably needs to be modified to return the address of the private base
class instead.
-Thorsten