X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FParseInt.ih;h=2eca9887032f44d50326a9a29b818c1de7775320;hb=9a988902090d28007578e93bffd809f6bd913155;hp=fd58b04bcf6ef4902ae8271e77f4fdbc6bff4c65;hpb=1835b928b179302ecb716d697fbf3fa24b415ba4;p=senf.git diff --git a/Packets/ParseInt.ih b/Packets/ParseInt.ih index fd58b04..2eca988 100644 --- a/Packets/ParseInt.ih +++ b/Packets/ParseInt.ih @@ -1,6 +1,6 @@ // $Id$ // -// Copyright (C) 2006 +// Copyright (C) 2006 // Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) // Kompetenzzentrum fuer Satelitenkommunikation (SatCom) // Stefan Bund @@ -27,10 +27,10 @@ ///////////////////////////////ih.p//////////////////////////////////////// -namespace satcom { -namespace pkf { +namespace senf { + namespace impl { - + /////////////////////////////////////////////////////////////////////////// // Integer operators @@ -43,7 +43,7 @@ namespace impl { operator Value () const { return derived().value(); } # define unary(op) \ - Value operator op () const { return op derived().value(); } + Value operator op () const { return op derived().value(); } # define mutator(op) \ template Derived const & operator op ## = (Other other) \ { derived().value( derived().value() op other ); return derived(); } @@ -65,7 +65,7 @@ namespace impl { # undef unary # undef mutator - + Derived const & operator ++ () { derived().value( derived.value()+1 ); return derived(); } Derived const & operator -- () @@ -80,10 +80,10 @@ namespace impl { Derived & derived() { return *static_cast(this); } Derived const & derived() const { return *static_cast(this); }; }; - + /////////////////////////////////////////////////////////////////////////// // Network byte order integer extraction - + template boost::uint16_t parse_uint16(Iterator const & i) { @@ -134,13 +134,13 @@ namespace impl { { static boost::uint32_t parse(Iterator const & i) { return ( ( ( parse_uint32(i+offset+1)>>(40-end) ) // Beware of sign extension !! - & boost::low_bits_mask_t<32-(40-end)>::sig_bits ) + & boost::low_bits_mask_t<32-(40-end)>::sig_bits ) | (i[offset]<<(32-(40-end))) ) & boost::low_bits_mask_t::sig_bits; } static void write(Iterator const & i, boost::uint32_t v) { - write_uint32(i+offset+1, + write_uint32(i+offset+1, (parse_uint32(i+offset+1) & ~(boost::low_bits_mask_t::sig_bits<<(40-end))) | ((v & boost::low_bits_mask_t::sig_bits) << (40-end))); i[offset] = (i[offset] & ~(boost::low_bits_mask_t<8-start>::sig_bits)) @@ -157,7 +157,7 @@ namespace impl { } static void write(Iterator const & i, boost::uint32_t v) { - write_uint32(i+offset, + write_uint32(i+offset, (parse_uint32(i+offset) & ~(boost::low_bits_mask_t::sig_bits<<(32-end))) | ((v & boost::low_bits_mask_t::sig_bits) << (32-end))); } @@ -172,7 +172,7 @@ namespace impl { } static void write(Iterator const & i, boost::uint32_t v) { - write_uint24(i+offset, + write_uint24(i+offset, (parse_uint24(i+offset) & ~(boost::low_bits_mask_t::sig_bits<<(24-end))) | ((v & boost::low_bits_mask_t::sig_bits) << (24-end))); } @@ -187,7 +187,7 @@ namespace impl { } static void write(Iterator const & i, boost::uint32_t v) { - write_uint16(i+offset, + write_uint16(i+offset, (parse_uint16(i+offset) & ~(boost::low_bits_mask_t::sig_bits<<(16-end))) | ((v & boost::low_bits_mask_t::sig_bits) << (16-end))); } @@ -197,7 +197,7 @@ namespace impl { struct parse_bitfield_i { static boost::uint32_t parse(Iterator const & i) { - return ( i[offset]>>(8-end) ) + return ( i[offset]>>(8-end) ) & boost::low_bits_mask_t::sig_bits; } @@ -208,11 +208,11 @@ namespace impl { }; template - struct parse_bitfield + struct parse_bitfield : public parse_bitfield_i {}; -}}} +}} ///////////////////////////////ih.e//////////////////////////////////////// #endif @@ -220,5 +220,8 @@ namespace impl { // Local Variables: // mode: c++ -// c-file-style: "satcom" +// fill-column: 100 +// c-file-style: "senf" +// indent-tabs-mode: nil +// ispell-local-dictionary: "american" // End: