pub struct Args<'a>(_);
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