Defined in header <cstddef> | ||
---|---|---|
enum class byte : unsigned char {} ; | (since C++17) |
std::byte
is a distinct type that implements the concept of byte as specified in the C++ language definition.
Like the character types (char
, unsigned char
, signed char
) it can be used to access raw memory occupied by other objects (object representation), but unlike those types, it is not a character type and is not an arithmetic type. A byte is only a collection of bits, and only bitwise logic operators are defined for it.
template <class IntegerType> constexpr IntegerType to_integer(std::byte b) noexcept; | (since C++17) |
Equivalent to: return IntegerType(b);
This overload only participates in overload resolution if std::is_integral_v<IntegerType>
is true.
return b = std::byte(static_cast<unsigned char>(b) << shift);
This overload only participates in overload resolution if std::is_integral_v<IntegerType>
is true.return b = std::byte(static_cast<unsigned char>(b) >> shift);
This overload only participates in overload resolution if std::is_integral_v<IntegerType>
is true.
return std::byte(static_cast<unsigned char>(b) << shift);
This overload only participates in overload resolution if std::is_integral_v<IntegerType>
is true.return std::byte(static_cast<unsigned char>(b) >> shift);
This overload only participates in overload resolution if std::is_integral_v<IntegerType>
is true.
return l = std::byte(static_cast<unsigned char>(l) | static_cast<unsigned char>(r));
.return l = std::byte(static_cast<unsigned char>(l) & static_cast<unsigned char>(r));
.return l = std::byte(static_cast<unsigned char>(l) ^ static_cast<unsigned char>(r));
. return std::byte(static_cast<unsigned char>(l) | static_cast<unsigned char>(r));
.return std::byte(static_cast<unsigned char>(l) & static_cast<unsigned char>(r));
.return std::byte(static_cast<unsigned char>(l) ^ static_cast<unsigned char>(r));
.return std::byte(~static_cast<unsigned char>(b));
A numeric value n
can be converted to a byte value using std::byte{n}
, due to C++17 relaxed enum class initialization rules.
A byte can be converted to a numeric value (such as to produce a integer hash of an object) using std::to_integer
.
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/types/byte