00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __libutilxx__sella__net__IPv4Address_H__
00010 #define __libutilxx__sella__net__IPv4Address_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 IPv4Address;
00021 }
00022 }
00023
00024 class sella::net::IPv4Address : public IPAddress {
00025 public:
00026 typedef std::shared_ptr<IPv4Address> shared;
00027 typedef IPv4Address *ptr;
00028
00029 public:
00030 IPv4Address(const std::string &addr) throw (AddressException);
00031 IPv4Address() throw (AddressException);
00032
00033 IPv4Address(const IPv4Address &other) throw ();
00034 IPv4Address(const IPv4Address &&other) throw ();
00035 virtual ~IPv4Address() throw ();
00036
00037 static const IPv4Address::shared shared_ptr(const std::string &addr) throw (AddressException);
00038 };
00039
00040 #endif
00041
00042
00043
00044