Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2003-02-04 08:00:37

From: "Ralf W. Grosse-Kunstleve" <rwgk_at_[hidden]>
> I did not use boost::shared_array to implement the shared_plain<T> type
> one of our requirements is that one reference count can be used to manage
> multiple types. This is required in the context of in-place fast Fourier
> transforms. I.e. an array that starts out as
> > ends up as shared<double> after the Fourier transformation or vice
versa. Of
> course, constructing an array with type T and destructing it while
thinking of
> it as containing element types U could potentially lead to disasters. To
> provide a certain degree of protection type casts are therefore only
> for element types with trivial destructors. This is managed through type
> that can be specialized by the user.

On most platforms, if you reinterpret_cast a shared_array< complex<double> >
to shared_array< double >, it will still destroy itself properly. (magic!)

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