
Artyom Beilis wrote:
Should The library be accepted in Boost: ========================================
No it should not. It is "a fancy" library that was written without a knowledge of the problem domain. It tries to solve problem in smart way making it overcomplicated.
IMHO old std::auto_ptr is much more suitable for writing pimpl-objects then Boost.Pimple.
For easy pimpl-ideom you do not need a fancy class but rather a set of pimpl-suitable smart pointers.
I haven't reviewed the Pimpl library, but this comparison to "old std::auto_ptr" looks very strange to me. If I understood correctly, one of the reasons why "old std::auto_ptr" is deprecated in favor of "std::unique_ptr" is that "old std::auto_ptr" will silently break the default generated copy-constructor and assignment operator of a class containing an "old std::auto_ptr" as member. "std::unique_ptr" on the other hand will disable default generated copy-constructor and assignment operator and only default generate the "move" versions of these, so the user will at least realize that he has to manually provide correct versions of copy-constructor and assignment operator. Did I totally misunderstood you here, or was this comparison intended as a ironic remark, or is my understanding old "old std::auto_ptr" incorrect, or ...? Regards, Thomas