Embedded Template Library 1.0
Loading...
Searching...
No Matches
bit.h File Reference
#include "platform.h"
#include "type_traits.h"
#include "binary.h"
#include "integral_limits.h"
#include "endianness.h"
#include <string.h>

Go to the source code of this file.

Namespaces

namespace  etl
 bitset_ext
 

Functions

template<typename TDestination , typename TSource >
ETL_NODISCARD etl::enable_if<!(etl::is_integral< TDestination >::value &&etl::is_integral< TSource >::value)&&(sizeof(TDestination)==sizeof(TSource))&&etl::is_trivially_copyable< TSource >::value &&etl::is_trivially_copyable< TDestination >::value, TDestination >::type etl::bit_cast (const TSource &source) ETL_NOEXCEPT
 bit_cast - Type to different type.
 
template<typename TDestination , typename TSource >
ETL_NODISCARD ETL_CONSTEXPR14 etl::enable_if<(etl::is_integral< TDestination >::value &&etl::is_integral< TSource >::value)&&(sizeof(TDestination)==sizeof(TSource)), TDestination >::type etl::bit_cast (const TSource &source) ETL_NOEXCEPT
 bit_cast - Integral to integral
 
template<typename T >
ETL_CONSTEXPR14 etl::enable_if< etl::is_integral< T >::value, T >::type etl::byteswap (T value) ETL_NOEXCEPT
 byteswap
 
template<typename T >
ETL_NODISCARD ETL_CONSTEXPR14 etl::enable_if< etl::is_unsigned< T >::value, bool >::type etl::has_single_bit (T value) ETL_NOEXCEPT
 has_single_bit
 
template<typename T >
ETL_NODISCARD ETL_CONSTEXPR14 etl::enable_if< etl::is_unsigned< T >::value, int >::type etl::countl_zero (T value) ETL_NOEXCEPT
 countl_zero
 
template<typename T >
ETL_NODISCARD ETL_CONSTEXPR14 etl::enable_if< etl::is_unsigned< T >::value, int >::type etl::countl_one (T value) ETL_NOEXCEPT
 countl_one
 
template<typename T >
ETL_NODISCARD ETL_CONSTEXPR14 etl::enable_if< etl::is_unsigned< T >::value, int >::type etl::countr_zero (T value) ETL_NOEXCEPT
 countr_zero
 
template<typename T >
ETL_NODISCARD ETL_CONSTEXPR14 etl::enable_if< etl::is_unsigned< T >::value, int >::type etl::countr_one (T value) ETL_NOEXCEPT
 countr_one
 
template<typename T >
ETL_CONSTEXPR14 etl::enable_if< etl::is_unsigned< T >::value, T >::type etl::bit_width (T value) ETL_NOEXCEPT
 bit_width
 
template<typename T >
ETL_NODISCARD ETL_CONSTEXPR14 etl::enable_if< etl::is_unsigned< T >::value, T >::type etl::bit_ceil (T value)
 bit_ceil
 
template<typename T >
ETL_NODISCARD ETL_CONSTEXPR14 etl::enable_if< etl::is_unsigned< T >::value, T >::type etl::bit_floor (T value) ETL_NOEXCEPT
 bit_floor
 
template<typename T >
ETL_NODISCARD ETL_CONSTEXPR14 etl::enable_if< etl::is_unsigned< T >::value, T >::type etl::rotl (T value, int n) ETL_NOEXCEPT
 rotl
 
template<typename T >
ETL_NODISCARD ETL_CONSTEXPR14 etl::enable_if< etl::is_unsigned< T >::value, T >::type etl::rotr (T value, int n) ETL_NOEXCEPT
 rotr
 
template<typename T >
ETL_NODISCARD ETL_CONSTEXPR14 etl::enable_if< etl::is_unsigned< T >::value, int >::type etl::popcount (T value) ETL_NOEXCEPT
 popcount