$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Aleksey Gurtovoy (agurtovoy_at_[hidden])
Date: 2004-03-08 03:19:33
JOAQUIN LOPEZ MU?Z writes:
> > Robert Ramey wrote:
> > > Its not clear to me from the name "aligned_storage" that its meant
> > > to do the same job as "stack_allocate" and in fact is easily 
> > > confused with other boost functions. I've been able to find no 
> > > documentation nor test nor other information. The only place its 
> > > used is in variant.hpp but its not mentioned in the documentation 
> > > of that either.  There is no statement in the header itself as to 
> > > what it does and the code is sufficiently non-trivial that it's not
> > > obvious what its supposed to do. The fact that it has a parameter 
> > > than stack_allocate doesn't need also suggests that it's intended 
> > > purpose is different from that of stack_allocate.
> > 
> > It doesn't, see aligned_storage's "Rationale" subsection in 
> > http://tinyurl.com/39asx.
> 
>
> I don't quite get what you mean. 
That the fact that 'aligned_storage' has different number/type of 
parameters _does not_ by itself suggests that it has different 
purpose. The difference is due to the cited rationale.
> So, does boost::aligned_storage serve as a replacement for
> stack_allocate?
'stack_allocate' should be definitely using it, e.g.:
    template< typename T > struct stack_allocate
    {
        T* address() const { return static_cast<T*>(storage_.address()); }
     private:
        aligned_storage< sizeof(T), alignment_of<T>::value > storage_;
    };
-- Aleksey Gurtovoy MetaCommunications Engineering