Crate utils

Source
Expand description

Common utilities used by the aoc and year crates.

Modules§

array
Array helpers.
ascii
ASCII helpers.
bit
Bit manipulation helpers.
date
Items for representing days, years and dates.
geometry
2D & 3D vector implementations.
graph
Graph helpers.
grid
Grid helpers.
input
Items relating to puzzle input.
md5
Implementation of the MD5 hash function.
multithreading
Multithreading helpers.
multiversion
Implementation of multiversion! macro.
number
Traits for using numbers as generic data types.
parser
Parser combinator library.
prelude
Standard imports for puzzle solutions.
queue
Queue data structures.
simd
SIMD vector implementations.
slice
Slice helpers.

Macros§

enumerable_enum
Macro to generate helpers for fieldless unit-only enums.
examples
Macro to generate a list of examples, implement PuzzleExamples and add example tests.
multiversion
Macro to generate multiversioned functions.
multiversion_test
Helper for testing and benchmarking multiversion! library functions.
parser_byte_map
Macro to define a parser which consumes a single byte and maps it using a lookup table.
parser_literal_map
Macro to define a parser for one or more string literals, mapping the results.
parser_parsable_enum
Macro to define an enumerable enum that implements Parseable.
parser_parse_tree
Macro to define a custom parser using a match inspired parse tree syntax.
puzzles_noop
Version of the puzzles! macro generated by year! which appends no extra arguments.
year
Macro to generate the crate root for each year crate, implementing common items.

Traits§

PuzzleDate
Common trait implemented by puzzles to provide the puzzle’s Date.
PuzzleExamples
Trait implemented by puzzles to provide example inputs and answers.