1#ifndef UPnPsdk_NET_SOCKADDR_HPP
2#define UPnPsdk_NET_SOCKADDR_HPP
35 ::sockaddr_storage ss;
70 const std::string& a_addr_str,
96 sockaddr_storage& ss = m_sa_union.
ss;
98 sockaddr_un& sun = m_sa_union.sun;
100 sockaddr_in6& sin6 = m_sa_union.sin6;
102 sockaddr_in& sin = m_sa_union.sin;
104 sockaddr& sa = m_sa_union.sa;
192 const std::string& a_addr_str);
203 void operator=(
const in_port_t a_port);
216 void operator=(const ::sockaddr_storage& a_ss);
244 const std::string netaddr() noexcept;
255 const std::
string netaddrp() noexcept;
260 in_port_t port() const;
265 socklen_t sizeof_saddr() const;
271 bool is_loopback() const;
Helpful union of the different socket address structures.
void split_addr_port(const std::string &a_addr_str, std::string &a_addr, std::string &a_serv)
Free function to split inet address and port(service)
UPnPsdk_API::std::ostream & operator<<(::std::ostream &os, SSockaddr &saddr)
output the netaddress
Reengineered Object Oriented UPnP+ program code.
Specifications to be portable between different platforms.
Specifications to be portable with sockets between different platforms.
Trivial ::sockaddr structures enhanced with methods.
sockaddr_storage & ss
Reference to sockaddr_storage struct.
Macros to support visibility of external symbols.