Skip to content

insert_many optimization for contiguous-memory backed containers in rust

License

Notifications You must be signed in to change notification settings

rphmeier/insert_many

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

insert_many

Exposes an InsertMany trait for efficiently inserting multiple items into a Vec or Vec-like struct at a time. Contains implementations for Vec and (optionally) SmallVec.

Usage

extern crate insert_many;

use insert_many::InsertMany;

fn main() {
	let mut v = vec![1, 2, 3];

	// `insert_many` accepts any `ExactSizeIterator` with the same item type.
	// it will panic if given a bad `ExactSizeIterator` impl.
	v.insert_many(0, [1, 1].iter().cloned();
	v.insert_many(4, vec![2, 2]);
	v.insert_many(6, [3, 3].iter().cloned());

	assert_eq!(v, vec![1, 1, 1, 2, 2, 2, 3, 3, 3]);
}

About

insert_many optimization for contiguous-memory backed containers in rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages