Crates.io | bit-bounds |
lib.rs | bit-bounds |
version | 1.0.0 |
source | src |
created_at | 2022-10-15 13:49:52.39696 |
updated_at | 2024-03-19 22:59:50.711789 |
description | Helper traits for const generic bitwise bounds |
homepage | |
repository | https://github.com/Bajix/bit-bounds/ |
max_upload_size | |
id | 688977 |
size | 5,399 |
Helper traits for const generic bitwise bounds
#![allow(incomplete_features)]
#![feature(generic_const_exprs)]
use bit_bounds::{IsPowerOf2, usize::*};
struct Buffer<const N: usize> {
inner: [usize; N],
}
impl<const N: usize> Buffer<N>
where
Int<N>: IsPowerOf2
{
pub const fn new() -> Self {
Buffer { inner: [0; N] }
}
}
fn extract_index<const N: usize>(counter: usize) -> usize
where
Int<N>: IsPowerOf2,
Int<N>: BitsAllClear<{ (u32::MAX as usize) << 32 }>,
{
(counter >> 32) & (N - 1)
}