pub struct Args<'a>(/* private fields */);Expand description
Stores an IndexMap of Args. See examples.
Implementations§
Source§impl<'a> Args<'a>
impl<'a> Args<'a>
Sourcepub fn new() -> Self
pub fn new() -> Self
A convenience function for making a new empty Args().
In truth, it just calls default()
Sourcepub fn with_capacity(capacity: usize) -> Self
pub fn with_capacity(capacity: usize) -> Self
Initializes internal hashmap with a given capacity, to reduce required memory allocations.
Potentially useful if you’re planning to call .push() a lot.
Sourcepub fn poke<T>(&mut self, name: &'a str) -> Result<&T, DynArgError<'_>>where
T: 'static,
pub fn poke<T>(&mut self, name: &'a str) -> Result<&T, DynArgError<'_>>where
T: 'static,
Like get(), but marks the value as used.
Because it changes self, it requires mutable access to self.
This, of course, may make it unusable for some use cases.
Sourcepub fn get<T>(&self, name: &'a str) -> Result<&T, DynArgError<'_>>where
T: 'static,
pub fn get<T>(&self, name: &'a str) -> Result<&T, DynArgError<'_>>where
T: 'static,
Retrieve a value by name. It’s recommended to explicitly specify type via generics, e.g.:
use dynarg::Args;
let mut args = Args::default();
args.insert_i32("meaning_of_life", 42);
let arg = args.get::<i32>("meaning_of_life");Sourcepub fn insert(&mut self, name: &'a str, value: Box<dyn Any>)
pub fn insert(&mut self, name: &'a str, value: Box<dyn Any>)
Inserts a value with a dynamic type. Value must be wrapped in a Box<> pointer.
BTW, when will the box keyword syntax be stable? That would make a lot of code more elegant.
Sourcepub fn all_used(&self) -> bool
pub fn all_used(&self) -> bool
Returns true if every argument is marked as “used”. Returns false otherwise.
Sourcepub fn iter_not_used_name(&self) -> impl Iterator<Item = &str>
pub fn iter_not_used_name(&self) -> impl Iterator<Item = &str>
Returns a iterator of arguments marked as not used.
Sourcepub fn iter_used_name(&self) -> impl Iterator<Item = &str>
pub fn iter_used_name(&self) -> impl Iterator<Item = &str>
Returns an iterator of arguments marked as used.
Sourcepub fn reset_used_status(&mut self)
pub fn reset_used_status(&mut self)
Resets the used status of every argument in the IndexMap.
pub fn iter(&self) -> impl Iterator<Item = (&str, &Arg)>
Sourcepub fn insert_string(&mut self, name: &'a str, value: String)
pub fn insert_string(&mut self, name: &'a str, value: String)
Dynamically generated inserter
Sourcepub fn get_string(&mut self, name: &'a str) -> Result<&String, DynArgError<'_>>
pub fn get_string(&mut self, name: &'a str) -> Result<&String, DynArgError<'_>>
Dynamically generated getter
Sourcepub fn poke_string(&mut self, name: &'a str) -> Result<&String, DynArgError<'_>>
pub fn poke_string(&mut self, name: &'a str) -> Result<&String, DynArgError<'_>>
Dynamically generated poker
Sourcepub fn insert_f32(&mut self, name: &'a str, value: f32)
pub fn insert_f32(&mut self, name: &'a str, value: f32)
Dynamically generated inserter
Sourcepub fn get_f32(&mut self, name: &'a str) -> Result<&f32, DynArgError<'_>>
pub fn get_f32(&mut self, name: &'a str) -> Result<&f32, DynArgError<'_>>
Dynamically generated getter
Sourcepub fn poke_f32(&mut self, name: &'a str) -> Result<&f32, DynArgError<'_>>
pub fn poke_f32(&mut self, name: &'a str) -> Result<&f32, DynArgError<'_>>
Dynamically generated poker
Sourcepub fn insert_f64(&mut self, name: &'a str, value: f64)
pub fn insert_f64(&mut self, name: &'a str, value: f64)
Dynamically generated inserter
Sourcepub fn get_f64(&mut self, name: &'a str) -> Result<&f64, DynArgError<'_>>
pub fn get_f64(&mut self, name: &'a str) -> Result<&f64, DynArgError<'_>>
Dynamically generated getter
Sourcepub fn poke_f64(&mut self, name: &'a str) -> Result<&f64, DynArgError<'_>>
pub fn poke_f64(&mut self, name: &'a str) -> Result<&f64, DynArgError<'_>>
Dynamically generated poker
Sourcepub fn insert_i32(&mut self, name: &'a str, value: i32)
pub fn insert_i32(&mut self, name: &'a str, value: i32)
Dynamically generated inserter
Sourcepub fn get_i32(&mut self, name: &'a str) -> Result<&i32, DynArgError<'_>>
pub fn get_i32(&mut self, name: &'a str) -> Result<&i32, DynArgError<'_>>
Dynamically generated getter
Sourcepub fn poke_i32(&mut self, name: &'a str) -> Result<&i32, DynArgError<'_>>
pub fn poke_i32(&mut self, name: &'a str) -> Result<&i32, DynArgError<'_>>
Dynamically generated poker
Sourcepub fn insert_i64(&mut self, name: &'a str, value: i64)
pub fn insert_i64(&mut self, name: &'a str, value: i64)
Dynamically generated inserter
Sourcepub fn get_i64(&mut self, name: &'a str) -> Result<&i64, DynArgError<'_>>
pub fn get_i64(&mut self, name: &'a str) -> Result<&i64, DynArgError<'_>>
Dynamically generated getter
Sourcepub fn poke_i64(&mut self, name: &'a str) -> Result<&i64, DynArgError<'_>>
pub fn poke_i64(&mut self, name: &'a str) -> Result<&i64, DynArgError<'_>>
Dynamically generated poker
Sourcepub fn insert_bool(&mut self, name: &'a str, value: bool)
pub fn insert_bool(&mut self, name: &'a str, value: bool)
Dynamically generated inserter