6 releases
Uses old Rust 2015
0.3.0 | Dec 9, 2019 |
---|---|
0.2.2 | Dec 13, 2018 |
0.1.0 | Nov 30, 2018 |
#208 in Profiling
1,406 downloads per month
4KB
Advent of Code Runner
This is a simple project that aims to be a runner for the Advent of Code.
Implement your solution. Let us do the rest.
Features
- Input downloading
- Running your solution
- Benchmarking of your solution (WIP)
Getting started
- Create a lib project
cargo new advent-of-code-2018 --lib
- Add deps to your Cargo.toml:
aoc-runner = "0.1.0"
aoc-runner-derive = "0.1.0"
- Include libs in your lib.rs
extern crate aoc_runner;
#[macro_use]
extern crate aoc_runner_derive;
- Add
aoc_lib!{ year = 2018 }
at the end of your lib.rs - Start coding !
Flags your solutions
just add a #[aoc(day1, part1)]
before your function !
#[aoc(day1, part1)]
fn part1(input: &str) -> i32 {
...
}
Supported signatures : &str
or &[u8]
as input, any type implementing display as output.
For custom input, see below.
Custom Generators
You need to pre-process input in a separated function ? generators are for you !
#[aoc_generator(day2)]
fn input_generator(input: &str) -> Vec<Gift> {
...
}
#[aoc(day2, part1)]
fn part1(input: &[Gift]) -> u32 {
...
}
Run your code
See cargo-aoc