Fix boot auto unit tests for Boost V1.34 compatibility
[senf.git] / Packets / DefaultBundle / IpV6Extensions.hh
index 37e74c7..bc4ba89 100644 (file)
@@ -41,34 +41,18 @@ namespace senf {
      */
     struct Parse_IpV6Extension_Fragment : public PacketParserBase
     {
-        typedef Parse_UInt8                Parse_8bit;
-        typedef Parse_UIntField <  0, 13 > Parse_Offset;
-        typedef Parse_UIntField < 13, 15 > Parse_Reserved;
-        typedef Parse_Flag      < 15     > Parse_More;
-        typedef Parse_UInt32               Parse_32bit;
-
-#       ifndef DOXYGEN
-
-        SENF_PACKET_PARSER_INIT(Parse_IpV6Extension_Fragment);
-
-        SENF_PACKET_PARSER_DEFINE_FIXED_FIELDS(
-            ((Field       )( nextHeader     , Parse_8bit     ))
-            ((Field       )( reserved1      , Parse_8bit     ))
-            ((OverlayField)( fragmentOffset , Parse_Offset   ))
-            ((OverlayField)( reserved2      , Parse_Reserved ))
-            ((Field       )( moreFragments  , Parse_More     ))
-            ((Field       )( id             , Parse_32bit    )) );
-
-#       else
-
-        Parse_8bit nextHeader();
-        Parse_8bit reserved1();
-        Parse_Offset fragmentOffset();
-        Parse_Reserved reserved2();
-        Parse_More moreFragments();
-        Parse_32bit id();
-
-#       endif
+#       include SENF_FIXED_PARSER()
+
+        SENF_PARSER_FIELD( nextHeader     , Parse_UInt8 );
+        SENF_PARSER_FIELD( reserved1      , Parse_UInt8 );
+
+        SENF_PARSER_BITFIELD( fragmentOffset, 13, unsigned );
+        SENF_PARSER_BITFIELD( reserved2,       2, unsigned );
+        SENF_PARSER_BITFIELD( moreFragments,   1, bool     );
+
+        SENF_PARSER_FIELD( id             , Parse_UInt32   );
+
+        SENF_PARSER_FINALIZE(Parse_IpV6Extension_Fragment);
     };
 
     /** \brief IpV6 fragment extension