-// $Id: TLVPacket.ct 1029 2008-12-19 13:08:19Z tho $
+// $Id$
//
// Copyright (C) 2007
// Fraunhofer Institute for Open Communication Systems (FOKUS)
template <class ForwardReadableRange>
prefix_ void senf::GenericTLVPacketParser::value(ForwardReadableRange const &range)
{
- size_type range_size ( boost::size(range));
- size_type current_length ( length());
- length( range_size);
-
- safe_data_iterator si (data(), boost::next(i(), 1 + length_bytes() ));
- if (current_length > range_size)
- data().erase( si, boost::next(si, current_length-range_size));
- else
- data().insert( si, range_size-current_length, 0);
-
+ safe_data_iterator si = resizeValue( boost::size(range) );
std::copy( boost::begin(range), boost::end(range), si);
}