X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FProtocols%2FRaw%2FMACAddress.cc;h=e8fb19bf2cd3f2476bc93704f55e2d3ca2b3f289;hb=a1fdb7bb122f0b05be809a922d4b7ef5e125fa67;hp=c12b0ed4aaa3c324837b74c392c6d4daf01d016f;hpb=0cb9d9525b4e6362bd32429bf053df4cd4ee8011;p=senf.git diff --git a/Socket/Protocols/Raw/MACAddress.cc b/Socket/Protocols/Raw/MACAddress.cc index c12b0ed..e8fb19b 100644 --- a/Socket/Protocols/Raw/MACAddress.cc +++ b/Socket/Protocols/Raw/MACAddress.cc @@ -57,7 +57,7 @@ namespace { else throw senf::AddressSyntaxException(); } - + template boost::uint8_t hexToByte(Range const & range) { @@ -107,11 +107,6 @@ prefix_ senf::MACAddress senf::MACAddress::from_eui64(boost::uint64_t v) senf::MACAddress const senf::MACAddress::Broadcast = senf::MACAddress(0xFFFFFFFFFFFFull); senf::MACAddress const senf::MACAddress::None; -prefix_ std::string senf::MACAddress::toString() const { - std::ostringstream tmp; - tmp << (*this); - return tmp.str(); -} /////////////////////////////////////////////////////////////////////////// // namespace members @@ -128,11 +123,25 @@ prefix_ std::ostream & senf::operator<<(std::ostream & os, MACAddress const & ma return os; } +prefix_ std::istream & senf::operator>>(std::istream & is, MACAddress & mac) +{ + std::string s; + if (!(is >> s)) + return is; + try { + mac = MACAddress::from_string(s); + } + catch (AddressException &) { + is.setstate(std::ios::failbit); + } + return is; +} + ///////////////////////////////cc.e//////////////////////////////////////// #undef prefix_ //#include "MACAddress.mpp" - + // Local Variables: // mode: c++ // fill-column: 100