BloombergLP::bdlb::BitStringUtil::swapRaw

Exchange non-overlapping bit ranges between two bit strings.

Synopsis

Declared in <bdlb_bitstringutil.h>

static
void
swapRaw(
    uint64_t* bitString1,
    std::size_t index1,
    uint64_t* bitString2,
    std::size_t index2,
    std::size_t numBits);

Description

Exchange the specified numBits beginning at the specified index1 in the specified bitString1 with the numBits beginning at the specified index2 in the specified bitString2. The behavior is undefined unless bitString1 has a length of at least index1 + numBits, bitString2 has a length of at least index2 + numBits, and there is no overlap between the swapped ranges of bits.

Parameters

NameDescription
bitString1first bit string
index1starting bit index in bitString1
bitString2second bit string
index2starting bit index in bitString2
numBitsnumber of bits to exchange