| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 | //// impl/error.ipp// ~~~~~~~~~~~~~~//// Copyright (c) 2003-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com)//// 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_ASIO_IMPL_ERROR_IPP#define BOOST_ASIO_IMPL_ERROR_IPP#if defined(_MSC_VER) && (_MSC_VER >= 1200)# pragma once#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)#include <boost/asio/detail/config.hpp>#include <string>#include <boost/asio/error.hpp>#include <boost/asio/detail/push_options.hpp>namespace boost {namespace asio {namespace error {#if !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)namespace detail {class netdb_category : public boost::system::error_category{public:  const char* name() const BOOST_ASIO_ERROR_CATEGORY_NOEXCEPT  {    return "asio.netdb";  }  std::string message(int value) const  {    if (value == error::host_not_found)      return "Host not found (authoritative)";    if (value == error::host_not_found_try_again)      return "Host not found (non-authoritative), try again later";    if (value == error::no_data)      return "The query is valid, but it does not have associated data";    if (value == error::no_recovery)      return "A non-recoverable error occurred during database lookup";    return "asio.netdb error";  }};} // namespace detailconst boost::system::error_category& get_netdb_category(){  static detail::netdb_category instance;  return instance;}namespace detail {class addrinfo_category : public boost::system::error_category{public:  const char* name() const BOOST_ASIO_ERROR_CATEGORY_NOEXCEPT  {    return "asio.addrinfo";  }  std::string message(int value) const  {    if (value == error::service_not_found)      return "Service not found";    if (value == error::socket_type_not_supported)      return "Socket type not supported";    return "asio.addrinfo error";  }};} // namespace detailconst boost::system::error_category& get_addrinfo_category(){  static detail::addrinfo_category instance;  return instance;}#endif // !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)namespace detail {class misc_category : public boost::system::error_category{public:  const char* name() const BOOST_ASIO_ERROR_CATEGORY_NOEXCEPT  {    return "asio.misc";  }  std::string message(int value) const  {    if (value == error::already_open)      return "Already open";    if (value == error::eof)      return "End of file";    if (value == error::not_found)      return "Element not found";    if (value == error::fd_set_failure)      return "The descriptor does not fit into the select call's fd_set";    return "asio.misc error";  }};} // namespace detailconst boost::system::error_category& get_misc_category(){  static detail::misc_category instance;  return instance;}} // namespace error} // namespace asio} // namespace boost#include <boost/asio/detail/pop_options.hpp>#endif // BOOST_ASIO_IMPL_ERROR_IPP
 |