[#BloombergLP-bdlb-BitStringImpUtil] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlb.adoc[bdlb]::BitStringImpUtil :relfileprefix: ../../ :mrdocs: This `struct` provides a namespace for static functions to be used solely in the implementation of `BitStringUtil`. The "Manipulators" are intended to be provided as arguments to templates in `bdlb_bitstringutil`, whereas the "Accessors" are to be called directly within that component. == Synopsis Declared in `<bdlb_bitstringimputil.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct BitStringImpUtil; ---- == Enums [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlb/BitStringImpUtil/_04enum.adoc[`Unnamed enum`] | Number of bits in a `uint64_t`. |=== == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlb/BitStringImpUtil/andEqBits.adoc[`andEqBits`] | Bitwise AND the specified least‐significant `numBits` in the specified `srcValue` to those in the specified `dstValue` starting at the specified `dstIndex`. The behavior is undefined unless `0 <= dstIndex`, `0 <= numBits`, and `dstIndex + numBits <= k_BITS_PER_UINT64`. | xref:BloombergLP/bdlb/BitStringImpUtil/andEqWord.adoc[`andEqWord`] | Assign to the specified `*dstValue` the value of `*dstValue` bitwise AND‐ed with the specified `srcValue`. | xref:BloombergLP/bdlb/BitStringImpUtil/find1AtMaxIndexRaw.adoc[`find1AtMaxIndexRaw`] | Return the index of the highest‐order set bit in the specified non‐zero `value`. The behavior is undefined unless `0 != value`. Note that this method is "raw" due to the requirement that at least one bit in `value` must be set. | xref:BloombergLP/bdlb/BitStringImpUtil/find1AtMinIndexRaw.adoc[`find1AtMinIndexRaw`] | Return the index of the lowest‐order set bit in the specified non‐zero `value`. The behavior is undefined unless `0 != value`. Note that this method is "raw" due to the requirement that at least one bit in `value` must be set. | xref:BloombergLP/bdlb/BitStringImpUtil/minusEqBits.adoc[`minusEqBits`] | Bitwise MINUS the specified least‐significant `numBits` in the specified `srcValue` from those in the specified `dstValue` starting at the specified `dstIndex`. The behavior is undefined unless `0 <= dstIndex`, `0 <= numBits`, and `dstIndex + numBits <= k_BITS_PER_UINT64`. Note that the bitwise difference, `a ‐ b`, is defined in C++ code as `a & ~b`. | xref:BloombergLP/bdlb/BitStringImpUtil/minusEqWord.adoc[`minusEqWord`] | Assign to the specified `*dstValue` the value of `*dstValue` bitwise AND‐ed with the complement of the specified `srcValue`. | xref:BloombergLP/bdlb/BitStringImpUtil/orEqBits.adoc[`orEqBits`] | Bitwise OR the specified least‐significant `numBits` in the specified `srcValue` to those in the specified `dstValue` starting at the specified `dstIndex`. The behavior is undefined unless `0 <= dstIndex`, `0 <= numBits`, and `dstIndex + numBits <= k_BITS_PER_UINT64`. | xref:BloombergLP/bdlb/BitStringImpUtil/orEqWord.adoc[`orEqWord`] | Assign to the specified `*dstValue` the value of `*dstValue` bitwise OR‐ed with the specified `srcValue`. | xref:BloombergLP/bdlb/BitStringImpUtil/setEqBits.adoc[`setEqBits`] | Replace the specified `numBits` in the specified `dstValue` starting at the specified `dstIndex` with the least‐significant `numBits` of the specified `srcValue`. The behavior is undefined unless `0 <= dstIndex`, `0 <= numBits`, and `dstIndex + numBits <= k_BITS_PER_UINT64`. | xref:BloombergLP/bdlb/BitStringImpUtil/setEqWord.adoc[`setEqWord`] | Assign to the specified `*dstValue` the value of the specified `srcValue`. | xref:BloombergLP/bdlb/BitStringImpUtil/xorEqBits.adoc[`xorEqBits`] | Bitwise XOR the specified least‐significant `numBits` in the specified `srcValue` to those in the specified `dstValue` starting at the specified `dstIndex`. The behavior is undefined unless `0 <= dstIndex`, `0 <= numBits`, and `dstIndex + numBits <= k_BITS_PER_UINT64`. | xref:BloombergLP/bdlb/BitStringImpUtil/xorEqWord.adoc[`xorEqWord`] | Assign to the specified `*dstValue` the value of `*dstValue` bitwise XOR‐ed with the specified `srcValue`. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#