3 unstable releases
new 0.1.1 | Feb 21, 2025 |
---|---|
0.1.0 | Feb 21, 2025 |
0.0.0 | Feb 6, 2025 |
#343 in Data structures
131 downloads per month
Used in 22 crates
(via windows)
215KB
5K
SLoC
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.1"
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_result::*;
use windows_strings::*;
fn main() -> Result<()> {
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"))?, 1);
assert_eq!(map.Lookup(h!("two"))?, 2);
Ok(())
}
Dependencies
~295–740KB
~18K SLoC