Add missing Build-Depends to debian/control
[senf.git] / Socket / Protocols / Raw / MACAddress.cc
index 22b0ca9..e8fb19b 100644 (file)
@@ -57,7 +57,7 @@ namespace {
         else
             throw senf::AddressSyntaxException();
     }
-    
+
     template <class Range>
     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"
 
-\f
+
 // Local Variables:
 // mode: c++
 // fill-column: 100