X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FDefaultBundle%2FIPv6Packet.hh;h=ac9560bbb16b7ffa7f8825bfd18927bae73232b1;hb=874b9d37b59223d9b0dce3bddafa130045419750;hp=ef8663daf8fc82cabd55597c37c38a7b907c86d2;hpb=9cb871b939efe93e35dd96808d25089399acfc46;p=senf.git diff --git a/senf/Packets/DefaultBundle/IPv6Packet.hh b/senf/Packets/DefaultBundle/IPv6Packet.hh index ef8663d..ac9560b 100644 --- a/senf/Packets/DefaultBundle/IPv6Packet.hh +++ b/senf/Packets/DefaultBundle/IPv6Packet.hh @@ -40,21 +40,15 @@ namespace senf { \see INet6Address */ - struct INet6AddressParser : public PacketParserBase + struct INet6AddressParser + : public ValueParserBase { - INet6AddressParser(data_iterator i, state_type s) : PacketParserBase(i,s,fixed_bytes) {} - - /////////////////////////////////////////////////////////////////////////// - - typedef INet6Address value_type; - static const size_type fixed_bytes = 16u; + INet6AddressParser(data_iterator i, state_type s) : Base(i,s) {} value_type value() const { return value_type::from_data(i()); } void value(value_type const & v) { std::copy(v.begin(), v.end(), i()); } - operator value_type() const { return value(); } - byte & operator[](size_type index) const { return *boost::next(i(),index); } - INet6AddressParser const & operator= (value_type const & other) - { value(other); return *this; } + + using Base::operator=; }; /** \brief Parse an IPv6 packet