"E. Gladyshev" <[EMAIL PROTECTED]> writes: >> Not quite. pImpl is really bad when you have >> multiple interacting >> concrete types. I think you'll find yourself doing >> a lot of >> polymorphic_downcast<>s. > > Another good point against the pImpl idiom. I'd > suggest to overwrite some of the boost libaries that > use the pImpl thing. It is not like a modern C++ at > all.
Pimpl definitely has its place. I'm doing one right now as you can probably tell from my recent posting. Anyway, maybe you should consider a preprocessor-based solution: #include <boost/gui/windows_defs.hpp> namespace boost { namespace gui { namespace windows { #include <boost/gui/implementation.hpp> }}} If you buy Doug G.'s argument that no application will use two GUIs at once, you can even do something simpler because there's no issue with namespace collisions. -- Dave Abrahams Boost Consulting www.boost-consulting.com _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost