mirror of
https://github.com/boostorg/smart_ptr.git
synced 2025-10-21 11:55:25 +02:00
22 lines
659 B
C++
22 lines
659 B
C++
![]() |
// Boost scoped_ptr_example header file ------------------------------------//
|
||
|
|
||
|
#include <boost/smart_ptr.hpp>
|
||
|
|
||
|
// The point of this example is to prove that even though
|
||
|
// example::implementation is an incomplete type in translation units using
|
||
|
// this header, scoped_ptr< implementation > is still valid because the type
|
||
|
// is complete where it counts - in the inplementation translation unit where
|
||
|
// destruction is actually instantiated.
|
||
|
|
||
|
class example : boost::noncopyable
|
||
|
{
|
||
|
public:
|
||
|
example();
|
||
|
~example();
|
||
|
void do_something();
|
||
|
private:
|
||
|
class implementation;
|
||
|
boost::scoped_ptr< implementation > _imp; // hide implementation details
|
||
|
};
|
||
|
|