use std::ffi::OsStr;
use super::super::{Args,ArgsError};
pub trait HasArgs: Send {
fn args() -> Args where Self: Sized;
fn full_usage() -> String where Self: Sized {
format!("{}\n\n{}", Self::short_usage(), Self::usage())
}
fn parse<C: IntoIterator>(raw_args: C) -> Result<(), ArgsError> where C::Item: AsRef<OsStr>, Self: Sized {
Self::args().parse(raw_args)
}
fn parse_from_cli() -> Result<(), ArgsError> where Self: Sized {
Self::args().parse_from_cli()
}
fn short_usage() -> String where Self: Sized {
Self::args().short_usage()
}
fn usage() -> String where Self: Sized {
Self::args().usage()
}
}