Pete, Thank you for chiming in in support. I felt surrounded and outnumbered... :-) Pete Bartlett-2 wrote
Well, that was a few nervous hours when I felt my familiar Pimpl world was crashing all around me...
FWIW, the worldview around where I am is similar to yours - very natural to have common scaffolding for the two sorts of "compiler firewall" (to avoid using the word pimpl!) - those with value semantics and those with shared-const semantics.
Indeed, in my mind having two sides of that "coin" is quite natural... and I feel Rob agrees with us on that... he is just "vehemently" against calling it "pimpl". It is only now that I realize how unfortunate that Pimpl name is... Never occurred to me before... The funny part wore off and all we are left with is confusion and disagreement on what it stands for. Unfortunately, I do not feel that comfortable with "compiler firewall" either as IMO it might be even more susceptible to strict interpretation.
Your implementation seems a little better than ours - the semantics are right there in the base class name making it hard to miss for the user browsing the source.
If you have your own idiom-generalization solution, do you think we might joing forces so to speak and to cherry-pick the best bits from the both variants and come up with something better/simpler?.. Unless the dead simple Sutter's version at http://herbsutter.com/gotw/_101/ indeed satisfies the need. -- View this message in context: http://boost.2283326.n4.nabble.com/pimpl-No-documentation-for-pointer-semant... Sent from the Boost - Dev mailing list archive at Nabble.com.