Boost logo

Boost :

From: Gennadiy Rozental (rogeeff_at_[hidden])
Date: 2002-04-19 01:06:48

"Andrei Alexandrescu" <andrewalex_at_[hidden]> wrote in message
> "David Abrahams" <david.abrahams_at_[hidden]> wrote in message
> news:04c501c1e75d$7d5a76e0$
> > Sometimes a library can be an effective tool of pressure on vendors,
> but
> > I think in this case you have to change the design. It's not just an
> > issue of old vs new compilers. In general, even the new compilers
> don't
> > implement the MI optimization. Vendors are simply *not* going to
> break
> > backwards-binary-compatibility just to make our smart pointers
> smaller,
> > and smart pointers simply *must* be small.
> I agree, sigh.
> There are two ways to redesign:
> (1) we add a template parameter "Base" to two policies and we build a
> linear hierarchy;
> (2) we assume that StoragePolicy always stores state so we store it as
> a member inside SmartPtr. Then, we assume the CheckingPolicy doesn't
> ever store any state and defines only static functions, so we don't
> store it anywhere nor derive from it. Finally, we assume that
> OwnershipPolicy may or may not store state so we derive (solely) from
> it.
You can't do this. StoragePolicy may need to introduce new public intrfaces.

> Andrei


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