Exchange non-overlapping bit ranges between two bit strings.
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);
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.
| 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 |