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. What do you think? Ok to apply? -- Angus
bufferparams_pimpl.diff.bz2
Description: BZip2 compressed data
