diff options
Diffstat (limited to 'indexlib/boost-compat/noncopyable.h')
-rw-r--r-- | indexlib/boost-compat/noncopyable.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/indexlib/boost-compat/noncopyable.h b/indexlib/boost-compat/noncopyable.h new file mode 100644 index 000000000..0d94ea6af --- /dev/null +++ b/indexlib/boost-compat/noncopyable.h @@ -0,0 +1,36 @@ +// Boost noncopyable.h 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_H_INCLUDED +#define BOOST_NONCOPYABLE_H_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_H_INCLUDED |