X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FDefaultBundle%2FIPv4Packet.hh;fp=senf%2FPackets%2FDefaultBundle%2FIPv4Packet.hh;h=39eaffb6ac8f96c98a0dd1b76213e98d8e537ebb;hb=fe035ea968fc80d7822631f0da38378dfc929ec2;hp=819e080234e23898f789820e023617485fc83e7c;hpb=fe0d7de8d8f1044759fabdbb534fef41f9944ffc;p=senf.git diff --git a/senf/Packets/DefaultBundle/IPv4Packet.hh b/senf/Packets/DefaultBundle/IPv4Packet.hh index 819e080..39eaffb 100644 --- a/senf/Packets/DefaultBundle/IPv4Packet.hh +++ b/senf/Packets/DefaultBundle/IPv4Packet.hh @@ -39,21 +39,15 @@ namespace senf { \see INet4Address */ - struct INet4AddressParser : public PacketParserBase + struct INet4AddressParser + : public ValueParserBase { - INet4AddressParser(data_iterator i, state_type s) : PacketParserBase(i,s,fixed_bytes) {} - - /////////////////////////////////////////////////////////////////////////// - - typedef INet4Address value_type; - static const size_type fixed_bytes = 4u; + INet4AddressParser(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); } - INet4AddressParser const & operator= (value_type const & other) - { value(other); return *this; } + + using Base::operator=; }; /** \brief Parse an IPv4 packet