]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/exception/test/current_exception_cast_test.cpp
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / libs / exception / test / current_exception_cast_test.cpp
1 //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
2
3 //Distributed under the Boost Software License, Version 1.0. (See accompanying
4 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5
6 #include <boost/config.hpp>
7
8 #if defined( BOOST_NO_EXCEPTIONS )
9 # error This program requires exception handling.
10 #endif
11
12 #include <boost/exception/current_exception_cast.hpp>
13 #include <boost/detail/lightweight_test.hpp>
14 #include <exception>
15
16 class
17 my_exception:
18 public std::exception
19 {
20 };
21
22 class
23 polymorphic
24 {
25 virtual
26 ~polymorphic()
27 {
28 }
29 };
30
31 int
32 main()
33 {
34 try
35 {
36 throw my_exception();
37 }
38 catch(
39 std::exception & e )
40 {
41 try
42 {
43 throw;
44 }
45 catch(
46 ...)
47 {
48 BOOST_TEST(boost::current_exception_cast<std::exception>()==&e);
49 BOOST_TEST(!boost::current_exception_cast<polymorphic>());
50 }
51 }
52 return boost::report_errors();
53 }