size_t new_payload_size_in_bytes = old_payload_size_in_bytes + extra_payload_size_in_bytes;
uint8_t *new_payload_data = new uint8_t[ new_payload_size_in_bytes ];
- copy( old_payload_data, old_payload_data + old_payload_size_in_bytes, new_payload_data );
- copy( extra_payload_data, extra_payload_data + extra_payload_size_in_bytes, new_payload_data + old_payload_size_in_bytes );
+ copy( &old_payload_data[0], &old_payload_data[old_payload_size_in_bytes], &new_payload_data[0] );
+ copy( &extra_payload_data[0], &extra_payload_data[extra_payload_size_in_bytes], &new_payload_data[old_payload_size_in_bytes] );
Payload.reset( new_payload_data );
PayloadSizeInBytes = new_payload_size_in_bytes;
#ifndef BOOST_DISABLE_ASSERTS
BOOST_ASSERT( PayloadSizeInBytes == ( old_payload_size_in_bytes + extra_payload_size_in_bytes ) );
+
uint8_t *original_data_begin = Payload.get();
uint8_t *original_data_end = Payload.get() + old_payload_size_in_bytes;
BOOST_ASSERT( equal( original_data_begin, original_data_end, old_payload_data ) );
+
uint8_t *extra_data_begin = Payload.get() + old_payload_size_in_bytes;
uint8_t *extra_data_end = Payload.get() + old_payload_size_in_bytes + extra_payload_size_in_bytes;
BOOST_ASSERT( equal( extra_data_begin, extra_data_end, extra_payload_data ) );