// Boost noncopyable.hpp header file --------------------------------------// | |
// (C) Copyright Beman Dawes 1999-2003. 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/utility for documentation. | |
#ifndef BOOST_NONCOPYABLE_HPP_INCLUDED | |
#define BOOST_NONCOPYABLE_HPP_INCLUDED | |
namespace boost { | |
// Private copy constructor and copy assignment ensure classes derived from | |
// class noncopyable cannot be copied. | |
// Contributed by Dave Abrahams | |
namespace noncopyable_ // protection from unintended ADL | |
{ | |
class noncopyable | |
{ | |
protected: | |
noncopyable() {} | |
~noncopyable() {} | |
private: // emphasize the following members are private | |
noncopyable( const noncopyable& ); | |
const noncopyable& operator=( const noncopyable& ); | |
}; | |
} | |
typedef noncopyable_::noncopyable noncopyable; | |
} // namespace boost | |
#endif // BOOST_NONCOPYABLE_HPP_INCLUDED |