Files
@ b15fcedf4544
Branch filter:
Location: libtransport.git/include/boost/dll/detail/system_error.hpp - annotation
b15fcedf4544
1.2 KiB
text/x-c++hdr
communi: use QT_NO_KEYWORDS to prevent clashing with Boost
15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 15e16d709e79 | // Copyright 2014 Renato Tegon Forti, Antony Polukhin.
//
// 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)
#ifndef BOOST_DLL_SYSTEM_ERROR_HPP
#define BOOST_DLL_SYSTEM_ERROR_HPP
#include <boost/config.hpp>
#include <boost/predef/os.h>
#include <boost/system/error_code.hpp>
#include <boost/system/system_error.hpp>
#include <boost/throw_exception.hpp>
#if !BOOST_OS_WINDOWS
# include <dlfcn.h>
#endif
#ifdef BOOST_HAS_PRAGMA_ONCE
# pragma once
#endif
namespace boost { namespace dll { namespace detail {
inline void report_error(const boost::system::error_code& ec, const char* message) {
#if !BOOST_OS_WINDOWS
const char* const error_txt = dlerror();
if (error_txt) {
boost::throw_exception(
boost::system::system_error(
ec,
message + std::string(" (dlerror system message: ") + error_txt + std::string(")")
)
);
}
#endif
boost::throw_exception(
boost::system::system_error(
ec, message
)
);
}
}}} // boost::dll::detail
#endif // BOOST_DLL_SYSTEM_ERROR_HPP
|