Socket/Protocols/Raw: added static EUI64::None member
tho [Tue, 10 Nov 2009 11:08:43 +0000 (11:08 +0000)]
git-svn-id: https://svn.berlios.de/svnroot/repos/senf/trunk@1517 270642c3-0616-0410-b53a-bc976706d245

senf/Socket/Protocols/Raw/EUI64.cc
senf/Socket/Protocols/Raw/EUI64.hh
senf/Socket/Protocols/Raw/EUI64.test.cc

index b69191b..3c80413 100644 (file)
@@ -35,6 +35,8 @@
 #define prefix_
 ///////////////////////////////cc.p////////////////////////////////////////
 
+senf::EUI64 const senf::EUI64::None;
+
 prefix_ senf::EUI64 senf::EUI64::from_string(std::string const & s)
 {
     EUI64 eui (senf::noinit);
index 0149506..35c47fc 100644 (file)
@@ -82,6 +82,8 @@ namespace senf {
         ///\name Structors and default members
         ///@{
 
+        static EUI64 const None;        ///< The empty (0) address
+
         // default copy constructor
         // default copy assignment
         // default destructor
index 028b318..962804e 100644 (file)
@@ -62,6 +62,9 @@ BOOST_AUTO_UNIT_TEST(eui64)
     BOOST_CHECK_THROW( senf::EUI64::from_string("12:20:30:40:50:60:70:80:90"), 
                        senf::AddressSyntaxException );
     
+    BOOST_CHECK_EQUAL( senf::EUI64::None, senf::EUI64(0) );
+    BOOST_CHECK(! senf::EUI64::None );
+    
     {
         std::stringstream ss;
         ss << std::uppercase << eui;
@@ -79,7 +82,6 @@ BOOST_AUTO_UNIT_TEST(eui64)
         ss << "01:02:03:04-05:06:07:108";
         BOOST_CHECK( (ss >> eui).fail() );
     }
-    
 }
 
 ///////////////////////////////cc.e////////////////////////////////////////