Arg

Struct Arg 

Source
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

Source

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.

Source

pub fn from_argdata(arg_data: ArgData) -> Self

Like new(), but accepts an ArgData() instead of a raw Box<dyn Any>

Source

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.

Source

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>();
Source

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.