dtolnay / argv

Non-allocating iterator over command line arguments

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Command line arguments by reference

github crates.io docs.rs build status

The standard library's std::env::args_os iterator produces an owned string (OsString) for each argument. In some use cases it can be more convenient for the arguments to be produced by static reference (&'static OsStr).

[dependencies]
argv = "0.1"

Example

fn main() {
    for arg in argv::iter() {
        // arg is a &'static OsStr.
        println!("{}", arg.to_string_lossy());
    }
}

Portability

This crate is intended to be used on Linux and macOS, on which command line arguments naturally live for the duration of the program. This crate implements the same API on other platforms as well, such as Windows, but leaks memory on platforms other than Linux and macOS.


License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

Non-allocating iterator over command line arguments

License:Apache License 2.0


Languages

Language:Rust 100.0%