[review][pimpl_ptr] Pimpl Pointer review begins

The review of the pimpl_ptr library by Asger Mangaard starts today, Monday May 15th, 2006, and runs through May 25th, 2006. (Boost Reviews RSS feed <http://tinyurl.com/ogpj6>) Pimpl Pointer ------------- :Author: Asger Mangaard :Download: Boost Sandbox (http://boost-consulting.com/vault/) as "pimpl_ptr.zip". Direct download at <http://tinyurl.com/m66ox>. :Description: The pimpl idiom is widely used to reduce compile times and disable code coupling. It does so by moving private parts of a class from the .hpp file to the .cpp file. However, it's implementation can be tricky, and with many pitfalls (especially regarding memory management). The pimpl_ptr library is a single header file, implementing a special policy based smart pointer to greatly ease the implementation of the pimpl idiom. Review questions ---------------- Please always explicitly state in your review, whether you think the library should be accepted into Boost. You might want to comment on the following questions: - What is your evaluation of the design? - What is your evaluation of the implementation? - What is your evaluation of the documentation? - What is your evaluation of the potential usefulness of the library? - Did you try to use the library? With what compiler? Did you have any problems? - How much effort did you put into your evaluation? A glance? A quick reading? In-depth study? - Are you knowledgeable about the problem domain? Enjoy, Rene. -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org - grafik/redshift-software.com -- 102708583/icq - grafikrobot/aim - grafikrobot/yahoo

ok.. I know its a bit late (been on travel). I started using it just after I came back to work. It works very well. - I support it into boost. - One comment on documentation. The ctor and destructor should be defined in the same file as the private struct. I dont find that clearly stated in the docs. The following will not compile (msvc 2005) when Test.h is used in another file than Test.cpp. // Test.h class Test { public: Test(); // defined in Test.cpp ~Test(){} private: class Private; boost::pimpl_ptr<Private> d; }; Regards. Knut On Mon, 15 May 2006 02:45:40 +0200, Rene Rivera <grafik.list@redshift-software.com> wrote:
The review of the pimpl_ptr library by Asger Mangaard starts today, Monday May 15th, 2006, and runs through May 25th, 2006. (Boost Reviews RSS feed <http://tinyurl.com/ogpj6>)
Pimpl Pointer -------------
:Author: Asger Mangaard
:Download: Boost Sandbox (http://boost-consulting.com/vault/) as "pimpl_ptr.zip". Direct download at <http://tinyurl.com/m66ox>.
:Description: The pimpl idiom is widely used to reduce compile times and disable code coupling. It does so by moving private parts of a class from the .hpp file to the .cpp file. However, it's implementation can be tricky, and with many pitfalls (especially regarding memory management). The pimpl_ptr library is a single header file, implementing a special policy based smart pointer to greatly ease the implementation of the pimpl idiom.
Review questions ----------------
Please always explicitly state in your review, whether you think the library should be accepted into Boost.
You might want to comment on the following questions:
- What is your evaluation of the design? - What is your evaluation of the implementation? - What is your evaluation of the documentation? - What is your evaluation of the potential usefulness of the library? - Did you try to use the library? With what compiler? Did you have any problems? - How much effort did you put into your evaluation? A glance? A quick reading? In-depth study? - Are you knowledgeable about the problem domain?
Enjoy, Rene.
-- Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
participants (2)
-
Knut Finstad
-
Rene Rivera