| Хидер / доментация | содержание | зачем использовать |
|---|---|---|
| <boost/integer_fwd.hpp> | Предварительные (forward) объявления классов и шаблонов | когда нужны только имена классов |
| <boost/cstdint.hpp> документация |
Определения типов (typedef'ы)
на основе хидера из стандарта 1999 C <stdint.h>,
обернутого для включения в пространство имен boost.
Текущая реализация может включать заголовочный файл <stdint.h>,
если таковой есть для используемого компилятора. |
объявляет через typedef стандартные
целочисленные типы, такие как
int32_t или
uint_least16_t. Следует включать перед <stdint.h>
для достижения большей портабельности (платформо-независимости). Далее,
все имена включены в пространство имен
boost. |
| <boost/integer_traits.hpp> документация |
Шаблонные классы boost::integer_traits, наследующие от std::numeric_limits. Добавляют члены const_min и const_max. | Для получения характеристик известного целочисленного типа. |
| <boost/integer.hpp> документация |
Шаблоны для выбора целочисленного типа на основе заданных свойств, таких как максимальное значение или число битов. | Для выбора типа целого числа, когда необходимо обеспечить возможность представления заданного числа или определенного числа битов. Полезно для обобщенного программирования. |
| <boost/integer/integer_mask.hpp> документация |
Шаблоны для выбора маски целочисленного типа, одиночной или наименьшей группы на основе заданного количества битов. | Используется для выбора маски, когда поциция(и) битов определяются константой времени компиляции. Применимо в обобщенном программировании. |
| <boost/integer/static_log2.hpp> документация |
Шаблоны для нахождения наибольшей степени двойки в числе (другими словами, для вычисления логарифма по основанию 2). | Используется при нахождении числа битов для представления заданной максимальной величины. Применимо в обобщенном программиовании. |
| <boost/integer/static_min_max.hpp> документация |
Шаблоны для нахождения экстремумов (максимума и минимума) двух чисел. | Используется для определения границ значения при заданных максимальном и минимальном значении. Полезно в обобщенном программировании. |
Основы
Организация заголовочных файлов библиотеки Boost.Integer разработана таким образом, чтобы использовать типы, объявленные в <stdint.h> из стандарта 1999 C без путаницы, возникшей в стандарте 1998 C++. Заголовочный файл <boost/cstdint.hpp> позволяет безопасно использовать целочисленные типы в пространстве имен boost, не загрязняя пространство имен std. Как обычно, акцент сделан на дополнении возможностей стандартной библиотеки C++. Когда какой-либо будущий стандарт C++ будет включать <stdint.h> и <cstdint>, тогда <boost/cstdint.hpp> сохранит работоспособность, но станет избыточным и может быть спокойно исключен.
Так как эти заголовочные файлы принадлежат библиотеке BOOST, то их имена следуют соглашениям, принятым в BOOST C++, а не для стандартной библиотеки C++.
Caveat emptor
Латинское выражение означает "пусть приобретатель будет осторожен"
В качестве артефакта реализации некоторые макросы, определенные в <limits.h>, могут быть видимы при включении хидера <boost/cstdint.hpp>. Эти макросы не следует использовать: они не являются частью определений библиотеки Boost. Вместо них лучше использовать типы boost::integer_traits<> или std::numeric_limits<>.
Как другой артефакт реализации можно отметить, что
некоторые typedef'ы из заголовочного файла <stdint.h> могут быть видимы в глобальном пространстве имен
при включении файла <boost/cstdint.hpp>.
Эти имена типов не следует использовать, так как они
не являются частью интерфейса библиотеки Boost.
Вместо это лучше использовать соответствующие имена в пространстве
имен boost.
Последняя правка: 10.05.2005
библиотека BOOST C++
http://www.boost.org
перевод
Elijah Koziev
www.solarix.ru