pimpl.h
memory
device.h
ranges.h
pimpl.h
memory
device.h
pimpl.h
ranges.h
sink.h
source.h
airspy_source_c.h
airspyhf_source_c.h
bladerf_common.h
bladerf_sink_c.h
bladerf_source_c.h
fcd_source_c.h
file_sink_c.h
file_source_c.h
freesrp_common.h
freesrp_sink_c.h
freesrp_source_c.h
hackrf_common.h
hackrf_sink_c.h
hackrf_source_c.h
plutosdr_source_c.h
redpitaya_sink_c.h
redpitaya_source_c.h
rfspace_source_c.h
rtl_source_c.h
rtl_tcp_source_c.h
sdrplay_source_c.h
sink_iface.h
sink_impl.h
soapy_common.h
soapy_sink_c.h
soapy_source_c.h
source_iface.h
source_impl.h
spyserver_source_c.h
uhd_sink_c.h
uhd_source_c.h
xtrx_sink_c.h
xtrx_source_c.h
OSMOSDR_PIMPL_DECL
_name
struct _name; std::shared_ptr<_name>

Make a declaration for a pimpl in a header file.

- Usage: OSMOSDR_PIMPL_DECL(impl) _impl; _name

  the name of the pimpl class

OSMOSDR_PIMPL_MAKE
_name
_args
std::shared_ptr<_name>(new _name _args)

Make an instance of a pimpl in a source file.

- Usage: _impl = OSMOSDR_PIMPL_MAKE(impl, ());

- Usage: _impl = OSMOSDR_PIMPL_MAKE(impl, (a0, a1)); _name

  the name of the pimpl class

  _args

  the constructor args for the pimpl

"Pimpl idiom" (pointer to implementation idiom). The OSMOSDR_PIMPL_* macros simplify code overhead for declaring and making pimpls.

Each pimpl is implemented as a shared pointer to the implementation:

- The container class will not have to deallocate the pimpl.

- The container class will use the pimpl as a regular pointer.

- Usage: _impl->method(arg0, arg1)

- Usage: _impl->member = value;

http://en.wikipedia.org/wiki/Opaque_pointer