tetl 0.1.0
Embedded Template Library
Loading...
Searching...
No Matches

Range access, primitives, requirements, utilities and adaptors. More...

Concepts

concept  etl::ranges::borrowed_range
 
concept  etl::ranges::range
 
concept  etl::ranges::sized_range
 

Classes

struct  dangling
 

Typedefs

template<etl::ranges::range R>
using borrowed_iterator_t = etl::conditional_t<etl::ranges::borrowed_range<R>, etl::ranges::iterator_t<R>, etl::ranges::dangling>
 
template<typename T>
using iterator_t = decltype(etl::ranges::begin(etl::declval<T&>()))
 
template<etl::ranges::range R>
using range_difference_t = etl::iter_difference_t<etl::ranges::iterator_t<R>>
 
template<etl::ranges::range R>
using range_reference_t = etl::iter_reference_t<etl::ranges::iterator_t<R>>
 
template<etl::ranges::sized_range R>
using range_size_t = decltype(etl::ranges::size(etl::declval<R&>()))
 
template<etl::ranges::range R>
using range_value_t = etl::iter_value_t<etl::ranges::iterator_t<R>>
 
template<etl::ranges::range R>
using sentinel_t = decltype(etl::ranges::end(etl::declval<R&>()))
 

Functions

template<typename T>
constexpr auto decay_copy (T &&t) noexcept(is_nothrow_convertible_v< T, decay_t< T > >) -> decay_t< T >
 

Variables

constexpr auto begin = begin_cpo::fn{}
 
template<typename>
constexpr auto disable_sized_range = false
 
template<typename T>
constexpr bool enable_borrowed_range = false
 
constexpr auto end = end_cpo::fn{}
 
constexpr auto size = size_cpo::fn{}
 

Detailed Description

Range access, primitives, requirements, utilities and adaptors.

Typedef Documentation

◆ borrowed_iterator_t

◆ iterator_t

template<typename T>
using iterator_t = decltype(etl::ranges::begin(etl::declval<T&>()))

◆ range_difference_t

◆ range_reference_t

◆ range_size_t

◆ range_value_t

◆ sentinel_t

template<etl::ranges::range R>
using sentinel_t = decltype(etl::ranges::end(etl::declval<R&>()))

Function Documentation

◆ decay_copy()

template<typename T>
auto decay_copy ( T && t) -> decay_t<T>
constexprnoexcept

Variable Documentation

◆ begin

auto begin = begin_cpo::fn{}
inlineconstexpr

◆ disable_sized_range

template<typename>
auto disable_sized_range = false
inlineconstexpr

◆ enable_borrowed_range

template<typename T>
bool enable_borrowed_range = false
inlineconstexpr

◆ end

auto end = end_cpo::fn{}
inlineconstexpr

◆ size

auto size = size_cpo::fn{}
inlineconstexpr