X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FSocket%2FProtocols%2FINet%2FINet6Address.cc;h=eddc78bb0368d73b1d75bc21ec2a299371e68bc9;hb=a1c37005ec4c281f6a76c07070a943cd1e36b6af;hp=760952b004b40900f5c59cca7ea47c2131e8b21a;hpb=5bd0f0d58ba30d95a02b46fc9122a7e981bcbcad;p=senf.git diff --git a/senf/Socket/Protocols/INet/INet6Address.cc b/senf/Socket/Protocols/INet/INet6Address.cc index 760952b..eddc78b 100644 --- a/senf/Socket/Protocols/INet/INet6Address.cc +++ b/senf/Socket/Protocols/INet/INet6Address.cc @@ -141,11 +141,25 @@ prefix_ senf::INet6Network::INet6Network(std::string const & s) detail::apply_mask(prefix_len_, address_.begin(), address_.end(), _1 &= _2); } +prefix_ std::istream & senf::operator>>(std::istream & is, INet6Network & addr) +{ + std::string s; + if (!(is >> s)) + return is; + try { + addr = INet6Network(s); + } + catch (AddressException &) { + is.setstate(std::ios::failbit); + } + return is; +} + ///////////////////////////////cc.e//////////////////////////////////////// #undef prefix_ //#include "INet6Address.mpp" - + // Local Variables: // mode: c++ // fill-column: 100