mirror of
				https://github.com/boostorg/smart_ptr.git
				synced 2025-10-31 07:41: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
 |