#ifndef MSP_NET_INET_H_
#define MSP_NET_INET_H_
+#include "mspnet_api.h"
#include "sockaddr.h"
namespace Msp {
/**
Address class for IPv4 sockets.
*/
-class InetAddr: public SockAddr
+class MSPNET_API InetAddr: public SockAddr
{
private:
- unsigned char addr[4];
- unsigned port;
+ unsigned char addr[4] = { };
+ unsigned port = 0;
public:
- InetAddr();
+ InetAddr() = default;
InetAddr(const SysAddr &);
- virtual InetAddr *copy() const { return new InetAddr(*this); }
+ static InetAddr wildcard(unsigned);
+ static InetAddr localhost(unsigned);
- virtual SysAddr to_sys() const;
+ InetAddr *copy() const override { return new InetAddr(*this); }
- virtual Family get_family() const { return INET; }
+ SysAddr to_sys() const override;
+
+ Family get_family() const override { return INET; }
unsigned get_port() const { return port; }
- virtual std::string str() const;
+ std::string str() const override;
};
} // namespace Net