Заголовочный файл <boost/cstdint.hpp> содержит определения типов через typedef, полезные для написания платформонезависимого кода, в котором используются размеры целых типов. Все типы определены в пространстве имен boost.
Спецификации основаны на определенном в стандарте языка С ISO/IEC 9899:1999 заголовочном файле <stdint.h>. 64-битовые типы, требуемые стандартом C, не нужны в хидере <boost/cstdint.hpp>, и не могут быть определены во всех реализациях, потому что тип long long все еще не включен в стандарт C++.
См. тестовую программу cstdint_test.cpp.
Целые типы с точно заданным размером
Тип int#_t, где # означает длину в битах, описывает знаковый целый тип с точно # битами; int8_t обозначает 8-битовое знаковое целое. Аналогично, тип uint#_t означает беззнаковое целое с точно # битами.
Эти типы являются опциональными. Однако, если конкретная реализация разрешает объявлять целые типы с длинами 8, 16, 32, или 64 бита, то должны быть объявлены соответствующие typedef'ы.
Целые типы с заданным минимальным размером
Объявления типа int_least#_t, где # заменяется числом битов в типе, обозначает знаковое целое с числом битов по меньшей мере # бит, так что не существует знаковый целый тип меньшего размера, который допускает хранение # битов. Таким образом, int_least32_tt обозначает знаковый целый тип с длиной по меньшей мере 32 бита. Аналогично, тип uint_least#_t означает беззнаковое целое с длиной по меньшей мере # битов, так что не существует беззнаковый тип меньшего размера, который содержит по меньшей мере # битов.
Обязательные типы с гарантированным минимальным размером:
Все прочие целые типы с гарантированным минимальным размером являются необязательными.
Самые быстрые целые типы с заданным минимальным размеромм
Объявления типа int_fast#_t, где # заменяется длиной в битах, обозначает наиболее быстро обрабатываемый знаковый целый тип с заданной минимальной длиной. Аналогично, объявление типа uint_fast#_t обозначает наиболее быстро обрабатываемый целый тип с заданным минимальным числом битов.
Не гарантируется, что эти типы являются самыми быстрыми для всех приложений. В любом случае, однако, они удовлетворяют требованиям знаковости и размера в битах.
Обязательными для всех реализаций являются объявления типов:
Все прочие объявления наиболее быстро обрабатывающихся целых типов являются опциональными
Целые типы с максимальным размером
Объявление типа intmax_t обозначает знаковый целый тип, способный представить максимальное значение любого знакового целого.
Объявление типа uintmax_t обозначает беззнаковый целый тип, способный представить любой беззнаковый целый тип данной реализации.
Эти типы обязательны для всех реализаций.
Последняя правка: 29.04.2005 Elijah Koziev www.solarix.ru
библиотека BOOST C++
http://www.boost.org
перевод
Elijah Koziev
www.solarix.ru