Crypto++ 8.2 Free C++ class library of cryptographic schemes

Static Public Member Functions | List of all members
SafeShifter< true > Struct Template Reference

Shifts a value in the presence of overflow. More...

## Static Public Member Functions
template<class T >
static T | RightShift (T value, unsigned int bits)
| Right shifts a value that overflows. More...
template<class T >
static T | LeftShift (T value, unsigned int bits)
| Left shifts a value that overflows. More...

## Detailed Description

### template<>
struct SafeShifter< true >

Shifts a value in the presence of overflow.

the true template parameter indicates overflow would occur. In this case, SafeShifter clamps the value and returns 0.

Definition at line 2634 of file misc.h.

## Member Function Documentation

## ◆ RightShift()

template<class T >

static T SafeShifter< true >::RightShift | ( | T | value,
|  | unsigned int | bits
| ) |  |
| inline static

Right shifts a value that overflows.

Template Parameters

  T | class or type

Returns
  0

Since `overflow == true`, the value 0 is always returned.

See also
  SafeLeftShift

Definition at line 2642 of file misc.h.

## ◆ LeftShift()

template<class T >

static T SafeShifter< true >::LeftShift | ( | T | value,
|  | unsigned int | bits
| ) |  |
| inline static

Left shifts a value that overflows.

Template Parameters

  T | class or type

Returns
  0

Since `overflow == true`, the value 0 is always returned.

See also
  SafeRightShift

Definition at line 2654 of file misc.h.

The documentation for this struct was generated from the following file:

- misc.h