Function aerospike::expressions::bitwise::set

source ·
pub fn set(
    policy: &BitPolicy,
    bit_offset: FilterExpression,
    bit_size: FilterExpression,
    value: FilterExpression,
    bin: FilterExpression
) -> FilterExpression
Expand description

Create expression that sets value on byte[] bin at bitOffset for bitSize and returns byte[].

// Set bytes in bin "a" and compare bit count
// bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
// bitOffset = 13
// bitSize = 3
// value = [0b11100000]
// bin result = [0b00000001, 0b01000111, 0b00000011, 0b00000100, 0b00000101]
use aerospike::operations::bitwise::BitPolicy;
use aerospike::expressions::{eq, int_val, blob_val, blob_bin};
use aerospike::expressions::bitwise::{count, set};
let bytes: Vec<u8> = vec![];
eq(
  count(int_val(0), int_val(3),
    set(&BitPolicy::default(), int_val(13), int_val(3), blob_val(bytes), blob_bin("a".to_string()))),
  int_val(2));