
partial namespace CSS {
    CSSUnitValue number(double value);
    CSSUnitValue percent(double value);


    // <angle>
    [ImplementedAs=deg] CSSUnitValue deg(double value);
    [ImplementedAs=grad] CSSUnitValue grad(double value);
    [ImplementedAs=rad] CSSUnitValue rad(double value);
    [ImplementedAs=turn] CSSUnitValue turn(double value);

    // <flex>
    [ImplementedAs=fr] CSSUnitValue fr(double value);

    // <frequency>
    [ImplementedAs=hz] CSSUnitValue Hz(double value);
    [ImplementedAs=khz] CSSUnitValue kHz(double value);

    // <length>
    [ImplementedAs=cap] CSSUnitValue cap(double value);
    [ImplementedAs=ch] CSSUnitValue ch(double value);
    [ImplementedAs=cm] CSSUnitValue cm(double value);
    [ImplementedAs=dvb] CSSUnitValue dvb(double value);
    [ImplementedAs=dvh] CSSUnitValue dvh(double value);
    [ImplementedAs=dvi] CSSUnitValue dvi(double value);
    [ImplementedAs=dvmax] CSSUnitValue dvmax(double value);
    [ImplementedAs=dvmin] CSSUnitValue dvmin(double value);
    [ImplementedAs=dvw] CSSUnitValue dvw(double value);
    [ImplementedAs=em] CSSUnitValue em(double value);
    [ImplementedAs=ex] CSSUnitValue ex(double value);
    [ImplementedAs=ic] CSSUnitValue ic(double value);
    [ImplementedAs=in] CSSUnitValue in(double value);
    [ImplementedAs=lh] CSSUnitValue lh(double value);
    [ImplementedAs=lvb] CSSUnitValue lvb(double value);
    [ImplementedAs=lvh] CSSUnitValue lvh(double value);
    [ImplementedAs=lvi] CSSUnitValue lvi(double value);
    [ImplementedAs=lvmax] CSSUnitValue lvmax(double value);
    [ImplementedAs=lvmin] CSSUnitValue lvmin(double value);
    [ImplementedAs=lvw] CSSUnitValue lvw(double value);
    [ImplementedAs=mm] CSSUnitValue mm(double value);
    [ImplementedAs=pc] CSSUnitValue pc(double value);
    [ImplementedAs=pt] CSSUnitValue pt(double value);
    [ImplementedAs=px] CSSUnitValue px(double value);
    [ImplementedAs=q] CSSUnitValue Q(double value);
    [ImplementedAs=rcap] CSSUnitValue rcap(double value);
    [ImplementedAs=rch] CSSUnitValue rch(double value);
    [ImplementedAs=rem] CSSUnitValue rem(double value);
    [ImplementedAs=rex] CSSUnitValue rex(double value);
    [ImplementedAs=ric] CSSUnitValue ric(double value);
    [ImplementedAs=rlh] CSSUnitValue rlh(double value);
    [ImplementedAs=svb] CSSUnitValue svb(double value);
    [ImplementedAs=svh] CSSUnitValue svh(double value);
    [ImplementedAs=svi] CSSUnitValue svi(double value);
    [ImplementedAs=svmax] CSSUnitValue svmax(double value);
    [ImplementedAs=svmin] CSSUnitValue svmin(double value);
    [ImplementedAs=svw] CSSUnitValue svw(double value);
    [ImplementedAs=vb] CSSUnitValue vb(double value);
    [ImplementedAs=vh] CSSUnitValue vh(double value);
    [ImplementedAs=vi] CSSUnitValue vi(double value);
    [ImplementedAs=vmax] CSSUnitValue vmax(double value);
    [ImplementedAs=vmin] CSSUnitValue vmin(double value);
    [ImplementedAs=vw] CSSUnitValue vw(double value);

    // <resolution>
    [ImplementedAs=dpcm] CSSUnitValue dpcm(double value);
    [ImplementedAs=dpi] CSSUnitValue dpi(double value);
    [ImplementedAs=dppx] CSSUnitValue dppx(double value);
    [ImplementedAs=x] CSSUnitValue x(double value);

    // <time>
    [ImplementedAs=ms] CSSUnitValue ms(double value);
    [ImplementedAs=s] CSSUnitValue s(double value);

};
