26#ifndef ETL_BYTE_INCLUDED
27#define ETL_BYTE_INCLUDED
34#if ETL_USING_CPP11 && !defined(ETL_BYTE_FORCE_CPP03_IMPLEMENTATION)
36 enum class byte :
unsigned char {};
41 template <
typename TInteger>
52 template <
typename TInteger>
63 template <
typename TInteger>
74 template <
typename TInteger>
85 template <
typename TInteger>
98 return etl::byte(
static_cast<unsigned int>(
lhs) |
static_cast<unsigned int>(
rhs));
106 return etl::byte(
static_cast<unsigned int>(
lhs) &
static_cast<unsigned int>(
rhs));
114 return etl::byte(
static_cast<unsigned int>(
lhs) ^
static_cast<unsigned int>(
rhs));
146 return etl::byte(~
static_cast<unsigned int>(
b));
159 template <
typename TInteger>
173 template <
typename T>
175 : value(
static_cast<unsigned char>(
v))
180 template <
typename T>
183 return static_cast<T>(value);
197 return (
lhs.value ==
rhs.value);
211 template <
typename TInteger>
221 template <
typename TInteger>
231 template <
typename TInteger>
241 template <
typename TInteger>
253 template <
typename TInteger>
The byte class.
Definition byte.h:155
friend bool operator==(etl::byte lhs, etl::byte rhs)
Equality test.
Definition byte.h:195
friend etl::enable_if< etl::is_integral< TInteger >::value, TInteger >::type to_integer(etl::byte b)
To integer.
Definition byte.h:213
enable_if
Definition type_traits_generator.h:1230
bitset_ext
Definition absolute.h:38
std::basic_ostream< T, std::char_traits< T > > & operator<<(std::basic_ostream< T, std::char_traits< T > > &os, const etl::ibasic_string< T > &str)
Definition basic_string.h:3132
etl::byte operator~(etl::byte b)
Not.
Definition byte.h:313
etl::byte & operator^=(etl::byte &lhs, etl::byte rhs)
Exclusive or equals.
Definition byte.h:305
etl::enable_if< etl::is_integral< TInteger >::value, etl::byte & >::type operator<<=(etl::byte &b, TInteger shift)
Shift left equals.
Definition byte.h:243
etl::byte operator|(etl::byte lhs, etl::byte rhs)
Or.
Definition byte.h:265
etl::byte & operator|=(etl::byte &lhs, etl::byte rhs)
Or equals.
Definition byte.h:289
etl::enable_if< etl::is_integral< TInteger >::value, TInteger >::type to_integer(etl::byte b)
To integer.
Definition byte.h:213
etl::byte operator&(etl::byte lhs, etl::byte rhs)
And.
Definition byte.h:273
bool operator!=(const etl::array< T, SIZE > &lhs, const etl::array< T, SIZE > &rhs)
Definition array.h:1109
etl::enable_if< etl::is_integral< TInteger >::value, etl::byte >::type operator>>(etl::byte b, TInteger shift)
Shift right.
Definition byte.h:233
etl::byte operator^(etl::byte lhs, etl::byte rhs)
Exclusive Or.
Definition byte.h:281
bool operator==(const etl::array< T, SIZE > &lhs, const etl::array< T, SIZE > &rhs)
Definition array.h:1097
etl::enable_if< etl::is_integral< TInteger >::value, etl::byte & >::type operator>>=(etl::byte &b, TInteger shift)
Shift right equals.
Definition byte.h:255
etl::byte & operator&=(etl::byte &lhs, etl::byte rhs)
And equals.
Definition byte.h:297
ETL_NODISCARD ETL_CONSTEXPR14 T round_half_even_unscaled(T value) ETL_NOEXCEPT
Definition scaled_rounding.h:314