nuclear@0: // Boost noncopyable.hpp header file --------------------------------------// nuclear@0: nuclear@0: // (C) Copyright Beman Dawes 1999-2003. Distributed under the Boost nuclear@0: // Software License, Version 1.0. (See accompanying file nuclear@0: // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) nuclear@0: nuclear@0: // See http://www.boost.org/libs/utility for documentation. nuclear@0: nuclear@0: #ifndef BOOST_NONCOPYABLE_HPP_INCLUDED nuclear@0: #define BOOST_NONCOPYABLE_HPP_INCLUDED nuclear@0: nuclear@0: namespace boost { nuclear@0: nuclear@0: // Private copy constructor and copy assignment ensure classes derived from nuclear@0: // class noncopyable cannot be copied. nuclear@0: nuclear@0: // Contributed by Dave Abrahams nuclear@0: nuclear@0: namespace noncopyable_ // protection from unintended ADL nuclear@0: { nuclear@0: class noncopyable nuclear@0: { nuclear@0: protected: nuclear@0: noncopyable() {} nuclear@0: ~noncopyable() {} nuclear@0: private: // emphasize the following members are private nuclear@0: noncopyable( const noncopyable& ); nuclear@0: const noncopyable& operator=( const noncopyable& ); nuclear@0: }; nuclear@0: } nuclear@0: nuclear@0: typedef noncopyable_::noncopyable noncopyable; nuclear@0: nuclear@0: } // namespace boost nuclear@0: nuclear@0: #endif // BOOST_NONCOPYABLE_HPP_INCLUDED