1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- // (C) Copyright Beman Dawes 2009
- // Use, modification and distribution are subject to 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)
- // See http://www.boost.org/libs/config for more information.
- // MACRO: BOOST_NO_CXX11_HDR_EXCEPTION
- // TITLE: C++11 header <exception> not compatible
- // DESCRIPTION: The standard library does not provide a C++11 compatible version of <exception>.
- #include <exception>
- namespace boost_no_cxx11_hdr_exception {
- int test()
- {
- #ifdef BOOST_NO_EXCEPTIONS
- using std::exception_ptr;
- using std::current_exception;
- using std::rethrow_exception;
- return 0;
- #else
- std::exception_ptr ep;
- try
- {
- throw 42;
- }
- catch (...)
- {
- ep = std::current_exception();
- }
- try
- {
- std::rethrow_exception(ep);
- }
- catch (int i)
- {
- // return zero on success
- return i == 42 ? 0 : 1;
- }
- return 1;
- #endif
- }
- }
|