diff options
Diffstat (limited to '3rdparty/asio/include/asio/ip/address.hpp')
-rw-r--r-- | 3rdparty/asio/include/asio/ip/address.hpp | 61 |
1 files changed, 26 insertions, 35 deletions
diff --git a/3rdparty/asio/include/asio/ip/address.hpp b/3rdparty/asio/include/asio/ip/address.hpp index 1b26c384df5..337abe7fd69 100644 --- a/3rdparty/asio/include/asio/ip/address.hpp +++ b/3rdparty/asio/include/asio/ip/address.hpp @@ -2,7 +2,7 @@ // ip/address.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2021 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2024 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) @@ -16,6 +16,7 @@ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) #include "asio/detail/config.hpp" +#include <functional> #include <string> #include "asio/detail/throw_exception.hpp" #include "asio/detail/string_view.hpp" @@ -25,10 +26,6 @@ #include "asio/ip/address_v6.hpp" #include "asio/ip/bad_address_cast.hpp" -#if defined(ASIO_HAS_STD_HASH) -# include <functional> -#endif // defined(ASIO_HAS_STD_HASH) - #if !defined(ASIO_NO_IOSTREAM) # include <iosfwd> #endif // !defined(ASIO_NO_IOSTREAM) @@ -51,48 +48,44 @@ class address { public: /// Default constructor. - ASIO_DECL address() ASIO_NOEXCEPT; + ASIO_DECL address() noexcept; /// Construct an address from an IPv4 address. ASIO_DECL address( - const asio::ip::address_v4& ipv4_address) ASIO_NOEXCEPT; + const asio::ip::address_v4& ipv4_address) noexcept; /// Construct an address from an IPv6 address. ASIO_DECL address( - const asio::ip::address_v6& ipv6_address) ASIO_NOEXCEPT; + const asio::ip::address_v6& ipv6_address) noexcept; /// Copy constructor. - ASIO_DECL address(const address& other) ASIO_NOEXCEPT; + ASIO_DECL address(const address& other) noexcept; -#if defined(ASIO_HAS_MOVE) /// Move constructor. - ASIO_DECL address(address&& other) ASIO_NOEXCEPT; -#endif // defined(ASIO_HAS_MOVE) + ASIO_DECL address(address&& other) noexcept; /// Assign from another address. - ASIO_DECL address& operator=(const address& other) ASIO_NOEXCEPT; + ASIO_DECL address& operator=(const address& other) noexcept; -#if defined(ASIO_HAS_MOVE) /// Move-assign from another address. - ASIO_DECL address& operator=(address&& other) ASIO_NOEXCEPT; -#endif // defined(ASIO_HAS_MOVE) + ASIO_DECL address& operator=(address&& other) noexcept; /// Assign from an IPv4 address. ASIO_DECL address& operator=( - const asio::ip::address_v4& ipv4_address) ASIO_NOEXCEPT; + const asio::ip::address_v4& ipv4_address) noexcept; /// Assign from an IPv6 address. ASIO_DECL address& operator=( - const asio::ip::address_v6& ipv6_address) ASIO_NOEXCEPT; + const asio::ip::address_v6& ipv6_address) noexcept; /// Get whether the address is an IP version 4 address. - bool is_v4() const ASIO_NOEXCEPT + bool is_v4() const noexcept { return type_ == ipv4; } /// Get whether the address is an IP version 6 address. - bool is_v6() const ASIO_NOEXCEPT + bool is_v6() const noexcept { return type_ == ipv6; } @@ -133,46 +126,46 @@ public: #endif // !defined(ASIO_NO_DEPRECATED) /// Determine whether the address is a loopback address. - ASIO_DECL bool is_loopback() const ASIO_NOEXCEPT; + ASIO_DECL bool is_loopback() const noexcept; /// Determine whether the address is unspecified. - ASIO_DECL bool is_unspecified() const ASIO_NOEXCEPT; + ASIO_DECL bool is_unspecified() const noexcept; /// Determine whether the address is a multicast address. - ASIO_DECL bool is_multicast() const ASIO_NOEXCEPT; + ASIO_DECL bool is_multicast() const noexcept; /// Compare two addresses for equality. ASIO_DECL friend bool operator==(const address& a1, - const address& a2) ASIO_NOEXCEPT; + const address& a2) noexcept; /// Compare two addresses for inequality. friend bool operator!=(const address& a1, - const address& a2) ASIO_NOEXCEPT + const address& a2) noexcept { return !(a1 == a2); } /// Compare addresses for ordering. ASIO_DECL friend bool operator<(const address& a1, - const address& a2) ASIO_NOEXCEPT; + const address& a2) noexcept; /// Compare addresses for ordering. friend bool operator>(const address& a1, - const address& a2) ASIO_NOEXCEPT + const address& a2) noexcept { return a2 < a1; } /// Compare addresses for ordering. friend bool operator<=(const address& a1, - const address& a2) ASIO_NOEXCEPT + const address& a2) noexcept { return !(a2 < a1); } /// Compare addresses for ordering. friend bool operator>=(const address& a1, - const address& a2) ASIO_NOEXCEPT + const address& a2) noexcept { return !(a1 < a2); } @@ -201,7 +194,7 @@ ASIO_DECL address make_address(const char* str); * @relates address */ ASIO_DECL address make_address(const char* str, - asio::error_code& ec) ASIO_NOEXCEPT; + asio::error_code& ec) noexcept; /// Create an address from an IPv4 address string in dotted decimal form, /// or from an IPv6 address in hexadecimal notation. @@ -216,7 +209,7 @@ ASIO_DECL address make_address(const std::string& str); * @relates address */ ASIO_DECL address make_address(const std::string& str, - asio::error_code& ec) ASIO_NOEXCEPT; + asio::error_code& ec) noexcept; #if defined(ASIO_HAS_STRING_VIEW) \ || defined(GENERATING_DOCUMENTATION) @@ -234,7 +227,7 @@ ASIO_DECL address make_address(string_view str); * @relates address */ ASIO_DECL address make_address(string_view str, - asio::error_code& ec) ASIO_NOEXCEPT; + asio::error_code& ec) noexcept; #endif // defined(ASIO_HAS_STRING_VIEW) // || defined(GENERATING_DOCUMENTATION) @@ -262,14 +255,13 @@ std::basic_ostream<Elem, Traits>& operator<<( } // namespace ip } // namespace asio -#if defined(ASIO_HAS_STD_HASH) namespace std { template <> struct hash<asio::ip::address> { std::size_t operator()(const asio::ip::address& addr) - const ASIO_NOEXCEPT + const noexcept { return addr.is_v4() ? std::hash<asio::ip::address_v4>()(addr.to_v4()) @@ -278,7 +270,6 @@ struct hash<asio::ip::address> }; } // namespace std -#endif // defined(ASIO_HAS_STD_HASH) #include "asio/detail/pop_options.hpp" |