si

A compile-time parser with automatic type deduction for SI quantities.

alias si = compileTimeParser!(Numeric, siSymbols, std.conv.parse!(Numeric, string))

Examples

enum min = si!"min";
enum inch = si!"2.54 cm";
auto conc = si!"1 µmol/L";
auto speed = si!"m s^-1";
auto value = si!"0.5";

static assert(is(typeof(inch) == Length));
static assert(is(typeof(conc) == Concentration));
static assert(is(typeof(speed) == Speed));
static assert(is(typeof(value) == Dimensionless));

Meta