Библиотека для разбора строк, содержащих единицы

Я ищу библиотеку C ++, которая может анализировать предоставленные пользователем строки, такие как следующие:

25 meters/day
3.4 light-years/s
10 cm^3 yr^-1

И вернуть их как объекты, которые можно добавлять, умножать и так далее.

Существует ли такая вещь?

3

Решение

Если вы знаете измерение заблаговременно (и я полагаю, что вы это делаете, если решаете реальную физическую проблему), вы все равно можете использовать Boost.Units, поскольку коэффициент преобразования всегда должен существовать (быть определенным). Как здесь: http://www.boost.org/doc/libs/1_37_0/doc/html/boost_units/Examples.html#boost_units.Examples.RuntimeUnits

Если проблема на самом деле заключается в разборе имен / операций модуля, то может помочь Boost.Spirit или C ++ regex.

0

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

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

По вопросам рекламы [email protected]