
Hello, maybe you are interested in a other Pimpl implementation which differs from pimpl_ptr in some points. Here a short overview: - you could declare a pimpl or inherit a pimpl (usage: pimpl->foo()) - you could also declare/inherit a rimpl (reference to implementation, usage rimpl.foo()) - you could use different smart pointer as pimpl which is adjusted by a policy, it's a little bit like a templated pimpl_ptr - there are more convenient typedefs - no lazy creation Example headers: ------------------------ //declare a Pimpl: class A { public: A(); void foo(); private: Pimpl<A>::Type d; }; ---------------------- //inherit a Pimpl: class B : private Pimpl<B>::Owner { public: B(); void foo(); }; ------------------------ //declare a Rimpl class C { public: C(); void foo(); private: Rimpl<C>::Init rinit; Rimpl<C>::Type d; }; ------------------------ //inherit a Rimpl: class D : private Rimpl<D>::Owner { public: D(); void foo(); }; The code is at the moment in the loki-lib cvs at sourceforge. If you are interested I could also send the files. Cheers, Peter
participants (1)
-
Peter Kümmel