Function Subspace :: sus :: num :: operator<<

auto operator<<(i8 l, std::convertible_to<u64> auto r) -> i8
template <class U>
auto operator<<(i8 l, U r) -> i8
requires
!std::convertible_to<U, u64>
deleted
auto operator<<(i16 l, std::convertible_to<u64> auto r) -> i16
template <class U>
auto operator<<(i16 l, U r) -> i16
requires
!std::convertible_to<U, u64>
deleted
auto operator<<(i32 l, std::convertible_to<u64> auto r) -> i32
template <class U>
auto operator<<(i32 l, U r) -> i32
requires
!std::convertible_to<U, u64>
deleted
auto operator<<(i64 l, std::convertible_to<u64> auto r) -> i64
template <class U>
auto operator<<(i64 l, U r) -> i64
requires
!std::convertible_to<U, u64>
deleted
auto operator<<(isize l, std::convertible_to<u64> auto r) -> isize
template <class U>
auto operator<<(isize l, U r) -> isize
requires
!std::convertible_to<U, u64>
deleted

Satisfies the Shl concept for signed integers.

This operation supports shifting with primitive signed or unsigned integers that convert to the safe numeric, as well as enums. However enum class is excluded as they require an explicit conversion to an integer.

Thus the bound is std::convertible_to (implicit conversion) instead of sus::construct::From (explicit conversion).

Panics

This function will panic when r is not less than the number of bits in l if overflow checks are enabled (they are by default) and will perform a wrapping shift if overflow checks are disabled (not the default).

See overflow checks for controlling this behaviour.