PURPOSE: Make it easy to define immutable classes or handle classes, making it inexpensive to copy them, while keeping implementation details out of the header file.
More...
template<typename Impl>
class BLOCXX_NAMESPACE::RefCountedPimpl< Impl >
PURPOSE: Make it easy to define immutable classes or handle classes, making it inexpensive to copy them, while keeping implementation details out of the header file.
This is done by declaring
class FooImpl;
class Foo : private RefcountedPimpl<FooImpl>
{
...
};
and using pimpl() in Foo member functions to access the internal data. The Foo object is a wrapper around a reference-counted pointer to a FooImpl object.
- Precondition
- Impl is derived from
BloCxx::IntrusiveCountableBase.
Definition at line 94 of file RefCountedPimpl.hpp.