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