Struct rpack::Packing

source ·
pub struct Packing {
    pub bin_size: u32,
}

Fields§

§bin_size: u32

Implementations§

Constructs a new Packing instance

Requires a bin_size<u32> which will be the max size that any bin can fit.

Examples
use rpack::Packing;

let packing = Packing::new(5);

packing will have a bin size of 5.

Main entrypoint for packing bins.

Requires a Vec<Item> representing the sizes of all the bins that will be packed in the bins.

Examples
use rpack::{Bin, Packing, Item};
let items = vec![
    Item{size: 2}, 
    Item{size: 4}, 
    Item{size: 4}, 
    Item{size: 6}, 
    Item{size: 1}
];
let expected = vec![
    Bin{contents:vec![Item{size: 6}]}, 
    Bin{contents:vec![Item{size: 4}, Item{size: 2}]}, 
    Bin{contents:vec![Item{size: 4}, Item{size: 1}]},
];
let mut packing = Packing{bin_size: 6};
let packed_bins = packing.pack_items(items);
    
assert_eq!(packed_bins, expected);

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.