pub struct AocCommand { /* private fields */ }
Expand description
CLI command that provides an input source to an AOC problem.
Supports input from a given file as well as from STDIN.
Implements std::io::BufRead
for the convenience of the BufRead::lines
iterator.
§Example
If your executable is named prog
and the description is “Example description”,
then the help (prog --help
) will look like this:
Example description
USAGE:
prog [FILE]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
ARGS:
<FILE> Input file (defaults to STDIN if not provided)
Implementations§
Source§impl AocCommand
impl AocCommand
Sourcepub fn new(description: &str) -> Self
pub fn new(description: &str) -> Self
Returns this struct with the description configured.
§Arguments
description
- provides an “about” section in the usage manual.
Sourcepub fn parse_args(&self) -> Result<BufferedInput>
pub fn parse_args(&self) -> Result<BufferedInput>
Parse cmdline arguments and create a new object to read lines from an arbitrary input source.
The application optionally expects a path argument that specifies the file to read from. If not present, the input is read from STDIN.
§Example
use std::io::BufRead;
use aoc_utils::AocCommand;
let input = AocCommand::new("Example solution").parse_args().unwrap();
let lines: Vec<String> = input.lines().map(Result::unwrap).collect();
Auto Trait Implementations§
impl Freeze for AocCommand
impl RefUnwindSafe for AocCommand
impl Send for AocCommand
impl Sync for AocCommand
impl Unpin for AocCommand
impl UnwindSafe for AocCommand
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