Boost: typedef для оборотов

Я пытаюсь использовать boost :: units в моем коде, чтобы определить тип RoundsPerMinute. Однако я не совсем понимаю, как это сделать.

Я определил минуту через

using boost::units::si::seconds;

typedef boost::units::make_scaled_unit < boost::units::si::time, boost::units::scale<60, boost::units::static_rational<1> > >::type minute;
BOOST_UNITS_STATIC_CONSTANT(minutes, minute);

typedef boost::units::quantity<minute, float> Minute;

и теперь может сделать, например,

Minute m = 5*minutes;

То, что я сейчас хотел бы сделать, это что-то вроде

RoundsPerMinute rpm1 = 50 * rpm;
RoundsPerMinute rpm2 = 100 / (2*minutes);
Minute m = 1/rpm2; // how many minutes does it take for one round?

но я не уверен, как определить эти типы — честно говоря, вся документация поддержки слишком техническая для меня, чтобы понять 🙁 Если бы кто-нибудь мог помочь мне с определениями, это было бы здорово.

1

Решение

Один об / мин — всего 1/60 герц — см. boost::units::si::hertz,

2

Другие решения

Других решений пока нет …