GetFEM++  5.3
noncopyable.hpp
1 // Boost noncopyable.hpp header file --------------------------------------//
2 
3 //
4 // Copyright (c) 1999-2003 Beman Dawes
5 //
6 // Distributed under the Boost Software License, Version 1.0. (See
7 // accompanying file LICENSE_1_0.txt or copy at
8 // http://www.boost.org/LICENSE_1_0.txt)
9 //
10 // See http://www.boost.org/libs/utility for documentation.
11 //
12 
13 #if !defined(BOOST_NONCOPYABLE_HPP_INCLUDED) && !defined(BOOST_NONCOPYABLE_HPP) && !defined(BOOST_CORE_NONCOPYABLE_HPP)
14 
15 #define BOOST_NONCOPYABLE_HPP_INCLUDED
16 #define BOOST_NONCOPYABLE_HPP
17 #define BOOST_CORE_NONCOPYABLE_HPP
18 
19 
20 
21 namespace boost {
22 
23 // Private copy constructor and copy assignment ensure classes derived from
24 // class noncopyable cannot be copied.
25 
26 // Contributed by Dave Abrahams
27 
28 namespace noncopyable_ // protection from unintended ADL
29 {
30  class noncopyable
31  {
32  protected:
33  noncopyable() {}
34  ~noncopyable() {}
35  private: // emphasize the following members are private
36  noncopyable( const noncopyable& );
37  const noncopyable& operator=( const noncopyable& );
38  };
39 }
40 
41 typedef noncopyable_::noncopyable noncopyable;
42 
43 } // namespace boost
44 
45 #endif