pipecircuit 0.0.24

Correct. Robust. Fast. Portable. Pick four.
Documentation
use core::num::NonZeroU32;

use pipecircuit::storage::warp_table::{Capacity, WarpTableRow, WarpTable};

#[derive(WarpTableRow)]
struct Pet {
    #[index(secondary)]
    age: u8,
}

fn main() {
    let Some(maximum_rows) = NonZeroU32::new(1) else {
        return;
    };
    let Ok(mut pets) = WarpTable::<Pet>::try_new(Capacity::new(maximum_rows)) else {
        return;
    };
    let selected = pets.query_mut().find_age(5);
    let _rows = pets.len();
    let _selected_rows = selected.len();
}