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

Name

Description

bitString1

first bit string

index1

starting bit index in bitString1

bitString2

second bit string

index2

starting bit index in bitString2

numBits

number of bits to exchange

Created with MrDocs