|
void | omw::shiftLeftAssign (int8_t &value, unsigned int n) |
|
void | omw::shiftLeftAssign (int16_t &value, unsigned int n) |
|
void | omw::shiftLeftAssign (int32_t &value, unsigned int n) |
|
void | omw::shiftLeftAssign (int64_t &value, unsigned int n) |
|
void | omw::shiftLeftAssign (uint8_t &value, unsigned int n) |
|
void | omw::shiftLeftAssign (uint16_t &value, unsigned int n) |
|
void | omw::shiftLeftAssign (uint32_t &value, unsigned int n) |
|
void | omw::shiftLeftAssign (uint64_t &value, unsigned int n) |
|
void | omw::shiftRightAssign (int8_t &value, unsigned int n) |
|
void | omw::shiftRightAssign (int16_t &value, unsigned int n) |
|
void | omw::shiftRightAssign (int32_t &value, unsigned int n) |
|
void | omw::shiftRightAssign (int64_t &value, unsigned int n) |
|
void | omw::shiftRightAssign (uint8_t &value, unsigned int n) |
|
void | omw::shiftRightAssign (uint16_t &value, unsigned int n) |
|
void | omw::shiftRightAssign (uint32_t &value, unsigned int n) |
|
void | omw::shiftRightAssign (uint64_t &value, unsigned int n) |
|
int8_t | omw::shiftLeft (int8_t value, unsigned int n) |
|
int16_t | omw::shiftLeft (int16_t value, unsigned int n) |
|
int32_t | omw::shiftLeft (int32_t value, unsigned int n) |
|
int64_t | omw::shiftLeft (int64_t value, unsigned int n) |
|
uint8_t | omw::shiftLeft (uint8_t value, unsigned int n) |
|
uint16_t | omw::shiftLeft (uint16_t value, unsigned int n) |
|
uint32_t | omw::shiftLeft (uint32_t value, unsigned int n) |
|
uint64_t | omw::shiftLeft (uint64_t value, unsigned int n) |
|
int8_t | omw::shiftRight (int8_t value, unsigned int n) |
|
int16_t | omw::shiftRight (int16_t value, unsigned int n) |
|
int32_t | omw::shiftRight (int32_t value, unsigned int n) |
|
int64_t | omw::shiftRight (int64_t value, unsigned int n) |
|
uint8_t | omw::shiftRight (uint8_t value, unsigned int n) |
|
uint16_t | omw::shiftRight (uint16_t value, unsigned int n) |
|
uint32_t | omw::shiftRight (uint32_t value, unsigned int n) |
|
uint64_t | omw::shiftRight (uint64_t value, unsigned int n) |
|
Classes and functions that interact closely with the language.
Until C++20 the left shift of negative signed values is undefined and the right shift of negative signed values is implementation-defined. The functions omw::shiftLeft()
, omw::shiftRight()
, omw::shiftLeftAssign()
, omw::shiftRightAssign()
and the shift operators of omw::int128_t
and omw::uint128_t
implement C++20 compliant shift operations.
If the number of shifts to be performed is greater than or equal to the number of bits of the values type, the result is 0
(or -1
if the operation was right shift of a signed type and the value was negative before the operation).