Packets/DefaultBundle: Use push_back_space() return value
g0dil [Thu, 24 Sep 2009 08:59:53 +0000 (08:59 +0000)]
git-svn-id: https://svn.berlios.de/svnroot/repos/senf/trunk@1438 270642c3-0616-0410-b53a-bc976706d245

senf/Packets/DefaultBundle/IPv6Extensions.test.cc
senf/Utils/auto_unit_test.cti [new file with mode: 0644]
senf/Utils/auto_unit_test.hh

index 15075bb..fde52a3 100644 (file)
@@ -266,20 +266,22 @@ BOOST_AUTO_UNIT_TEST(ipv6Extensions_hopByHop_create)
     pext->headerLength() = 0u;
     {
         senf::IPv6HopByHopOptionsPacket::Parser::options_t::container optC(pext->options() );
-        
-        optC.push_back_space();
-        senf::IPv6GenericOptionTLVParser opt = optC.back().init<senf::IPv6GenericOptionTLVParser>();
-        opt.altAction() = 0u;
-        opt.changeFlag() = 0u;
-        opt.optionType() = 5u;
-        unsigned char val[] = {0x00, 0x00};
-        opt.setPayload(val);
-        
-        optC.push_back_space();
-        opt = optC.back().init<senf::IPv6GenericOptionTLVParser>();
-        opt.altAction() = 0u;
-        opt.changeFlag() = 0u;
-        opt.optionType() = 2u;
+        {
+            senf::IPv6GenericOptionTLVParser opt (
+                optC.push_back_space().init<senf::IPv6GenericOptionTLVParser>());
+            opt.altAction() = 0u;
+            opt.changeFlag() = 0u;
+            opt.optionType() = 5u;
+            unsigned char val[] = {0x00, 0x00};
+            opt.setPayload(val);
+        }
+        {
+            senf::IPv6GenericOptionTLVParser opt (
+                optC.push_back_space().init<senf::IPv6GenericOptionTLVParser>());
+            opt.altAction() = 0u;
+            opt.changeFlag() = 0u;
+            opt.optionType() = 2u;
+        }
     }
     senf::ICMPv6Packet icmp (senf::ICMPv6Packet::createAfter (pext));
     icmp->type() = 0x8f;
diff --git a/senf/Utils/auto_unit_test.cti b/senf/Utils/auto_unit_test.cti
new file mode 100644 (file)
index 0000000..97d41b3
--- /dev/null
@@ -0,0 +1,52 @@
+// $Id$
+//
+// Copyright (C) 2009 
+// Fraunhofer Institute for Open Communication Systems (FOKUS)
+// Competence Center NETwork research (NET), St. Augustin, GERMANY
+//     Stefan Bund <g0dil@berlios.de>
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the
+// Free Software Foundation, Inc.,
+// 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+
+/** \file
+    \brief auto_unit_test inline template implementation */
+
+#include "auto_unit_test.ih"
+
+// Custom includes
+
+#define prefix_ inline
+///////////////////////////////cti.p///////////////////////////////////////
+
+template <class Iterator>
+prefix_ typename senf::test::detail::NoCharIterator<Iterator>::type
+senf::test::nocharIterator(Iterator i)
+{
+    return typename detail::NoCharIterator<Iterator>::type (i);
+}
+
+///////////////////////////////cti.e///////////////////////////////////////
+#undef prefix_
+
+\f
+// Local Variables:
+// mode: c++
+// fill-column: 100
+// comment-column: 40
+// c-file-style: "senf"
+// indent-tabs-mode: nil
+// ispell-local-dictionary: "american"
+// compile-command: "scons -u test"
+// End:
index b81bed4..1163e69 100644 (file)
@@ -99,8 +99,7 @@ namespace senf {
 namespace test {
 
     template <class Iterator>
-    typename detail::NoCharIterator<Iterator>::type nocharIterator(Iterator i)
-    { return typename detail::NoCharIterator<Iterator>::type (i); }
+    typename detail::NoCharIterator<Iterator>::type nocharIterator(Iterator i);
 
 }}
 
@@ -120,7 +119,7 @@ namespace test {
 ///////////////////////////////hh.e////////////////////////////////////////
 //#include "auto_unit_test.cci"
 //#include "auto_unit_test.ct"
-//#include "auto_unit_test.cti"
+#include "auto_unit_test.cti"
 #endif
 
 \f