You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
44 lines
1.2 KiB
44 lines
1.2 KiB
//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. |
|
|
|
//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 UUID_F0EE17BE6C1211DE87FF459155D89593 |
|
#define UUID_F0EE17BE6C1211DE87FF459155D89593 |
|
#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) |
|
#pragma GCC system_header |
|
#endif |
|
#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) |
|
#pragma warning(push,1) |
|
#endif |
|
|
|
#include "boost/exception/info.hpp" |
|
#include <errno.h> |
|
#include <string.h> |
|
|
|
namespace |
|
boost |
|
{ |
|
typedef error_info<struct errinfo_errno_,int> errinfo_errno; |
|
|
|
//Usage hint: |
|
//if( c_function(....)!=0 ) |
|
// BOOST_THROW_EXCEPTION( |
|
// failure() << |
|
// errinfo_errno(errno) << |
|
// errinfo_api_function("c_function") ); |
|
inline |
|
std::string |
|
to_string( errinfo_errno const & e ) |
|
{ |
|
std::ostringstream tmp; |
|
int v=e.value(); |
|
tmp << v << ", \"" << strerror(v) << "\""; |
|
return tmp.str(); |
|
} |
|
} |
|
|
|
#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) |
|
#pragma warning(pop) |
|
#endif |
|
#endif
|
|
|