ossrv_pub/boost_apis/boost/noncopyable.hpp
changeset 31 ce057bb09d0b
parent 0 e4d67989cc36
equal deleted inserted replaced
30:e20de85af2ee 31:ce057bb09d0b
       
     1 //  Boost noncopyable.hpp header file  --------------------------------------//
       
     2 
       
     3 //  (C) Copyright Beman Dawes 1999-2003. Distributed under the Boost
       
     4 //  Software License, Version 1.0. (See accompanying file
       
     5 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       
     6 
       
     7 //  See http://www.boost.org/libs/utility for documentation.
       
     8 
       
     9 #ifndef BOOST_NONCOPYABLE_HPP_INCLUDED
       
    10 #define BOOST_NONCOPYABLE_HPP_INCLUDED
       
    11 
       
    12 namespace boost {
       
    13 
       
    14 //  Private copy constructor and copy assignment ensure classes derived from
       
    15 //  class noncopyable cannot be copied.
       
    16 
       
    17 //  Contributed by Dave Abrahams
       
    18 
       
    19 namespace noncopyable_  // protection from unintended ADL
       
    20 {
       
    21   class noncopyable
       
    22   {
       
    23    protected:
       
    24       noncopyable() {}
       
    25       ~noncopyable() {}
       
    26    private:  // emphasize the following members are private
       
    27       noncopyable( const noncopyable& );
       
    28       const noncopyable& operator=( const noncopyable& );
       
    29   };
       
    30 }
       
    31 
       
    32 typedef noncopyable_::noncopyable noncopyable;
       
    33 
       
    34 } // namespace boost
       
    35 
       
    36 #endif  // BOOST_NONCOPYABLE_HPP_INCLUDED