summaryrefslogtreecommitdiffstats
path: root/indexlib/boost-compat/noncopyable.h
diff options
context:
space:
mode:
Diffstat (limited to 'indexlib/boost-compat/noncopyable.h')
-rw-r--r--indexlib/boost-compat/noncopyable.h36
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