windows-collections

Crates.iowindows-collections
lib.rswindows-collections
version0.3.1
created_at2025-02-06 18:28:17.661562+00
updated_at2025-09-25 18:10:30.319165+00
descriptionWindows collection types
homepage
repositoryhttps://github.com/microsoft/windows-rs
max_upload_size
id1545965
size102,176
Kenny Kerr (kennykerr)

documentation

README

Windows collection types

The windows-collections crate provides stock collection support for Windows APIs.

Start by adding the following to your Cargo.toml file:

[dependencies.windows-collections]
version = "0.3"

Use the Windows collection types as needed:

use windows_collections::*;

let numbers = IIterable::<i32>::from(vec![1, 2, 3]);

for value in numbers {
    println!("{value}");
}

Naturally, the Windows collection types work with other Windows crates:

use windows_collections::*;
use windows_strings::*;

let greetings =
    IVectorView::<HSTRING>::from(vec![HSTRING::from("hello"), HSTRING::from("world")]);

for value in greetings {
    println!("{value}");
}

let map = std::collections::BTreeMap::from([("one".into(), 1), ("two".into(), 2)]);
let map = IMapView::<HSTRING, i32>::from(map);

assert_eq!(map.Lookup(h!("one")).unwrap(), 1);
assert_eq!(map.Lookup(h!("two")).unwrap(), 2);
Commit count: 1734

cargo fmt