![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Integer MasksBoost , Boost.Integer , Boost.Integer
|
член |
значение |
---|---|
< |
Самый маленький, неподписанный, встроенный тип, который поддерживает заданную битовую позицию. |
< |
Самый простой в обращении аналог< |
< |
A< |
< |
< |
< |
Значение параметра шаблона, в случае его необходимости от переименованной инстанциации шаблона класса. |
Шаблон класса<boost::low_bits_mask_t
>предоставляет константы для битовых масок, эквивалентные значению (2бит- 1), где<Bits
>является параметром шаблона. Параметр<Bits
>должен быть неотрицательным целым числом от нуля доМакса, где Макс — число битов, поддерживаемых крупнейшим, неподписанным, встроенным интегральным типом. В следующей таблице описаны члены<low_bits_mask_t
>.
Table 3. Members of the boost::low_bits_mask_t
Class Template
член |
значение |
---|---|
< |
Самый маленький, неподписанный встроенный тип, который поддерживает заданное количество битов. |
< |
Самый простой в обращении аналог< |
< |
A< |
< |
< |
< |
Значение параметра шаблона, в случае его необходимости от переименованной инстанциации шаблона класса. |
Когда<Bits
>является точным размером встроенного неподписанного типа, реализация должна измениться, чтобы предотвратить неопределенное поведение. В этом случае<low_bits_mask_t
>можно использовать в качестве основы.
#include <boost/integer/integer_mask.hpp> //... int main() { typedef boost::high_bit_mask_t<29> mask1_type; typedef boost::low_bits_mask_t<15> mask2_type; mask1_type::least my_var1; mask2_type::fast my_var2; //... my_var1 |= mask1_type::high_bit; my_var2 &= mask2_type::sig_bits_fast; //... }
Программаinteger_mask_test.cppпредставляет собой упрощенную демонстрацию результатов от инстанцирования различных примеров шаблонов класса битовой маски.
Шаблоны классов в этом заголовке являются расширениемцелых шаблонов классов выбора типов. Новые шаблоны классов предоставляют одинаковые типы размеров, но также удобные маски для использования при извлечении самых высоких или всех значительных битов, когда содержащий встроенный тип содержит больше битов. Это предотвращает загрязнение значений более высокими, неиспользованными битами.
Автор шаблонов класса битовой маски BoostДэрил Уокер.
Статья Integer Masks раздела Boost.Integer Boost.Integer может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Boost.Integer ::
реклама |