pub struct Arg { /* private fields */ }Expand description
For storing a single argument.
Stores a Box<> to argument variable, as well as a used flag.
Implementations§
Source§impl Arg
impl Arg
Sourcepub fn new(arg: Box<dyn Any>) -> Self
pub fn new(arg: Box<dyn Any>) -> Self
Create new Arg struct, moving ownership of Box pointer to an internal dynamically typed Any-trait variable.
Sourcepub fn from_argdata(arg_data: ArgData) -> Self
pub fn from_argdata(arg_data: ArgData) -> Self
Like new(), but accepts an ArgData() instead of a raw Box<dyn Any>
Sourcepub fn poke<T>(&mut self) -> Result<&T, DynArgError<'_>>where
T: 'static,
pub fn poke<T>(&mut self) -> 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) -> Result<&T, DynArgError<'_>>where
T: 'static,
pub fn get<T>(&self) -> Result<&T, DynArgError<'_>>where
T: 'static,
Retrieve a struct’s inner value. It’s recommended to explicitly specify type, e.g.:
use dynarg::Arg;
let mut arg = Arg::new(Box::new(42i32));
let arg = arg.get::<i32>();pub fn used(&self) -> bool
Auto Trait Implementations§
impl Freeze for Arg
impl !RefUnwindSafe for Arg
impl !Send for Arg
impl !Sync for Arg
impl Unpin for Arg
impl !UnwindSafe for Arg
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more