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'

Reply via email to