/* * @file a.hpp * @author Krzysztof Czainski <1czajnik@gmail.com> */ #ifndef A_HPP_ #define A_HPP_ #include #include #include template < class T > struct default_detele { void operator()( T* p ) { boost::checked_delete(p); } }; class A { struct Impl; boost::interprocess::scoped_ptr< Impl, default_detele > impl_; #ifndef GCC_WORKAROUND_MAY_ALIAS_RV_UGLY_HACK_VIOLATING_ODR BOOST_MOVABLE_BUT_NOT_COPYABLE(A) #endif public: A(); ~A(); A( BOOST_RV_REF(A) a ); }; #endif // A_HPP_