diff --git a/src/net/AllocatedSocketAddress.hxx b/src/net/AllocatedSocketAddress.hxx index f1475b96..a2ac7a47 100644 --- a/src/net/AllocatedSocketAddress.hxx +++ b/src/net/AllocatedSocketAddress.hxx @@ -1,8 +1,7 @@ // SPDX-License-Identifier: BSD-2-Clause // author: Max Kellermann -#ifndef ALLOCATED_SOCKET_ADDRESS_HXX -#define ALLOCATED_SOCKET_ADDRESS_HXX +#pragma once #include "SocketAddress.hxx" // IWYU pragma: export #include "Features.hxx" @@ -117,6 +116,10 @@ public: size = 0; } + bool IsInet() const noexcept { + return GetFamily() == AF_INET || GetFamily() == AF_INET6; + } + #ifdef HAVE_UN /** * @see SocketAddress::GetLocalRaw() @@ -191,5 +194,3 @@ public: private: void SetSize(size_type new_size) noexcept; }; - -#endif diff --git a/src/net/SocketAddress.hxx b/src/net/SocketAddress.hxx index 411872d9..36f2bbcb 100644 --- a/src/net/SocketAddress.hxx +++ b/src/net/SocketAddress.hxx @@ -1,8 +1,7 @@ // SPDX-License-Identifier: BSD-2-Clause // author: Max Kellermann -#ifndef SOCKET_ADDRESS_HXX -#define SOCKET_ADDRESS_HXX +#pragma once #include "Features.hxx" @@ -95,6 +94,10 @@ public: return GetFamily() != AF_UNSPEC; } + constexpr bool IsInet() const noexcept { + return GetFamily() == AF_INET || GetFamily() == AF_INET6; + } + #ifdef HAVE_UN /** * Extract the local socket path (which may begin with a null @@ -135,10 +138,8 @@ public: /** * Does the address family support port numbers? */ - [[gnu::pure]] - bool HasPort() const noexcept { - return !IsNull() && - (GetFamily() == AF_INET || GetFamily() == AF_INET6); + constexpr bool HasPort() const noexcept { + return !IsNull() && IsInet(); } /** @@ -173,5 +174,3 @@ public: return !(*this == other); } }; - -#endif diff --git a/src/net/StaticSocketAddress.hxx b/src/net/StaticSocketAddress.hxx index a5f1ca17..cb2118cf 100644 --- a/src/net/StaticSocketAddress.hxx +++ b/src/net/StaticSocketAddress.hxx @@ -91,6 +91,10 @@ public: address.ss_family = AF_UNSPEC; } + constexpr bool IsInet() const noexcept { + return GetFamily() == AF_INET || GetFamily() == AF_INET6; + } + #ifdef HAVE_UN /** * @see SocketAddress::GetLocalRaw()