[#BloombergLP-bdlbb-BlobUtil-getContiguousRangeOrCopy] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlbb.adoc[bdlbb]::xref:BloombergLP/bdlbb/BlobUtil.adoc[BlobUtil]::getContiguousRangeOrCopy :relfileprefix: ../../../ :mrdocs: Return the address of the byte at the specified `position` in the specified `srcBlob`, if that address is aligned to the optionally specified `alignment` and the specified `length` bytes are stored contiguously; otherwise, _copy_ `length` bytes to the specified buffer `dstBuffer`, and return `dstBuffer`. If alignment is not specified, none is enforced. (An address is aligned to A if, when converted to an integral value `a`, `a & (A ‐ 1)` is 0.) The behavior of this function is undefined unless `0 < length`, `0 <= position`, `alignment` is a power of two, `dstBuffer` is aligned as required, `dstBuffer` has room for `length` bytes, and `position <= srcBlob.totalSize() ‐ length`. == Synopsis Declared in `<bdlbb_blobutil.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- static char* getContiguousRangeOrCopy( char* dstBuffer, xref:BloombergLP/bdlbb/Blob.adoc[Blob] const& srcBlob, int position, int length, int alignment = 1); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#