]> git.lyx.org Git - lyx.git/blobdiff - boost/boost/noncopyable.hpp
Fix HTML output of \gg and \ll
[lyx.git] / boost / boost / noncopyable.hpp
index e2c8399d0161c4e18b753f8f01c82ba979a171de..eb8e2e70da2112bbf445a84096ac70077001cc96 100644 (file)
@@ -1,16 +1,16 @@
 //  Boost noncopyable.hpp header file  --------------------------------------//
 
-//  (C) Copyright Boost.org 1999-2003. Permission to copy, use, modify, sell
-//  and distribute this software is granted provided this copyright
-//  notice appears in all copies. This software is provided "as is" without
-//  express or implied warranty, and with no claim as to its suitability for
-//  any purpose.
+//  (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
 
+#include <boost/config.hpp>
+
 namespace boost {
 
 //  Private copy constructor and copy assignment ensure classes derived from
@@ -18,15 +18,30 @@ namespace boost {
 
 //  Contributed by Dave Abrahams
 
-class noncopyable
+namespace noncopyable_  // protection from unintended ADL
 {
- protected:
+  class noncopyable
+  {
+   protected:
+#ifndef BOOST_NO_DEFAULTED_FUNCTIONS
+    BOOST_CONSTEXPR noncopyable() = default;
+    ~noncopyable() = default;
+#else
     noncopyable() {}
-    ~noncopyable() {}
- private:  // emphasize the following members are private
-    noncopyable( const noncopyable& );
-    const noncopyable& operator=( const noncopyable& );
-};
+      ~noncopyable() {}
+#endif
+#ifndef BOOST_NO_DELETED_FUNCTIONS
+        noncopyable( const noncopyable& ) = delete;
+        noncopyable& operator=( const noncopyable& ) = delete;
+#else
+    private:  // emphasize the following members are private
+      noncopyable( const noncopyable& );
+      noncopyable& operator=( const noncopyable& );
+#endif
+  };
+}
+
+typedef noncopyable_::noncopyable noncopyable;
 
 } // namespace boost