1234567891011121314151617181920212223242526272829 |
- // Boost scoped_ptr_example header file ------------------------------------//
- // Copyright Beman Dawes 2001. Distributed under the Boost
- // Software License, Version 1.0. (See accompanying file
- // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- // See http://www.boost.org/libs/smart_ptr for documentation.
- #include <boost/utility.hpp>
- #include <boost/scoped_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 : private boost::noncopyable
- {
- public:
- example();
- ~example();
- void do_something();
- private:
- class implementation;
- boost::scoped_ptr< implementation > _imp; // hide implementation details
- };
|