Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

thin-slice

An owned slice that packs the slice storage into a single word when possible.

Usage

externcrate thin_slice;use std::mem;use thin_slice::ThinBoxedSlice;structTicket{numbers:Box<[u8]>,winning:bool,}structThinTicket{numbers:ThinBoxedSlice<u8>,winning:bool,}fnmain(){let nums = vec![4,8,15,16,23,42].into_boxed_slice();let ticket = ThinTicket{numbers: nums.into(),winning:false,};println!("Numbers: {:?}", ticket.numbers);println!("size_of::<usize>(): {}", mem::size_of::<usize>());println!("size_of::<Ticket>(): {}", mem::size_of::<Ticket>());println!("size_of::<ThinTicket>(): {}", mem::size_of::<ThinTicket>());}

Output on x86_64:

Numbers: [4, 8, 15, 16, 23, 42]
size_of::<usize>(): 8
size_of::<Ticket>(): 24
size_of::<ThinTicket>(): 16

License

thin-slice is distributed under the terms of the Mozilla Public License, v. 2.0.

About

A Rust owned slice that packs the slice storage into a single word when possible

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages