Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

The MPL Reference Manual: shift_right

Boost , ,

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Front Page / Metafunctions / Bitwise Operations / shift_right

shift_right

Synopsis

template<
      typename T
    , typename Shift
    >
struct shift_right
{
    typedef unspecified type;
};

Description

Возвращает результат побитовой операции shift right (>>) на T.

Parameters

Parameter Requirement Description
T Интегральная постоянная Ценность для изменения.
Shift Неподписанный Интегральная постоянная Расстояние сдвига.

[Примечание: Требования, перечисленные в этой спецификации, являются теми, которые налагаются реализацией по умолчанию. См. Нумерная метафункция понятие для деталей о том, как обеспечить реализацию для определенного пользователем числового типа, который не удовлетворяет требованиям Интегральная постоянная . — конец примечания

Expression semantics

Для произвольной Integral Constant c и неподписанной Integral Constant shift:

typedef shift_right<c,shift>::type r;
Return type:

Integral Constant.

Semantics:

Equivalent to

typedef integral_c<
      c::value_type
    , ( c::value >> shift::value )
    > r;
typedef shift_right<c,shift> r;
Return type:

Integral Constant.

Semantics:

Equivalent to

struct r : shift_right<c,shift>::type {};

Complexity

Амортизированное постоянное время.

Example

typedef integral_c<unsigned,0> u0;
typedef integral_c<unsigned,1> u1;
typedef integral_c<unsigned,2> u2;
typedef integral_c<unsigned,8> u8;
BOOST_MPL_ASSERT_RELATION( (shift_right<u0,u0>::value), ==, 0 );
BOOST_MPL_ASSERT_RELATION( (shift_right<u1,u0>::value), ==, 1 );
BOOST_MPL_ASSERT_RELATION( (shift_right<u1,u1>::value), ==, 0 );
BOOST_MPL_ASSERT_RELATION( (shift_right<u2,u1>::value), ==, 1 );
BOOST_MPL_ASSERT_RELATION( (shift_right<u8,u1>::value), ==, 4 );

Статья The MPL Reference Manual: shift_right раздела может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 22:51:54/0.027842998504639/1