tetl 0.1.0
Embedded Template Library
Loading...
Searching...
No Matches
layout_stride::mapping< Extents > Struct Template Reference

#include <layout_stride.hpp>

Public Types

using extents_type = Extents
 
using index_type = typename extents_type::index_type
 
using layout_type = layout_stride
 
using rank_type = typename extents_type::rank_type
 
using size_type = typename extents_type::size_type
 

Public Member Functions

constexpr mapping () noexcept=default
 
template<typename OtherIndexType >
requires ( is_convertible_v<OtherIndexType const&, index_type> and is_nothrow_constructible_v<index_type, OtherIndexType const&> )
constexpr mapping (extents_type const &ext, array< OtherIndexType, rank > const &s) noexcept
 
template<typename OtherIndexType >
requires (is_convertible_v<OtherIndexType const&, index_type> and is_nothrow_constructible_v<index_type, OtherIndexType const&>)
constexpr mapping (extents_type const &ext, span< OtherIndexType, rank > s) noexcept
 
constexpr mapping (mapping const &) noexcept=default
 
template<typename StridedLayoutMapping >
constexpr explicit (false) mapping(StridedLayoutMapping const &) noexcept
 
constexpr auto extents () const noexcept -> extents_type const &
 
constexpr auto is_exhaustive () const noexcept -> bool
 
template<typename... Indices>
requires ( (sizeof...(Indices) == rank) // and (is_convertible_v<Indices, index_type> and ...) // and (is_nothrow_constructible_v<index_type, Indices> and ...) )
constexpr auto operator() (Indices... is) const noexcept -> index_type
 
constexpr auto operator= (mapping const &) noexcept -> mapping &=default
 
constexpr auto required_span_size () const noexcept -> index_type
 
constexpr auto stride (rank_type i) const noexcept -> index_type
 
constexpr auto strides () const noexcept -> array< index_type, rank >
 

Static Public Member Functions

static constexpr auto is_always_exhaustive () noexcept -> bool
 
static constexpr auto is_always_strided () noexcept -> bool
 
static constexpr auto is_always_unique () noexcept -> bool
 
static constexpr auto is_strided () noexcept -> bool
 
static constexpr auto is_unique () noexcept -> bool
 

Friends

template<typename OtherMapping >
constexpr auto operator== (mapping const &, OtherMapping const &) noexcept -> bool
 

Member Typedef Documentation

◆ extents_type

◆ index_type

template<typename Extents >
using index_type = typename extents_type::index_type

◆ layout_type

◆ rank_type

template<typename Extents >
using rank_type = typename extents_type::rank_type

◆ size_type

template<typename Extents >
using size_type = typename extents_type::size_type

Constructor & Destructor Documentation

◆ mapping() [1/4]

template<typename Extents >
constexpr mapping ( )
constexprdefaultnoexcept

◆ mapping() [2/4]

template<typename Extents >
constexpr mapping ( mapping< Extents > const )
constexprdefaultnoexcept

◆ mapping() [3/4]

◆ mapping() [4/4]

Member Function Documentation

◆ explicit()

template<typename Extents >
constexpr explicit ( false  ) const &
constexprnoexcept

◆ extents()

template<typename Extents >
constexpr auto extents ( ) const -> extents_type const&
inlineconstexprnoexcept

◆ is_always_exhaustive()

template<typename Extents >
static constexpr auto is_always_exhaustive ( ) -> bool
inlinestaticconstexprnoexcept

◆ is_always_strided()

template<typename Extents >
static constexpr auto is_always_strided ( ) -> bool
inlinestaticconstexprnoexcept

◆ is_always_unique()

template<typename Extents >
static constexpr auto is_always_unique ( ) -> bool
inlinestaticconstexprnoexcept

◆ is_exhaustive()

template<typename Extents >
constexpr auto is_exhaustive ( ) const -> bool
constexprnoexcept

◆ is_strided()

template<typename Extents >
static constexpr auto is_strided ( ) -> bool
inlinestaticconstexprnoexcept

◆ is_unique()

template<typename Extents >
static constexpr auto is_unique ( ) -> bool
inlinestaticconstexprnoexcept

◆ operator()()

template<typename Extents >
template<typename... Indices>
requires ( (sizeof...(Indices) == rank) // and (is_convertible_v<Indices, index_type> and ...) // and (is_nothrow_constructible_v<index_type, Indices> and ...) )
constexpr auto operator() ( Indices...  is) const -> index_type
inlineconstexprnoexcept

◆ operator=()

template<typename Extents >
constexpr auto operator= ( mapping< Extents > const ) -> mapping &=default
constexprdefaultnoexcept

◆ required_span_size()

template<typename Extents >
constexpr auto required_span_size ( ) const -> index_type
constexprnoexcept

◆ stride()

template<typename Extents >
constexpr auto stride ( rank_type  i) const -> index_type
inlineconstexprnoexcept

◆ strides()

template<typename Extents >
constexpr auto strides ( ) const -> array<index_type, rank>
inlineconstexprnoexcept

Friends And Related Symbol Documentation

◆ operator==

template<typename Extents >
template<typename OtherMapping >
constexpr auto operator== ( mapping< Extents > const ,
OtherMapping const  
) -> bool
friend

The documentation for this struct was generated from the following files: