00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __libutilxx__sella__net__IPv6Address_H__
00010 #define __libutilxx__sella__net__IPv6Address_H__
00011
00012 #include "../../common.h"
00013 #include "IPAddress.h"
00014 #include "AddressException.h"
00015
00016 #include <string>
00017
00018 namespace sella {
00019 namespace net {
00020 class IPv6Address;
00021 }
00022 }
00023
00024 class sella::net::IPv6Address : public IPAddress {
00025 public:
00026 typedef std::shared_ptr<IPv6Address> shared;
00027 typedef IPv6Address *ptr;
00028
00029 public:
00030 IPv6Address(const std::string &addr) throw (AddressException);
00031 IPv6Address() throw (AddressException);
00032
00033 IPv6Address(const IPv6Address &other) throw ();
00034 IPv6Address(const IPv6Address &&other) throw ();
00035 virtual ~IPv6Address() throw ();
00036
00037 static const IPv6Address::shared shared_ptr(const std::string &addr) throw (AddressException);
00038 };
00039
00040 #endif
00041
00042
00043
00044