On Tue, Sep 09, 2003 at 04:21:04PM +0000, Angus Leeming wrote: > This patch is a 'pragmatic pimpl-ing' of BufferParams. It moves into Impl only > those member variables that currently drag in header files into > bufferparams.h. > > I had two choices when implementing it. > * Explicitly define a copy constructor and assignment operator for > BufferParams. > * Define a smart pointer with copy semantics. > > I chose the latter approach, defining a cow_ptr with copy-on-write semantics. > It uses boost::shared_ptr to store the data and so was trivial to implement. > > We could later use cow_ptr as a direct replacement of math_atom, f.ex.
That was originally intended as 'back door' in case the mathed rewrite led to 'document bloat' in memory. I even had it 'sort of running' at some point of time, so this probably feasible... Andre'