00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _pinet6addr_h_
00021 #define _pinet6addr_h_
00022
00023 #include <pclasses/pexport.h>
00024 #include <pclasses/ptypes.h>
00025 #include <pclasses/pnetaddr.h>
00026 #include <iostream>
00027 #include <string>
00028
00029 struct in6_addr;
00030
00031 namespace P {
00032
00034
00038 class PNET_EXPORT Inet6Address: public NetworkAddress {
00039 public:
00041 Inet6Address();
00042
00043 Inet6Address(const NetworkAddress& addr);
00044
00046 Inet6Address(const std::string& ip6addr);
00047
00049 Inet6Address(const in6_addr& addr);
00050
00052 const in6_addr& inaddr() const;
00053
00055 std::string str() const;
00056
00057 NetworkAddress* clone() const;
00058
00060 Inet6Address& operator=(const in6_addr& addr);
00061
00063 Inet6Address& operator=(const std::string& ip6addr);
00064
00065 PNET_EXPORT friend std::ostream& operator<<(std::ostream& os, const Inet6Address& addr);
00066 PNET_EXPORT friend std::istream& operator>>(std::istream& is, Inet6Address& addr);
00067
00068 };
00069
00070 }
00071
00072 #endif