"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

Reply via email to