forked from boostorg/smart_ptr
library. Changing includes to include the new individual smart pointer headers. Replacing old smart pointer library with an include of the new smart pointer headers. Simplify ifdefs that involve the member templates macros now that BOOST_MSVC6_MEMBER_TEMPLATES is also guaranteed to bet set for platforms that have full member templates. [SVN r12647]
27 lines
913 B
C++
27 lines
913 B
C++
// Boost shared_ptr_example2 header file -----------------------------------//
|
|
|
|
#include <boost/shared_ptr.hpp>
|
|
|
|
// This example demonstrates the handle/body idiom (also called pimpl and
|
|
// several other names). It separates the interface (in this header file)
|
|
// from the implementation (in shared_ptr_example2.cpp).
|
|
|
|
// Note that even though example::implementation is an incomplete type in
|
|
// some translation units using this header, shared_ptr< implementation >
|
|
// is still valid because the type is complete where it counts - in the
|
|
// shared_ptr_example2.cpp translation unit where functions requiring a
|
|
// complete type are actually instantiated.
|
|
|
|
class example
|
|
{
|
|
public:
|
|
example();
|
|
example( const example & );
|
|
example & operator=( const example & );
|
|
void do_something();
|
|
private:
|
|
class implementation;
|
|
boost::shared_ptr< implementation > _imp; // hide implementation details
|
|
};
|
|
|