mirror of
				https://github.com/boostorg/smart_ptr.git
				synced 2025-10-31 15:51:38 +01:00 
			
		
		
		
	
		
			
	
	
		
			60 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
		
		
			
		
	
	
			60 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
|   | #ifndef BOOST_BAD_WEAK_PTR_HPP_INCLUDED
 | ||
|  | #define BOOST_BAD_WEAK_PTR_HPP_INCLUDED
 | ||
|  | 
 | ||
|  | // MS compatible compilers support #pragma once
 | ||
|  | 
 | ||
|  | #if defined(_MSC_VER) && (_MSC_VER >= 1020)
 | ||
|  | # pragma once
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | //
 | ||
|  | //  detail/bad_weak_ptr.hpp
 | ||
|  | //
 | ||
|  | //  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
 | ||
|  | //
 | ||
|  | // 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)
 | ||
|  | //
 | ||
|  | 
 | ||
|  | #include <exception>
 | ||
|  | 
 | ||
|  | #ifdef __BORLANDC__
 | ||
|  | # pragma warn -8026     // Functions with excep. spec. are not expanded inline
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | namespace boost | ||
|  | { | ||
|  | 
 | ||
|  | // The standard library that comes with Borland C++ 5.5.1, 5.6.4
 | ||
|  | // defines std::exception and its members as having C calling
 | ||
|  | // convention (-pc). When the definition of bad_weak_ptr
 | ||
|  | // is compiled with -ps, the compiler issues an error.
 | ||
|  | // Hence, the temporary #pragma option -pc below.
 | ||
|  | 
 | ||
|  | #if defined(__BORLANDC__) && __BORLANDC__ <= 0x564
 | ||
|  | # pragma option push -pc
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | class bad_weak_ptr: public std::exception | ||
|  | { | ||
|  | public: | ||
|  | 
 | ||
|  |     virtual char const * what() const throw() | ||
|  |     { | ||
|  |         return "boost::bad_weak_ptr"; | ||
|  |     } | ||
|  | }; | ||
|  | 
 | ||
|  | #if defined(__BORLANDC__) && __BORLANDC__ <= 0x564
 | ||
|  | # pragma option pop
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | } // namespace boost
 | ||
|  | 
 | ||
|  | #ifdef __BORLANDC__
 | ||
|  | # pragma warn .8026     // Functions with excep. spec. are not expanded inline
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #endif  // #ifndef BOOST_BAD_WEAK_PTR_HPP_INCLUDED
 |