BloombergLP::bdlbb::BlobUtil::copy

copy overloads

Synopses

Declared in <bdlbb_blobutil.h>

Copy into the specified dst starting at the specified dstOffset the specified length bytes from the specified src. The behavior is undefined unless 0 <= dstOffset, 0 <= length, dst || 0 == length, src || 0 == length, !dst || dstOffset <= dst->length() - length, and src refers to a buffer with at least length bytes. 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.

static
void
copy(
    Blob* dst,
    int dstOffset,
    char const* src,
    int length);
» more...

Copy the specified length bytes starting at the specified position in the specified srcBlob to the specified dstBuffer. The behavior of this function is undefined unless 0 <= length, 0 <= position, position <= srcBlob.totalSize() - length, and dstBuffer has room for length bytes. Note that this function does not set dstBuffer[length] to 0.

static
void
copy(
    char* dstBuffer,
    Blob const& srcBlob,
    int position,
    int length);
» more...

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.

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