libstdc++: Add preprocessor checks to <experimental/internet> [PR100285]

We can't define endpoints and resolvers without the relevant OS support.
If IPPROTO_TCP and IPPROTO_UDP are both udnefined then we won't need
basic_endpoint and basic_resovler anyway, so make them depend on those
macros.

libstdc++-v3/ChangeLog:

	PR libstdc++/100285
	* include/experimental/internet [IPPROTO_TCP || IPPROTO_UDP]
	(basic_endpoint, basic_resolver_entry, resolver_base)
	(basic_resolver_results, basic_resolver): Only define if the tcp
	or udp protocols will be defined.
This commit is contained in:
Jonathan Wakely
2023-06-09 12:15:21 +01:00
parent 9a3558cf1f
commit 793ed718b5

View File

@@ -1502,6 +1502,7 @@ namespace ip
operator<<(basic_ostream<_CharT, _Traits>& __os, const network_v6& __net)
{ return __os << __net.to_string(); }
#if defined IPPROTO_TCP || defined IPPROTO_UDP
/// An IP endpoint.
template<typename _InternetProtocol>
class basic_endpoint
@@ -2187,6 +2188,7 @@ namespace ip
__ec = std::make_error_code(errc::operation_not_supported);
#endif
}
#endif // IPPROTO_TCP || IPPROTO_UDP
/** The name of the local host.
* @{