CppCMS
bad_weak_ptr.h
1 #ifndef BOOSTER_SMART_PTR_BAD_WEAK_PTR_HPP_INCLUDED
2 #define BOOSTER_SMART_PTR_BAD_WEAK_PTR_HPP_INCLUDED
3 
4 //
5 // boost/smart_ptr/bad_weak_ptr.hpp
6 //
7 // Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
8 //
9 // Distributed under the Boost Software License, Version 1.0. (See
10 // accompanying file LICENSE_1_0.txt or copy at
11 // http://www.boost.org/LICENSE_1_0.txt)
12 //
13 
14 #include <booster/backtrace.h>
15 
16 #ifdef __BORLANDC__
17 # pragma warn -8026 // Functions with excep. spec. are not expanded inline
18 #endif
19 
20 namespace booster
21 {
22 
23 // The standard library that comes with Borland C++ 5.5.1, 5.6.4
24 // defines std::exception and its members as having C calling
25 // convention (-pc). When the definition of bad_weak_ptr
26 // is compiled with -ps, the compiler issues an error.
27 // Hence, the temporary #pragma option -pc below.
28 
29 #if defined(__BORLANDC__) && __BORLANDC__ <= 0x564
30 # pragma option push -pc
31 #endif
32 
37 {
38 public:
39 
40  virtual char const * what() const throw()
41  {
42  return "booster::bad_weak_ptr";
43  }
44 };
45 
46 #if defined(__BORLANDC__) && __BORLANDC__ <= 0x564
47 # pragma option pop
48 #endif
49 
50 } // namespace boost
51 
52 #ifdef __BORLANDC__
53 # pragma warn .8026 // Functions with excep. spec. are not expanded inline
54 #endif
55 
56 #endif // #ifndef BOOST_SMART_PTR_BAD_WEAK_PTR_HPP_INCLUDED
Same as std::exception but records stack trace.
Definition: backtrace.h:144
Booster library namespace. The library that implements Boost Like API in ABI backward compatible way...
Definition: application.h:23
Definition: bad_weak_ptr.h:36