Начало. Библиотека единиц - это реализация объемного анализа на C++ в общем и расширяемом виде, рассматривающая его как общую проблему метапрограммирования компиляции времени. При соответствующей оптимизации компилятора не вводится стоимость исполнения во время выполнения, что облегчает использование этой библиотеки для проверки размерности в критически важном для производительности коде. Предусмотрена поддержка единиц и величин (определяемых как единица и ассоциированная величина) для моделей произвольной системы единиц и типов произвольных величин, а также для мелкозернистого общего средства преобразования единиц. Предоставляются полные системы единиц SI и CGS, а также системы для углов, измеренных в градусах, радианах, градусах и революциях, и системы для температур, измеренных в Кельвине, градусах Цельсия и градусах Фаренгейта. Архитектура библиотеки была разработана с учетом гибкости и расширяемости; в примерах представлены демонстрации легкости добавления новых блоков и преобразований блоков.
Для того, чтобы включить сложные вычисления объемного анализа компиляции-времени без накладных расходов на время выполнения, Boost. В значительной степени зависит отСоздание библиотеки метапрограммирования(MPL) и на шаблонных методах метапрограммирования и, как следствие, довольно требователен к соблюдению компилятором стандартов ИСО. В настоящее время она успешно составлена и протестирована на следующих компиляторах/платформах:
- g++ 4.0.1 для Mac OSX 10.4
- Intel CC 9.1, 10.0 и 10.1 для Mac OSX 10.4
- g++ 3.4.4, 4.2.3 и 4.3.0 для Windows XP
- Microsoft Visual C++ 7.1, 8.0 и 9.0 для Windows XP
- Comeau 4.3.10.1 beta2 для Windows XP
- Metrowerks CodeWarrior 9.2 для Windows XP
- Sun CC 5.9 для Linux и Solaris
Для работы известны следующие компиляторы/платформы, а не:
- g++ 3.3.x
- Microsoft Visual C++ 6.0 для Windows XP
- Microsoft Visual C++ 7.0 для Windows XP
- Metrowerks CodeWarrior 8.0 для Windows XP
- Все версии Borland.