| 
									
										
										
										
											2003-02-17 06:20:57 +00:00
										 |  |  | //  Boost noncopyable.hpp header file  --------------------------------------//
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-08-10 12:53:34 +00:00
										 |  |  | //  (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)
 | 
					
						
							| 
									
										
										
										
											2003-02-17 06:20:57 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | //  See http://www.boost.org/libs/utility for documentation.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef BOOST_NONCOPYABLE_HPP_INCLUDED
 | 
					
						
							|  |  |  | #define BOOST_NONCOPYABLE_HPP_INCLUDED
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace boost { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | //  Private copy constructor and copy assignment ensure classes derived from
 | 
					
						
							|  |  |  | //  class noncopyable cannot be copied.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | //  Contributed by Dave Abrahams
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-08-18 17:01:11 +00:00
										 |  |  | namespace noncopyable_  // protection from unintended ADL
 | 
					
						
							| 
									
										
										
										
											2003-02-17 06:20:57 +00:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2004-08-18 17:01:11 +00:00
										 |  |  |   class noncopyable | 
					
						
							|  |  |  |   { | 
					
						
							|  |  |  |    protected: | 
					
						
							|  |  |  |       noncopyable() {} | 
					
						
							|  |  |  |       ~noncopyable() {} | 
					
						
							|  |  |  |    private:  // emphasize the following members are private
 | 
					
						
							|  |  |  |       noncopyable( const noncopyable& ); | 
					
						
							|  |  |  |       const noncopyable& operator=( const noncopyable& ); | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-08-20 17:17:06 +00:00
										 |  |  | typedef noncopyable_::noncopyable noncopyable; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-02-17 06:20:57 +00:00
										 |  |  | } // namespace boost
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif  // BOOST_NONCOPYABLE_HPP_INCLUDED
 |