namespace Poco::Util::Units::Units

namespace Units {

// typedefs

typedef Poco::Util::Units::Unit Unit;
typedef Compose<m, Power<m, -1>> rad;
typedef Compose<Power<m, 2>, Power<m, -2>> sr;
typedef Power<s, -1> Hz;
typedef Compose<m, Compose<kg, Power<s, -2>>> N;
typedef Compose<N, Power<m, -2>> Pa;
typedef Compose<N, m> J;
typedef Compose<J, Power<s, -1>> W;
typedef Compose<s, A> C;
typedef Compose<W, Power<A, -1>> V;
typedef Compose<C, Power<V, -1>> F;
typedef Compose<V, Power<A, -1>> Ohm;
typedef Compose<A, Power<V, -1>> S;
typedef Compose<V, s> Wb;
typedef Compose<Wb, Power<m, -2>> T;
typedef Compose<Wb, Power<A, -1>> H;
typedef cd lm;
typedef Compose<lm, Power<m, -2>> lx;
typedef Power<s, -1> Bq;
typedef Compose<J, Power<kg, -1>> Gy;
typedef Gy Sv;
typedef Compose<Power<s, -1>, mol> kat;
typedef centi<m>::type cm;
typedef milli<m>::type mm;
typedef kilo<m>::type km;
typedef milli<kg>::type g;
typedef milli<g>::type mg;
typedef milli<s>::type ms;
typedef Scale<kg, 22046223, 10000000> lb;
typedef Scale<lb, 16> oz;
typedef Scale<kg, 1, 1000> tonne;
typedef Translate<K, -27315, 100> Celsius;
typedef Translate<Scale<Celsius, 9, 5>, 32> Fahrenheit;
typedef Scale<s, 1, 60> minute;
typedef Scale<minute, 1, 60> hour;
typedef Scale<hour, 1, 24> day;
typedef Scale<day, 1, 7> week;
typedef Scale<month, 1, 12> year;
typedef Scale<year, 1, 100> century;
typedef Scale<year, 1, 1000> millennium;
typedef Scale<cm, 100, 254> inch;
typedef Scale<inch, 1, 12> foot;
typedef Scale<inch, 1, 36> yard;
typedef Scale<yard, 1, 1760> mile;
typedef Scale<m, 1, 1852> nautical_mile;
typedef Power<m, 2> m2;
typedef Power<mm, 2> mm2;
typedef Scale<m2, 1, 10000> hectare;
typedef Scale<m2, 1, 100> are;
typedef Power<inch, 2> inch2;
typedef Scale<hectare, 24710538, 10000000> acre;
typedef Power<cm, 3> cm3;
typedef cm3 ml;
typedef Scale<ml, 1, 1000> liter;
typedef Scale<liter, 10> dl;
typedef Scale<liter, 100> cl;
typedef Power<m, 3> m3;
typedef Compose<mile, Power<hour, -1>> mph;
typedef Compose<km, Power<hour, -1>> kph;
typedef Compose<m, Power<s, -1>> meters_per_second;
typedef Compose<nautical_mile, Power<hour, -1>> knot;
typedef Scale<meters_per_second, 100, 34029> mach;
typedef Scale<rad, 180000000, 3141593> degree;
typedef Scale<rad, 200000000, 3141593> grad;
typedef Scale<degree, 60> degree_minute;
typedef Scale<degree_minute, 60> degree_second;
typedef Scale<Pa, 1, 1000> kPa;
typedef Scale<kPa, 1450377, 10000000> psi;
typedef Scale<kPa, 10> millibar;
typedef Scale<Hz, 60> rpm;
typedef Scale<Unit, 100> percent;
typedef Scale<Unit, 1, 12> dozen;
typedef Scale<Unit, 1, 13> bakers_dozen;

// structs

template <typename U>
struct atto;

template <typename U>
struct centi;

template <typename U>
struct deca;

template <typename U>
struct deci;

template <typename U>
struct exa;

template <typename U>
struct femto;

template <typename U>
struct giga;

template <typename U>
struct hecto;

template <typename U>
struct kilo;

template <typename U>
struct mega;

template <typename U>
struct micro;

template <typename U>
struct milli;

template <typename U>
struct nano;

template <typename U>
struct peta;

template <typename U>
struct pico;

template <typename U>
struct tera;

template <typename U>
struct yocto;

template <typename U>
struct yotta;

template <typename U>
struct zepto;

template <typename U>
struct zetta;

// classes

class Prefix;

} // namespace Units