CARLA
Exception.cpp
Go to the documentation of this file.
1 // Copyright (c) 2017 Computer Vision Center (CVC) at the Universitat Autonoma
2 // de Barcelona (UAB).
3 //
4 // This work is licensed under the terms of the MIT license.
5 // For a copy, see <https://opensource.org/licenses/MIT>.
6 
7 #include "carla/Exception.h"
8 #include <boost/assert/source_location.hpp>
9 
10 // =============================================================================
11 // -- Define boost::throw_exception --------------------------------------------
12 // =============================================================================
13 
14 #ifdef BOOST_NO_EXCEPTIONS
15 
16 namespace boost {
17 
18  void throw_exception(const std::exception &e) {
20  }
21 
22  void throw_exception(
23  const std::exception &e,
24  boost::source_location const & loc) {
25  throw_exception(e);
26  }
27 
28 } // namespace boost
29 
30 #endif // BOOST_NO_EXCEPTIONS
31 
32 // =============================================================================
33 // -- Workaround for Boost.Asio bundled with rpclib ----------------------------
34 // =============================================================================
35 
36 #ifdef ASIO_NO_EXCEPTIONS
37 
38 #include <exception>
39 #include <system_error>
40 #include <typeinfo>
41 
42 namespace clmdep_asio {
43 namespace detail {
44 
45  template <typename Exception>
46  void throw_exception(const Exception& e) {
48  }
49 
50  template void throw_exception<std::bad_cast>(const std::bad_cast &);
51  template void throw_exception<std::exception>(const std::exception &);
52  template void throw_exception<std::system_error>(const std::system_error &);
53 
54 } // namespace detail
55 } // namespace clmdep_asio
56 
57 #endif // ASIO_NO_EXCEPTIONS
void throw_exception(const std::exception &e)
Definition: Carla.cpp:135