X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FVariantParser.ct;h=63b46dcfb129f6e7fbaef3cc5e0ede3fb7c868be;hb=c45c112ae88196ea8da9c5a9efb0e167196744d2;hp=d53cac7035a60d74dee0361b7a61851c9137e501;hpb=f73fa16ed5abdce272ac77f8b8b9ef2b9922c266;p=senf.git diff --git a/Packets/VariantParser.ct b/Packets/VariantParser.ct index d53cac7..63b46dc 100644 --- a/Packets/VariantParser.ct +++ b/Packets/VariantParser.ct @@ -1,8 +1,8 @@ // $Id$ // -// Copyright (C) 2007 -// Fraunhofer Institute for Open Communication Systems (FOKUS) -// Competence Center NETwork research (NET), St. Augustin, GERMANY +// 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