Embedded Template Library 1.0
Loading...
Searching...
No Matches
span.h File Reference
#include "platform.h"
#include "error_handler.h"
#include "exception.h"
#include "alignment.h"
#include "iterator.h"
#include "algorithm.h"
#include "circular_iterator.h"
#include "nullptr.h"
#include "hash.h"
#include "type_traits.h"
#include "integral_limits.h"
#include "memory.h"
#include "array.h"
#include "byte.h"
#include "static_assert.h"
#include "private/dynamic_extent.h"

Go to the source code of this file.

Classes

struct  etl::is_std_array< T >
struct  etl::is_std_array< const T >
struct  etl::is_std_array< volatile T >
struct  etl::is_std_array< const volatile T >
struct  etl::is_etl_array< T >
struct  etl::is_etl_array< etl::array< T, N > >
struct  etl::is_etl_array< const T >
struct  etl::is_etl_array< volatile T >
struct  etl::is_etl_array< const volatile T >
class  etl::span_tag
class  etl::span_exception
class  etl::span_alignment_exception
class  etl::span_size_mismatch
class  etl::span_out_of_range
class  etl::span< T, Extent >
 Span - Fixed Extent. More...
class  etl::span< T, etl::dynamic_extent >
 Span - Dynamic Extent. More...

Namespaces

namespace  etl
 bitset_ext

Functions

template<typename T, size_t Extent>
ETL_CONSTEXPR span< T, Extent > etl::make_span (T(&data)[Extent])
template<typename T>
ETL_CONSTEXPR span< typename T::value_type, etl::dynamic_extent > etl::make_span (T &data)
template<typename T>
ETL_CONSTEXPR span< typename T::value_type const, etl::dynamic_extent > etl::make_span (const T &data)
template<typename T1, size_t N1, typename T2, size_t N2>
ETL_NODISCARD ETL_CONSTEXPR etl::enable_if< etl::is_same< typenameetl::remove_cv< T1 >::type, typenameetl::remove_cv< T2 >::type >::value, bool >::type etl::operator== (const etl::span< T1, N1 > &lhs, const etl::span< T2, N2 > &rhs) ETL_NOEXCEPT
 Compare two spans for equality.
template<typename T1, size_t N1, typename T2, size_t N2>
ETL_NODISCARD ETL_CONSTEXPR bool etl::operator!= (const etl::span< T1, N1 > &lhs, const etl::span< T2, N2 > &rhs) ETL_NOEXCEPT
 Compare two spans for inequality.
template<typename T1, size_t N1, typename T2, size_t N2>
etl::enable_if< etl::is_same< typenameetl::remove_cv< T1 >::type, typenameetl::remove_cv< T2 >::type >::value, bool >::type etl::equal (const etl::span< T1, N1 > &lhs, const etl::span< T2, N2 > &rhs)
template<typename T1, size_t N1, typename T2, size_t N2>
etl::enable_if< etl::is_same< typenameetl::remove_cv< T1 >::type, typenameetl::remove_cv< T2 >::type >::value &&!etl::is_const< T2 >::value, bool >::type etl::copy (const etl::span< T1, N1 > &src, const etl::span< T2, N2 > &dst)
template<class T, size_t Size>
span< const byte,(Size==etl::dynamic_extent) ?(etl::dynamic_extent) :(Size *sizeof(T))> etl::as_bytes (span< T, Size > s) ETL_NOEXCEPT
 Template deduction guides.
template<class T, size_t Size>
span< byte,(Size==etl::dynamic_extent) ?(etl::dynamic_extent) :(Size *sizeof(T))> etl::as_writable_bytes (span< T, Size > s) ETL_NOEXCEPT
 Obtains a view to the byte representation of the elements of the span s.

Variables

template<typename T, size_t Extent>
ETL_CONSTANT size_t etl::span< T, Extent >::extent
template<typename T>
ETL_CONSTANT size_t etl::span< T, etl::dynamic_extent >::extent