哪里可以找到boost errorcode:system:error

boost/system/error_code.hpp
boost/system/error_code.hpp
---------------------------------------------//
Copyright Beman Dawes
Copyright Christoper Kohlhoff 2007
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at )
See library home page at
#ifndef BOOST_ERROR_CODE_HPP
#define BOOST_ERROR_CODE_HPP
#include &&
#include &&
#include &&
#include &&
#include &&
#include &ostream&
#include &string&
#include &stdexcept&
#include &functional&
// TODO: undef these macros if not already defined
#include &&
#if !defined(BOOST_POSIX_API) && !defined(BOOST_WINDOWS_API)
error BOOST_POSIX_API or BOOST_WINDOWS_API must be defined
#include && // must be the last #include
#ifndef BOOST_SYSTEM_NOEXCEPT
#define BOOST_SYSTEM_NOEXCEPT BOOST_NOEXCEPT
namespace boost
namespace system
class error_
class error_
&Concept& helpers
---------------------------------------------------//
template& class T &
struct is_error_code_enum { static const bool value = };
template& class T &
struct is_error_condition_enum { static const bool value = };
generic error_conditions
--------------------------------------------//
namespace errc
enum errc_t
success = 0,
address_family_not_supported = EAFNOSUPPORT,
address_in_use = EADDRINUSE,
address_not_available = EADDRNOTAVAIL,
already_connected = EISCONN,
argument_list_too_long = E2BIG,
argument_out_of_domain = EDOM,
bad_address = EFAULT,
bad_file_descriptor = EBADF,
bad_message = EBADMSG,
broken_pipe = EPIPE,
connection_aborted = ECONNABORTED,
connection_already_in_progress = EALREADY,
connection_refused = ECONNREFUSED,
connection_reset = ECONNRESET,
cross_device_link = EXDEV,
destination_address_required = EDESTADDRREQ,
device_or_resource_busy = EBUSY,
directory_not_empty = ENOTEMPTY,
executable_format_error = ENOEXEC,
file_exists = EEXIST,
file_too_large = EFBIG,
filename_too_long = ENAMETOOLONG,
function_not_supported = ENOSYS,
host_unreachable = EHOSTUNREACH,
identifier_removed = EIDRM,
illegal_byte_sequence = EILSEQ,
inappropriate_io_control_operation = ENOTTY,
interrupted = EINTR,
invalid_argument = EINVAL,
invalid_seek = ESPIPE,
io_error = EIO,
is_a_directory = EISDIR,
message_size = EMSGSIZE,
network_down = ENETDOWN,
network_reset = ENETRESET,
network_unreachable = ENETUNREACH,
no_buffer_space = ENOBUFS,
no_child_process = ECHILD,
no_link = ENOLINK,
no_lock_available = ENOLCK,
no_message_available = ENODATA,
no_message = ENOMSG,
no_protocol_option = ENOPROTOOPT,
no_space_on_device = ENOSPC,
no_stream_resources = ENOSR,
no_such_device_or_address = ENXIO,
no_such_device = ENODEV,
no_such_file_or_directory = ENOENT,
no_such_process = ESRCH,
not_a_directory = ENOTDIR,
not_a_socket = ENOTSOCK,
not_a_stream = ENOSTR,
not_connected = ENOTCONN,
not_enough_memory = ENOMEM,
not_supported = ENOTSUP,
operation_canceled = ECANCELED,
operation_in_progress = EINPROGRESS,
operation_not_permitted = EPERM,
operation_not_supported = EOPNOTSUPP,
operation_would_block = EWOULDBLOCK,
owner_dead = EOWNERDEAD,
permission_denied = EACCES,
protocol_error = EPROTO,
protocol_not_supported = EPROTONOSUPPORT,
read_only_file_system = EROFS,
resource_deadlock_would_occur = EDEADLK,
resource_unavailable_try_again = EAGAIN,
result_out_of_range = ERANGE,
state_not_recoverable = ENOTRECOVERABLE,
stream_timeout = ETIME,
text_file_busy = ETXTBSY,
timed_out = ETIMEDOUT,
too_many_files_open_in_system = ENFILE,
too_many_files_open = EMFILE,
too_many_links = EMLINK,
too_many_symbolic_link_levels = ELOOP,
value_too_large = EOVERFLOW,
wrong_protocol_type = EPROTOTYPE
} // namespace errc
# ifndef BOOST_SYSTEM_NO_DEPRECATED
namespace posix =
namespace posix_error =
template&& struct is_error_condition_enum&errc::errc_t&
{ static const bool value = };
----------------------------------------------------------------------//
Operating system specific interfaces
--------------------------------//
The interface is divided into general and system-specific portions to
meet these requirements:
* Code calling an operating system API can create an error_code with
a single category (system_category), even for POSIX-like operating
systems that return some POSIX errno values and some native errno
values. This code should not have to pay the cost of distinguishing
between categories, since it is not yet known if that is needed.
* Users wishing to write system-specific code should be given enums for
at least the common error cases.
* System specific code should fail at compile time if moved to another
operating system.
The system specific portions of the interface are located in headers
with names reflecting the operating system. For example,
&boost/system/cygwin_error.hpp&
&boost/system/linux_error.hpp&
&boost/system/windows_error.hpp&
These headers are effectively empty for compiles on operating systems
where they are not applicable.
----------------------------------------------------------------------//
class error_category
------------------------------------------------//
class error_category : public noncopyable
virtual ~error_category(){}
virtual const char *
name() const BOOST_SYSTEM_NOEXCEPT = 0;
virtual std::string
message( int ev ) const = 0;
inline virtual error_condition
default_error_condition( int ev ) const
BOOST_SYSTEM_NOEXCEPT;
inline virtual bool
equivalent( int code,
const error_condition & condition ) const
BOOST_SYSTEM_NOEXCEPT;
inline virtual bool
equivalent( const error_code & code,
int condition ) const
BOOST_SYSTEM_NOEXCEPT;
bool operator==(const error_category & rhs) const BOOST_SYSTEM_NOEXCEPT { return this == & }
bool operator!=(const error_category & rhs) const BOOST_SYSTEM_NOEXCEPT { return this != & }
bool operator&( const error_category & rhs ) const BOOST_SYSTEM_NOEXCEPT
return std::less&const error_category*&()( this, &rhs );
predefined error categories
-----------------------------------------//
# ifdef BOOST_ERROR_CODE_HEADER_ONLY
inline const error_category &
system_category() BOOST_SYSTEM_NOEXCEPT;
inline const error_category &
generic_category() BOOST_SYSTEM_NOEXCEPT;
BOOST_SYSTEM_DECL const error_category &
system_category() BOOST_SYSTEM_NOEXCEPT;
BOOST_SYSTEM_DECL const error_category &
generic_category() BOOST_SYSTEM_NOEXCEPT;
deprecated synonyms --------------------------------------------------//
# ifndef BOOST_SYSTEM_NO_DEPRECATED
inline const error_category &
get_system_category() { return system_category(); }
inline const error_category &
get_generic_category() { return generic_category(); }
inline const error_category &
get_posix_category() { return generic_category(); }
static const error_category &
posix_category = generic_category();
static const error_category &
errno_ecat
= generic_category();
static const error_category &
native_ecat
= system_category();
class error_condition
-----------------------------------------------//
error_conditions are portable, error_codes are system or library specific
class error_condition
// constructors:
error_condition() BOOST_SYSTEM_NOEXCEPT : m_val(0), m_cat(&generic_category()) {}
error_condition( int val, const error_category & cat ) BOOST_SYSTEM_NOEXCEPT : m_val(val), m_cat(&cat) {}
template &class ErrorConditionEnum&
error_condition(ErrorConditionEnum e,
typename boost::enable_if&is_error_condition_enum&ErrorConditionEnum& &::type* = 0) BOOST_SYSTEM_NOEXCEPT
*this = make_error_condition(e);
// modifiers:
void assign( int val, const error_category & cat ) BOOST_SYSTEM_NOEXCEPT
template&typename ErrorConditionEnum&
typename boost::enable_if&is_error_condition_enum&ErrorConditionEnum&, error_condition&::type &
operator=( ErrorConditionEnum val ) BOOST_SYSTEM_NOEXCEPT
*this = make_error_condition(val);
void clear() BOOST_SYSTEM_NOEXCEPT
m_val = 0;
m_cat = &generic_category();
// observers:
value() const BOOST_SYSTEM_NOEXCEPT
{ return m_ }
const error_category &
category() const BOOST_SYSTEM_NOEXCEPT { return *m_ }
std::string
message() const
{ return m_cat-&message(value()); }
typedef void (*unspecified_bool_type)();
static void unspecified_bool_true() {}
operator unspecified_bool_type() const BOOST_SYSTEM_NOEXCEPT
// true if error
return m_val == 0 ? 0 : unspecified_bool_
bool operator!() const BOOST_SYSTEM_NOEXCEPT
// true if no error
return m_val == 0;
// relationals:
the more symmetrical non-member syntax allows enum
conversions work for both rhs and lhs.
inline friend bool operator==( const error_condition & lhs,
const error_condition & rhs ) BOOST_SYSTEM_NOEXCEPT
return lhs.m_cat == rhs.m_cat && lhs.m_val == rhs.m_
inline friend bool operator&( const error_condition & lhs,
const error_condition & rhs ) BOOST_SYSTEM_NOEXCEPT
the more symmetrical non-member syntax allows enum
conversions work for both rhs and lhs.
return lhs.m_cat & rhs.m_cat
|| (lhs.m_cat == rhs.m_cat && lhs.m_val & rhs.m_val);
const error_category *
class error_code
----------------------------------------------------//
We want error_code to be a value type that can be copied without slicing
and without requiring heap allocation, but we also want it to have
polymorphic behavior based on the error category. This is achieved by
abstract base class error_category supplying the polymorphic behavior,
and error_code containing a pointer to an object of a type derived
from error_category.
class error_code
// constructors:
error_code() BOOST_SYSTEM_NOEXCEPT : m_val(0), m_cat(&system_category()) {}
error_code( int val, const error_category & cat ) BOOST_SYSTEM_NOEXCEPT : m_val(val), m_cat(&cat) {}
template &class ErrorCodeEnum&
error_code(ErrorCodeEnum e,
typename boost::enable_if&is_error_code_enum&ErrorCodeEnum& &::type* = 0) BOOST_SYSTEM_NOEXCEPT
*this = make_error_code(e);
// modifiers:
void assign( int val, const error_category & cat ) BOOST_SYSTEM_NOEXCEPT
template&typename ErrorCodeEnum&
typename boost::enable_if&is_error_code_enum&ErrorCodeEnum&, error_code&::type &
operator=( ErrorCodeEnum val ) BOOST_SYSTEM_NOEXCEPT
*this = make_error_code(val);
void clear() BOOST_SYSTEM_NOEXCEPT
m_val = 0;
m_cat = &system_category();
// observers:
value() const
BOOST_SYSTEM_NOEXCEPT
{ return m_ }
const error_category &
category() const BOOST_SYSTEM_NOEXCEPT { return *m_ }
error_condition
default_error_condition() const BOOST_SYSTEM_NOEXCEPT
{ return m_cat-&default_error_condition(value()); }
std::string
message() const
{ return m_cat-&message(value()); }
typedef void (*unspecified_bool_type)();
static void unspecified_bool_true() {}
operator unspecified_bool_type() const
BOOST_SYSTEM_NOEXCEPT // true if error
return m_val == 0 ? 0 : unspecified_bool_
bool operator!() const
BOOST_SYSTEM_NOEXCEPT // true if no error
return m_val == 0;
// relationals:
inline friend bool operator==( const error_code & lhs,
const error_code & rhs ) BOOST_SYSTEM_NOEXCEPT
the more symmetrical non-member syntax allows enum
conversions work for both rhs and lhs.
return lhs.m_cat == rhs.m_cat && lhs.m_val == rhs.m_
inline friend bool operator&( const error_code & lhs,
const error_code & rhs ) BOOST_SYSTEM_NOEXCEPT
the more symmetrical non-member syntax allows enum
conversions work for both rhs and lhs.
return lhs.m_cat & rhs.m_cat
|| (lhs.m_cat == rhs.m_cat && lhs.m_val & rhs.m_val);
const error_category *
predefined error_code object used as &throw on error& tag
# ifndef BOOST_SYSTEM_NO_DEPRECATED
BOOST_SYSTEM_DECL extern error_
Moving from a &throws& object to a &throws& function without breaking
existing code is a bit of a problem. The workaround is to place the
&throws& function in namespace boost rather than namespace boost::system.
// namespace system
namespace detail { inline system::error_code * throws() { return 0; } }
Misuse of the error_code object is turned into a noisy failure by
poisoning the reference. This particular implementation doesn't
produce warnings or errors from popular compilers, is very efficient
(as determined by inspecting generated code), and does not suffer
from order of initialization problems. In practice, it also seems
cause user function error handling implementation errors to be detected
very early in the development cycle.
inline system::error_code & throws()
{ return *detail::throws(); }
namespace system
non-member functions
------------------------------------------------//
inline bool operator!=( const error_code & lhs,
const error_code & rhs ) BOOST_SYSTEM_NOEXCEPT
return !(lhs == rhs);
inline bool operator!=( const error_condition & lhs,
const error_condition & rhs ) BOOST_SYSTEM_NOEXCEPT
return !(lhs == rhs);
inline bool operator==( const error_code & code,
const error_condition & condition ) BOOST_SYSTEM_NOEXCEPT
return code.category().equivalent( code.value(), condition )
|| condition.category().equivalent( code, condition.value() );
inline bool operator!=( const error_code & lhs,
const error_condition & rhs ) BOOST_SYSTEM_NOEXCEPT
return !(lhs == rhs);
inline bool operator==( const error_condition & condition,
const error_code & code ) BOOST_SYSTEM_NOEXCEPT
return condition.category().equivalent( code, condition.value() )
|| code.category().equivalent( code.value(), condition );
inline bool operator!=( const error_condition & lhs,
const error_code & rhs ) BOOST_SYSTEM_NOEXCEPT
return !(lhs == rhs);
// TODO: both of these may move elsewhere, but the LWG hasn't spoken yet.
template &class charT, class traits&
inline std::basic_ostream&charT,traits&&
operator&& (std::basic_ostream&charT,traits&& os, error_code ec)
os && ec.category().name() && ':' && ec.value();
inline std::size_t hash_value( const error_code & ec )
return static_cast&std::size_t&(ec.value())
+ reinterpret_cast&std::size_t&(&ec.category());
make_* functions for errc::errc_t
-----------------------------//
namespace errc
explicit conversion:
inline error_code make_error_code( errc_t e ) BOOST_SYSTEM_NOEXCEPT
{ return error_code( e, generic_category() ); }
implicit conversion:
inline error_condition make_error_condition( errc_t e ) BOOST_SYSTEM_NOEXCEPT
{ return error_condition( e, generic_category() ); }
error_category default implementation
-------------------------------//
error_condition error_category::default_error_condition( int ev ) const BOOST_SYSTEM_NOEXCEPT
return error_condition( ev, *this );
bool error_category::equivalent( int code,
const error_condition & condition ) const BOOST_SYSTEM_NOEXCEPT
return default_error_condition( code ) ==
bool error_category::equivalent( const error_code & code,
int condition ) const BOOST_SYSTEM_NOEXCEPT
return *this == code.category() && code.value() ==
} // namespace system
} // namespace boost
#include && // pops abi_prefix.hpp pragmas
# ifdef BOOST_ERROR_CODE_HEADER_ONLY
include &&
#endif // BOOST_ERROR_CODE_HPP
Distributed under the .哪里可以找到boost:system:error_百度知道
哪里可以找到boost:system:error
网线接头问题等
也可能是用GHOST装系统才出现这样的问题,你在第一次进万象时会卡死在那:
该问题是由系统不能正常连接网络导致;网卡物理故障,如果硬件不同GHOST又带了万象就先把不同的硬件(显卡就没有办法了)拔出来再卸了万象再装硬件后装万象。原因可能有以下几方面,而又没有设置IP地址:未安装网卡驱动,提示System Error Code 232 管道正在被关闭;系统自身的DNS和DHCP服务被关闭.解决方法是1如果你克隆带了万象,就是如果你做GHOST的母盘的系统的硬件和你当前机器的硬件(特别是网卡)有变化时,如果你的万象不时后装的是在GHOST的.不要在第一次进万象时让机器发现新硬件,这样容易出错.或重新用母机做个不带万象的系统的母盘传统的解决的方案
知道智能回答机器人
我是知道站内的人工智能,可高效智能地为您解答问题。很高兴为您服务。
其他类似问题
为您推荐:
boost的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Xcode中使用boost库链接出错,system_category找不到
[问题点数:40分,结帖人lanyu1986]
Xcode中使用boost库链接出错,system_category找不到
[问题点数:40分,结帖人lanyu1986]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2012年2月 移动平台大版内专家分月排行榜第二2012年1月 移动平台大版内专家分月排行榜第二2011年5月 移动平台大版内专家分月排行榜第二2011年4月 移动平台大版内专家分月排行榜第二2009年1月 移动平台大版内专家分月排行榜第二
2011年12月 移动平台大版内专家分月排行榜第三2011年11月 移动平台大版内专家分月排行榜第三2011年9月 移动平台大版内专家分月排行榜第三2011年8月 移动平台大版内专家分月排行榜第三2010年3月 移动平台大版内专家分月排行榜第三2010年2月 移动平台大版内专家分月排行榜第三2009年4月 移动平台大版内专家分月排行榜第三2009年3月 硬件/嵌入开发大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。哪里可以找到boost:system:error_百度知道
哪里可以找到boost:system:error
提问者采纳
就是如果你做GHOST的母盘的系统的硬件和你当前机器的硬件(特别是网卡)有变化时,你在第一次进万象时会卡死在那;网卡物理故障:未安装网卡驱动,这样容易出错: 该问题是由系统不能正常连接网络导致,如果硬件不同GHOST又带了万象就先把不同的硬件(显卡就没有办法了)拔出来再卸了万象再装硬件后装万象.或重新用母机做个不带万象的系统的母盘。原因可能有以下几方面;系统自身的DNS和DHCP服务被关闭,如果你的万象不时后装的是在GHOST的,而又没有设置IP地址.不要在第一次进万象时让机器发现新硬件;网线接头问题等 也可能是用GHOST装系统才出现这样的问题,提示System Error Code 232 管道正在被关闭.解决方法是1如果你克隆带了万象传统的解决的方案
来自团队:
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁哪里可以找到boost:system:error_百度知道
哪里可以找到boost:system:error
提问者采纳
原因可能有以下几方面,提示System Error Code 232 管道正在被关闭,你在第一次进万象时会卡死在那,如果你的万象不时后装的是在GHOST的.不要在第一次进万象时让机器发现新硬件;网线接头问题等 也可能是用GHOST装系统才出现这样的问题;系统自身的DNS和DHCP服务被关闭,而又没有设置IP地址传统的解决的方案.解决方法是1如果你克隆带了万象.或重新用母机做个不带万象的系统的母盘: 该问题是由系统不能正常连接网络导致,如果硬件不同GHOST又带了万象就先把不同的硬件(显卡就没有办法了)拔出来再卸了万象再装硬件后装万象,就是如果你做GHOST的母盘的系统的硬件和你当前机器的硬件(特别是网卡)有变化时:未安装网卡驱动,这样容易出错;网卡物理故障
其他类似问题
为您推荐:
boost的相关知识
其他1条回答
我认识一些后端的大牛,也许能帮上你
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 catboost error 1 的文章

 

随机推荐