Go to the source code of this file.
Defines | |
#define | BBTK_DECLARE_PIMPL(CLASS) |
Macro defining the members used to hide a class implementation details using the pimpl idom /// See http://c2.com/cgi/wiki?PimplIdiom NOTE :
| |
#define | BBTK_IMPL_PIMPL(CLASS) |
Macro implementing the PimplConstruct/PimplCopyConstruct/PimplDestruct method declared by BBTK_DECLARE_PIMPL: to be put in cpp. |
#define BBTK_DECLARE_PIMPL | ( | CLASS | ) |
Value:
private: \ /* The Pimpl struct forward definition */ \ class Pimpl; \ /* The Pimpl pointer */ \ Pimpl* p; \ /* Constructs the Pimpl (to be called in all Ctors) */ \ void PimplConstruct(); \ /* Copy constructs the Pimpl (to be called in copy Ctor) */ \ void PimplCopyConstruct(const CLASS&); \ /* Destructs the Pimpl (to be called in Dtor) */ \ void PimplDestruct();
Definition at line 42 of file bbtkPimpl.h.
#define BBTK_IMPL_PIMPL | ( | CLASS | ) |
Value:
void CLASS::PimplConstruct() \ { \ p = new Pimpl; \ } \ void CLASS::PimplCopyConstruct(const CLASS& o) \ { \ p = new Pimpl(*(o.p)); \ } \ void CLASS::PimplDestruct() \ { \ delete p; \ }
Definition at line 58 of file bbtkPimpl.h.