BloombergLP::bdlbb::BlobUtil::copy

Copy a byte range from one blob into another at a destination offset.

Synopsis

Declared in <bdlbb_blobutil.h>

static
void
copy(
    Blob* dst,
    int dstOffset,
    Blob const& src,
    int srcOffset,
    int length);

Description

Copy into the specified dst starting at the specified dstOffset the specified length bytes starting at the specified srcOffset in the specified src. The behavior is undefined unless 0 <= dstOffset, 0 <= srcOffset, 0 <= length, dst || 0 == length, !dst || dstOffset <= dst->length() - length, and srcOffset <= src->length() - length. Note that this operation does not require dst to have a blob buffer factory in that it does not create or destroy blobs -- it simply copies data from src into dst, so dst must already have room for length bytes of data added at dstOffset.

Parameters

NameDescription
dstdestination blob
dstOffsetstarting byte offset in dst
srcsource blob
srcOffsetstarting byte offset in src
lengthnumber of bytes to copy