BOOST C++: заголовочный файл boost/cstdint.hpp

Заголовочный файл <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

  © Mental Computing 2010