Thorin 1.9.0
The Higher ORder INtermediate representation
Loading...
Searching...
No Matches
span.h File Reference
#include <span>
Include dependency graph for span.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  thorin::Span< T, N >
 This is a thin wrapper for std::span<T, N> with the following additional features: More...
 
struct  std::tuple_size< thorin::Span< T, N > >
 
struct  std::tuple_element< I, thorin::Span< T, N > >
 

Namespaces

namespace  thorin
 
namespace  std
 

Concepts

concept  thorin::Vectorlike
 Something which behaves like std::vector or std::array.
 

Typedefs

template<class T , size_t N = std::dynamic_extent>
using thorin::View = Span< const T, N >
 

Functions

Deduction Guides

{@

template<class I , class E >
 thorin::Span (I, E) -> Span< std::remove_reference_t< std::iter_reference_t< I > > >
 
template<class T , size_t N>
 thorin::Span (T(&)[N]) -> Span< T, N >
 
template<class T , size_t N>
 thorin::Span (std::array< T, N > &) -> Span< T, N >
 
template<class T , size_t N>
 thorin::Span (const std::array< T, N > &) -> Span< const T, N >
 
template<class R >
 thorin::Span (R &&) -> Span< std::remove_reference_t< std::ranges::range_reference_t< R > > >
 
template<Vectorlike Vec>
 thorin::Span (Vec &) -> Span< typename Vec::value_type, std::dynamic_extent >
 
template<Vectorlike Vec>
 thorin::Span (const Vec &) -> Span< const typename Vec::value_type, std::dynamic_extent >
 
Structured Binding Support for Span
template<size_t I, class T , size_t N>
constexpr decltype(auto) std::get (thorin::Span< T, N > span)
 

Class Documentation

◆ std::tuple_element< I, thorin::Span< T, N > >

struct std::tuple_element< I, thorin::Span< T, N > >
template<size_t I, class T, size_t N>
struct std::tuple_element< I, thorin::Span< T, N > >

Definition at line 108 of file span.h.

Class Members
typedef typename reference type