2 个版本
使用旧的 Rust 2015
0.1.1 | 2018 年 7 月 17 日 |
---|---|
0.1.0 | 2018 年 7 月 17 日 |
1776 在 Rust 模式
194,981 每月下载量
在 588 个crate中使用(通过 graphannis-malloc_size_of)
19KB
334 行
thin-slice
尽可能将切片存储打包到一个单词中的自有切片。
用法
extern crate thin_slice;
use std::mem;
use thin_slice::ThinBoxedSlice;
struct Ticket {
numbers: Box<[u8]>,
winning: bool,
}
struct ThinTicket {
numbers: ThinBoxedSlice<u8>,
winning: bool,
}
fn main() {
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>());
}
输出在 x86_64
Numbers: [4, 8, 15, 16, 23, 42]
size_of::<usize>(): 8
size_of::<Ticket>(): 24
size_of::<ThinTicket>(): 16
许可证
thin-slice 根据 Mozilla 公共许可证,第 2.0 版 进行分发。