/CPP-Units-Conversion

Primary LanguageC++Apache License 2.0Apache-2.0

Generic units library

C++ units library with defined operators.

Inter-dimensional operations should be written the same way as any other operation.

Usage

Units::Speed GetUpdatedSpeed(Units::Time FrameTime, Units::Distance NewPosition)
{
   static Units::Distance oldPosition(Units::Distance::zero());

   Units::Speed ret = ((NewPosition - oldPosition) / FrameTime);
   oldPosition = NewPosition;

   return ret;
}

Units::MetersPerSecond newSpeed;

newSpeed = GetUpdatedSpeed(Units::Seconds(5), Units::Meters(10));
//newSpeed is now Units::MetersPerSecond(2)

newSpeed = GetUpdatedSpeed(Units::Hours(1), Units::Kilometers(10)+Units::Meters(10));
//newSpeed is now Units::MetersPerSecond((10.0*1000.0)/3600.0)

Values can be initialized using user literals

{
   using namespace Units::Literals;

   Units::Mass mass_value = 3.4_st;
}