8#ifndef INCLUDED_BDLB_BITSTRINGIMPUTIL
9#define INCLUDED_BDLB_BITSTRINGIMPUTIL
220#include <bdlscm_version.h>
229#include <bsl_cstdint.h>
260 static void andEqBits(bsl::uint64_t *dstValue,
262 bsl::uint64_t srcValue,
267 static void andEqWord(bsl::uint64_t *dstValue, bsl::uint64_t srcValue);
279 bsl::uint64_t srcValue,
284 static void minusEqWord(bsl::uint64_t *dstValue, bsl::uint64_t srcValue);
292 static void orEqBits(bsl::uint64_t *dstValue,
294 bsl::uint64_t srcValue,
299 static void orEqWord(bsl::uint64_t *dstValue, bsl::uint64_t srcValue);
307 static void setEqBits(bsl::uint64_t *dstValue,
309 bsl::uint64_t srcValue,
314 static void setEqWord(bsl::uint64_t *dstValue, bsl::uint64_t srcValue);
322 static void xorEqBits(bsl::uint64_t *dstValue,
324 bsl::uint64_t srcValue,
329 static void xorEqWord(bsl::uint64_t *dstValue, bsl::uint64_t srcValue);
363 bsl::uint64_t srcValue,
373 (srcValue << dstIndex);
379 bsl::uint64_t srcValue)
383 *dstValue &= srcValue;
389 bsl::uint64_t srcValue,
399 (~srcValue << dstIndex);
405 bsl::uint64_t srcValue)
409 *dstValue &= ~srcValue;
415 bsl::uint64_t srcValue,
430 bsl::uint64_t srcValue)
434 *dstValue |= srcValue;
440 bsl::uint64_t srcValue,
451 *dstValue &= ~(mask << dstIndex);
452 *dstValue |= (srcValue & mask) << dstIndex;
458 bsl::uint64_t srcValue)
462 *dstValue = srcValue;
468 bsl::uint64_t srcValue,
483 bsl::uint64_t srcValue)
487 *dstValue ^= srcValue;
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1976
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition bdlb_algorithmworkaroundutil.h:74
static bsl::uint64_t zero64(int index, int numBits)
Definition bdlb_bitmaskutil.h:448
static bsl::uint64_t lt64(int index)
Definition bdlb_bitmaskutil.h:382
Definition bdlb_bitstringimputil.h:245
static void setEqBits(bsl::uint64_t *dstValue, int dstIndex, bsl::uint64_t srcValue, int numBits)
Definition bdlb_bitstringimputil.h:438
static void minusEqBits(bsl::uint64_t *dstValue, int dstIndex, bsl::uint64_t srcValue, int numBits)
Definition bdlb_bitstringimputil.h:387
static void orEqWord(bsl::uint64_t *dstValue, bsl::uint64_t srcValue)
Definition bdlb_bitstringimputil.h:429
static int find1AtMaxIndexRaw(bsl::uint64_t value)
Definition bdlb_bitstringimputil.h:493
static void orEqBits(bsl::uint64_t *dstValue, int dstIndex, bsl::uint64_t srcValue, int numBits)
Definition bdlb_bitstringimputil.h:413
static void setEqWord(bsl::uint64_t *dstValue, bsl::uint64_t srcValue)
Definition bdlb_bitstringimputil.h:457
static void andEqWord(bsl::uint64_t *dstValue, bsl::uint64_t srcValue)
Definition bdlb_bitstringimputil.h:378
static void xorEqBits(bsl::uint64_t *dstValue, int dstIndex, bsl::uint64_t srcValue, int numBits)
Definition bdlb_bitstringimputil.h:466
static void minusEqWord(bsl::uint64_t *dstValue, bsl::uint64_t srcValue)
Definition bdlb_bitstringimputil.h:404
static int find1AtMinIndexRaw(bsl::uint64_t value)
Definition bdlb_bitstringimputil.h:501
@ k_BITS_PER_UINT64
Definition bdlb_bitstringimputil.h:248
static void xorEqWord(bsl::uint64_t *dstValue, bsl::uint64_t srcValue)
Definition bdlb_bitstringimputil.h:482
static void andEqBits(bsl::uint64_t *dstValue, int dstIndex, bsl::uint64_t srcValue, int numBits)
Definition bdlb_bitstringimputil.h:361
static int numTrailingUnsetBits(unsigned int value)
Definition bdlb_bitutil.h:456
static int numLeadingUnsetBits(unsigned int value)
Definition bdlb_bitutil.h:407