Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
uni20::GeneratedLayout::mapping< Extents > Class Template Reference

#include <generated_layout.hpp>

Public Types

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

Public Member Functions

UNI20_HOST_DEVICE constexpr auto extents () const noexcept -> extents_type const &
 Return the generated value's logical extents.
 
UNI20_HOST_DEVICE constexpr bool is_exhaustive () const noexcept
 
UNI20_HOST_DEVICE constexpr bool is_strided () const noexcept
 
UNI20_HOST_DEVICE constexpr bool is_unique () const noexcept
 
UNI20_HOST_DEVICE constexpr mapping ()=default
 
UNI20_HOST_DEVICE constexpr mapping (extents_type const &extents) noexcept
 Construct a synthetic mapping over the supplied logical extents.
 
template<class... Indices>
requires (sizeof...(Indices) == extents_type::rank() && (std::is_convertible_v<Indices, index_type> && ...))
UNI20_HOST_DEVICE constexpr auto operator() (Indices... indices) const noexcept -> index_type
 Encode a logical index as an accessor offset.
 
UNI20_HOST_DEVICE constexpr auto required_span_size () const noexcept -> index_type
 Return the number of synthetic offsets in the logical index space.
 

Static Public Member Functions

static UNI20_HOST_DEVICE constexpr bool is_always_exhaustive () noexcept
 
static UNI20_HOST_DEVICE constexpr bool is_always_strided () noexcept
 
static UNI20_HOST_DEVICE constexpr bool is_always_unique () noexcept
 

Friends

UNI20_HOST_DEVICE constexpr bool operator== (mapping const &, mapping const &)=default
 

Member Typedef Documentation

◆ extents_type

template<class Extents >
using uni20::GeneratedLayout::mapping< Extents >::extents_type = Extents

◆ index_type

template<class Extents >
using uni20::GeneratedLayout::mapping< Extents >::index_type = typename extents_type::index_type

◆ layout_type

template<class Extents >
using uni20::GeneratedLayout::mapping< Extents >::layout_type = GeneratedLayout

◆ rank_type

template<class Extents >
using uni20::GeneratedLayout::mapping< Extents >::rank_type = typename extents_type::rank_type

◆ size_type

template<class Extents >
using uni20::GeneratedLayout::mapping< Extents >::size_type = typename extents_type::size_type

Constructor & Destructor Documentation

◆ mapping() [1/2]

template<class Extents >
UNI20_HOST_DEVICE constexpr uni20::GeneratedLayout::mapping< Extents >::mapping ( )
constexprdefault

◆ mapping() [2/2]

template<class Extents >
UNI20_HOST_DEVICE constexpr uni20::GeneratedLayout::mapping< Extents >::mapping ( extents_type const &  extents)
inlineexplicitconstexprnoexcept

Construct a synthetic mapping over the supplied logical extents.

Member Function Documentation

◆ extents()

template<class Extents >
UNI20_HOST_DEVICE constexpr auto uni20::GeneratedLayout::mapping< Extents >::extents ( ) const -> extents_type const&
inlineconstexprnoexcept

Return the generated value's logical extents.

◆ is_always_exhaustive()

template<class Extents >
static UNI20_HOST_DEVICE constexpr bool uni20::GeneratedLayout::mapping< Extents >::is_always_exhaustive ( )
inlinestaticconstexprnoexcept

◆ is_always_strided()

template<class Extents >
static UNI20_HOST_DEVICE constexpr bool uni20::GeneratedLayout::mapping< Extents >::is_always_strided ( )
inlinestaticconstexprnoexcept

◆ is_always_unique()

template<class Extents >
static UNI20_HOST_DEVICE constexpr bool uni20::GeneratedLayout::mapping< Extents >::is_always_unique ( )
inlinestaticconstexprnoexcept

◆ is_exhaustive()

template<class Extents >
UNI20_HOST_DEVICE constexpr bool uni20::GeneratedLayout::mapping< Extents >::is_exhaustive ( ) const
inlineconstexprnoexcept

◆ is_strided()

template<class Extents >
UNI20_HOST_DEVICE constexpr bool uni20::GeneratedLayout::mapping< Extents >::is_strided ( ) const
inlineconstexprnoexcept

◆ is_unique()

template<class Extents >
UNI20_HOST_DEVICE constexpr bool uni20::GeneratedLayout::mapping< Extents >::is_unique ( ) const
inlineconstexprnoexcept

◆ operator()()

template<class Extents >
template<class... Indices>
requires (sizeof...(Indices) == extents_type::rank() && (std::is_convertible_v<Indices, index_type> && ...))
UNI20_HOST_DEVICE constexpr auto uni20::GeneratedLayout::mapping< Extents >::operator() ( Indices...  indices) const -> index_type
inlineconstexprnoexcept

Encode a logical index as an accessor offset.

◆ required_span_size()

template<class Extents >
UNI20_HOST_DEVICE constexpr auto uni20::GeneratedLayout::mapping< Extents >::required_span_size ( ) const -> index_type
inlineconstexprnoexcept

Return the number of synthetic offsets in the logical index space.

Friends And Related Symbol Documentation

◆ operator==

template<class Extents >
UNI20_HOST_DEVICE constexpr bool operator== ( mapping< Extents > const &  ,
mapping< Extents > const &   
)
friend

The documentation for this class was generated from the following file: