Embedded Template Library 1.0
Loading...
Searching...
No Matches
bitset_new.h File Reference
#include "../platform.h"
#include "../algorithm.h"
#include "../iterator.h"
#include "../integral_limits.h"
#include "../nullptr.h"
#include "../log.h"
#include "../exception.h"
#include "../binary.h"
#include "../char_traits.h"
#include "../static_assert.h"
#include "../error_handler.h"
#include "../span.h"
#include "../string.h"
#include "../enum_type.h"
#include "../largest.h"
#include "../smallest.h"
#include <stddef.h>
#include <stdint.h>
#include <algorithm>
#include "minmax_push.h"
#include "minmax_pop.h"

Go to the source code of this file.

Classes

struct  etl::bitset_storage_model
class  etl::bitset_exception
class  etl::bitset_string_too_small
class  etl::bitset_overflow
class  etl::bitset_invalid_buffer
class  etl::private_bitset::bitset_impl_common< TElement >
class  etl::bitset_impl< TElement, etl::bitset_storage_model::Single >
class  etl::bitset_impl< TElement, etl::bitset_storage_model::Multi >
struct  etl::bitset_impl< TElement, etl::bitset_storage_model::Multi >::value_is_in_one_element< Position, Length, Bits_Per_Element >
 Check to see if the requested extract is contained within one element. More...
class  etl::private_bitset::bitset_common< Active_Bits, TElement >
class  etl::bitset< 0U, unsigned char >
 Specialisation for zero bits. More...
class  etl::bitset< MaxN >
 Bitset forward declaration. More...
class  etl::bitset< MaxN >::bit_reference
 The reference type returned. More...
class  etl::bitset_ext< 0U, unsigned char >
 Specialisation for zero bits. More...
class  etl::bitset_ext< Active_Bits, TElement >
 A bitset that uses externally declared storage. More...
class  etl::bitset_ext< Active_Bits, TElement >::bit_reference
 The reference type returned. More...

Namespaces

namespace  etl
 bitset_ext

Macros

#define ETL_STR(x)
#define ETL_STRL(x)
#define ETL_STRu(x)
#define ETL_STRU(x)

Functions

template<size_t Active_Bits, typename TElement>
ETL_CONSTEXPR14 bitset< Active_Bits > etl::operator& (const bitset< Active_Bits, TElement > &lhs, const bitset< Active_Bits, TElement > &rhs) ETL_NOEXCEPT
template<size_t Active_Bits, typename TElement>
ETL_CONSTEXPR14 bitset< Active_Bits > etl::operator| (const bitset< Active_Bits, TElement > &lhs, const bitset< Active_Bits, TElement > &rhs) ETL_NOEXCEPT
template<size_t Active_Bits, typename TElement>
ETL_CONSTEXPR14 bitset< Active_Bits > etl::operator^ (const bitset< Active_Bits, TElement > &lhs, const bitset< Active_Bits, TElement > &rhs) ETL_NOEXCEPT
template<size_t Active_Bits, typename TElement>
ETL_CONSTEXPR14 bool operator!= (const etl::bitset< Active_Bits, TElement > &lhs, const etl::bitset< Active_Bits, TElement > &rhs)
template<size_t Active_Bits, typename TElement>
ETL_CONSTEXPR14 void swap (etl::bitset< Active_Bits, TElement > &lhs, etl::bitset< Active_Bits, TElement > &rhs) ETL_NOEXCEPT
 swap
template<size_t Active_Bits, typename TElement>
ETL_CONSTEXPR14 bool operator!= (const etl::bitset_ext< Active_Bits, TElement > &lhs, const etl::bitset_ext< Active_Bits, TElement > &rhs)
template<size_t Active_Bits, typename TElement>
ETL_CONSTEXPR14 void swap (etl::bitset_ext< Active_Bits, TElement > &lhs, etl::bitset_ext< Active_Bits, TElement > &rhs) ETL_NOEXCEPT
 swap
template<typename TLhsSpan, typename TRhsSpan>
bool etl::private_bitset::compare_bitset_spans (const TLhsSpan &lhs_span, const TRhsSpan &rhs_span)
template<size_t Active_Bits, typename TLhsElement, typename TRhsElement>
ETL_CONSTEXPR14 etl::enable_if<!etl::is_same< TLhsElement, TRhsElement >::value, bool >::type operator== (const etl::bitset< Active_Bits, TLhsElement > &lhs, const etl::bitset< Active_Bits, TRhsElement > &rhs) ETL_NOEXCEPT
template<size_t Active_Bits, typename TLhsElement, typename TRhsElement>
ETL_CONSTEXPR14 etl::enable_if<!etl::is_same< TLhsElement, TRhsElement >::value, bool >::type operator!= (const etl::bitset< Active_Bits, TLhsElement > &lhs, const etl::bitset< Active_Bits, TRhsElement > &rhs) ETL_NOEXCEPT
template<size_t Active_Bits, typename TLhsElement, typename TRhsElement>
ETL_CONSTEXPR14 etl::enable_if<!etl::is_same< TLhsElement, TRhsElement >::value, bool >::type operator== (const etl::bitset_ext< Active_Bits, TLhsElement > &lhs, const etl::bitset_ext< Active_Bits, TRhsElement > &rhs) ETL_NOEXCEPT
template<size_t Active_Bits, typename TLhsElement, typename TRhsElement>
ETL_CONSTEXPR14 etl::enable_if<!etl::is_same< TLhsElement, TRhsElement >::value, bool >::type operator!= (const etl::bitset_ext< Active_Bits, TLhsElement > &lhs, const etl::bitset_ext< Active_Bits, TRhsElement > &rhs) ETL_NOEXCEPT
template<size_t Active_Bits, typename TElement>
ETL_CONSTEXPR14 bool operator== (const etl::bitset< Active_Bits, TElement > &lhs, const etl::bitset_ext< Active_Bits, TElement > &rhs) ETL_NOEXCEPT
template<size_t Active_Bits, typename TElement>
ETL_CONSTEXPR14 bool operator!= (const etl::bitset< Active_Bits, TElement > &lhs, const etl::bitset_ext< Active_Bits, TElement > &rhs) ETL_NOEXCEPT
template<size_t Active_Bits, typename TElement>
ETL_CONSTEXPR14 bool operator== (const etl::bitset_ext< Active_Bits, TElement > &lhs, const etl::bitset< Active_Bits, TElement > &rhs) ETL_NOEXCEPT
template<size_t Active_Bits, typename TElement>
ETL_CONSTEXPR14 bool operator!= (const etl::bitset_ext< Active_Bits, TElement > &lhs, const etl::bitset< Active_Bits, TElement > &rhs) ETL_NOEXCEPT
template<size_t Active_Bits, typename TLhsElement, typename TRhsElement>
ETL_CONSTEXPR14 etl::enable_if<!etl::is_same< TLhsElement, TRhsElement >::value, bool >::type operator== (const etl::bitset< Active_Bits, TLhsElement > &lhs, const etl::bitset_ext< Active_Bits, TRhsElement > &rhs) ETL_NOEXCEPT
template<size_t Active_Bits, typename TLhsElement, typename TRhsElement>
ETL_CONSTEXPR14 etl::enable_if<!etl::is_same< TLhsElement, TRhsElement >::value, bool >::type operator!= (const etl::bitset< Active_Bits, TLhsElement > &lhs, const etl::bitset_ext< Active_Bits, TRhsElement > &rhs) ETL_NOEXCEPT
template<size_t Active_Bits, typename TLhsElement, typename TRhsElement>
ETL_CONSTEXPR14 etl::enable_if<!etl::is_same< TLhsElement, TRhsElement >::value, bool >::type operator== (const etl::bitset_ext< Active_Bits, TLhsElement > &lhs, const etl::bitset< Active_Bits, TRhsElement > &rhs) ETL_NOEXCEPT
template<size_t Active_Bits, typename TLhsElement, typename TRhsElement>
ETL_CONSTEXPR14 etl::enable_if<!etl::is_same< TLhsElement, TRhsElement >::value, bool >::type operator!= (const etl::bitset_ext< Active_Bits, TLhsElement > &lhs, const etl::bitset< Active_Bits, TRhsElement > &rhs) ETL_NOEXCEPT

Variables

template<typename TElement>
ETL_CONSTANT size_t etl::private_bitset::bitset_impl_common< TElement >::npos
template<typename TElement>
ETL_CONSTANT size_t etl::private_bitset::bitset_impl_common< TElement >::Bits_Per_Element
template<typename TElement>
ETL_CONSTANT TElement etl::private_bitset::bitset_impl_common< TElement >::All_Set_Element
template<typename TElement>
ETL_CONSTANT TElement etl::private_bitset::bitset_impl_common< TElement >::All_Clear_Element
template<size_t Active_Bits, typename TElement>
ETL_CONSTANT size_t etl::private_bitset::bitset_common< Active_Bits, TElement >::Number_Of_Elements
template<size_t Active_Bits, typename TElement>
ETL_CONSTANT size_t etl::private_bitset::bitset_common< Active_Bits, TElement >::Size
template<size_t Active_Bits, typename TElement>
ETL_CONSTANT etl::bitset_storage_model etl::private_bitset::bitset_common< Active_Bits, TElement >::Storage_Model = (bitset_common<Active_Bits, TElement>::Number_Of_Elements == 1U) ? etl::bitset_storage_model::Single : etl::bitset_storage_model::Multi
template<size_t Active_Bits, typename TElement>
ETL_CONSTANT size_t etl::private_bitset::bitset_common< Active_Bits, TElement >::Top_Mask_Shift
template<size_t Active_Bits, typename TElement>
ETL_CONSTANT TElement etl::private_bitset::bitset_common< Active_Bits, TElement >::Top_Mask

Macro Definition Documentation

◆ ETL_STR

#define ETL_STR ( x)
Value:
x

◆ ETL_STRL

#define ETL_STRL ( x)
Value:
x

◆ ETL_STRU

#define ETL_STRU ( x)
Value:
x

◆ ETL_STRu

#define ETL_STRu ( x)
Value:
x

Function Documentation

◆ compare_bitset_spans()

template<typename TLhsSpan, typename TRhsSpan>
bool etl::private_bitset::compare_bitset_spans ( const TLhsSpan & lhs_span,
const TRhsSpan & rhs_span )

Compare bitset spans. Assumes that the lhs span's element type is larger than rhs's.