X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FVariantParser.ct;h=63b46dcfb129f6e7fbaef3cc5e0ede3fb7c868be;hb=b8ca4a544cce3e6023bb56b712a03d6362f2bb79;hp=43ca23ba8c9e5d722075e1b414fe00b97c8f76e6;hpb=a1001797645cc68c869ef296f5e9ba13aa8e80c4;p=senf.git diff --git a/Packets/VariantParser.ct b/Packets/VariantParser.ct index 43ca23b..63b46dc 100644 --- a/Packets/VariantParser.ct +++ b/Packets/VariantParser.ct @@ -1,8 +1,8 @@ // $Id$ // -// Copyright (C) 2007 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer NETwork research (NET) +// Copyright (C) 2007 +// Fraunhofer Institute for Open Communication Systems (FOKUS) +// Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund // // This program is free software; you can redistribute it and/or modify @@ -31,11 +31,11 @@ #define prefix_ ///////////////////////////////ct.p//////////////////////////////////////// -template +template template -prefix_ void senf::VariantParser::init() +prefix_ void senf::VariantParser::init() { - unsigned oldSize( bytes() ); + size_type oldSize( bytes() ); typedef typename boost::mpl::at >::type NewParser; if (oldSize < senf::init_bytes::value) { @@ -43,23 +43,24 @@ prefix_ void senf::VariantParser:: std::advance(j, oldSize); std::fill(i(), j, 0u); safe_data_iterator safe_i (*this); + typename AuxPolicy::WrapperPolicy safeAux (static_cast(*this)); data().insert(j, senf::init_bytes::value - oldSize, 0u); - VariantPolicy::variant(N, safe_i, state()); - NewParser( VariantPolicy::begin(safe_i, state()), state() ).init(); + safeAux.aux(N, safe_i, state()); + NewParser( safeAux.adjust(safe_i, state()), state() ).init(); } else { data_iterator j (i()); std::advance(j, senf::init_bytes::value); data().erase(j, boost::next(i(), oldSize)); std::fill(i(), j, 0u); - VariantPolicy::variant(N, i(), state()); - NewParser(VariantPolicy::begin(i(), state()), state()).init(); + AuxPolicy::aux(N, i(), state()); + NewParser(AuxPolicy::adjust(i(), state()), state()).init(); } } ///////////////////////////////ct.e//////////////////////////////////////// #undef prefix_ - + // Local Variables: // mode: c++ // fill-column: 100