Go to the source code of this file.
Macros | |
#define | UHD_PIMPL_DECL(_name) struct _name; boost::shared_ptr<_name> |
#define | UHD_PIMPL_MAKE(_name, _args) boost::shared_ptr<_name>(new _name _args) |
"Pimpl idiom" (pointer to implementation idiom). The UHD_PIMPL_* macros simplify code overhead for declaring and making pimpls.
Each pimpl is implemented as a shared pointer to the implementation:
#define UHD_PIMPL_DECL | ( | _name | ) | struct _name; boost::shared_ptr<_name> |
Make a declaration for a pimpl in a header file.
_name | the name of the pimpl class |
#define UHD_PIMPL_MAKE | ( | _name, | |
_args | |||
) | boost::shared_ptr<_name>(new _name _args) |
Make an instance of a pimpl in a source file.
_name | the name of the pimpl class |
_args | the constructor args for the pimpl |