BoundedSize

Trait BoundedSize 

Source
pub trait BoundedSize<const MIN: usize, const MAX: usize>: MinSize<MIN> + MaxSize<MAX> { }
Expand description

Describes a type whose size is between MIN and MAX bytes (inclusive).

§Examples

#![feature(generic_const_exprs)]
struct Bounded10Bytes<T: size_trait::BoundedSize<1, 10>>(T);
let _ = Bounded10Bytes(0u8);
let _ = Bounded10Bytes([0u8; 9]);

§Compilation Errors

#![feature(generic_const_exprs)]
struct Bounded10Bytes<T: size_trait::BoundedSize<1, 10>>(T);
let _ = Bounded10Bytes(());
#![feature(generic_const_exprs)]
struct Bounded10Bytes<T: size_trait::BoundedSize<1, 10>>(T);
let _ = Bounded10Bytes([0u8; 11]);
#![feature(generic_const_exprs)]
struct TwoBytes([u8; 2]);
impl size_trait::BoundedSize<15, 100> for TwoBytes {}

Implementors§

Source§

impl<const MIN: usize, const MAX: usize, T: MinSize<MIN> + MaxSize<MAX>> BoundedSize<MIN, MAX> for T