Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
uni20::const_accessor_adaptor< Accessor > Class Template Reference

Adaptor that exposes a mutable lvalue accessor as read-only. More...

#include <concepts.hpp>

Public Types

using data_handle_type = typename Accessor::data_handle_type
 
using element_type = typename Accessor::element_type const
 
using offset_policy = const_accessor_adaptor
 
using offset_type = span_offset_t< Accessor >
 
using reference = element_type &
 

Public Member Functions

UNI20_HOST_DEVICE constexpr reference access (data_handle_type p, offset_type i) const
 
UNI20_HOST_DEVICE constexpr const_accessor_adaptor (Accessor const &to_be_wrapped)
 
UNI20_HOST_DEVICE constexpr data_handle_type offset (data_handle_type p, offset_type i) const
 

Detailed Description

template<AccessorPolicy Accessor>
requires std::is_same_v<typename Accessor::reference, typename Accessor::element_type&>
class uni20::const_accessor_adaptor< Accessor >

Adaptor that exposes a mutable lvalue accessor as read-only.

Example: to turn a mutable accessor returning T& into a read-only accessor returning T const&, use

Adaptor that exposes a mutable lvalue accessor as read-only.
Definition mdspan/concepts.hpp:121
UNI20_HOST_DEVICE constexpr reference access(data_handle_type p, offset_type i) const
Definition mdspan/concepts.hpp:131
Template Parameters
AccessorAn AccessorPolicy whose reference type will be adapted.

Member Typedef Documentation

◆ data_handle_type

template<AccessorPolicy Accessor>
using uni20::const_accessor_adaptor< Accessor >::data_handle_type = typename Accessor::data_handle_type

◆ element_type

template<AccessorPolicy Accessor>
using uni20::const_accessor_adaptor< Accessor >::element_type = typename Accessor::element_type const

◆ offset_policy

template<AccessorPolicy Accessor>
using uni20::const_accessor_adaptor< Accessor >::offset_policy = const_accessor_adaptor

◆ offset_type

template<AccessorPolicy Accessor>
using uni20::const_accessor_adaptor< Accessor >::offset_type = span_offset_t<Accessor>

◆ reference

template<AccessorPolicy Accessor>
using uni20::const_accessor_adaptor< Accessor >::reference = element_type&

Constructor & Destructor Documentation

◆ const_accessor_adaptor()

template<AccessorPolicy Accessor>
UNI20_HOST_DEVICE constexpr uni20::const_accessor_adaptor< Accessor >::const_accessor_adaptor ( Accessor const &  to_be_wrapped)
inlineconstexpr

Member Function Documentation

◆ access()

template<AccessorPolicy Accessor>
UNI20_HOST_DEVICE constexpr reference uni20::const_accessor_adaptor< Accessor >::access ( data_handle_type  p,
offset_type  i 
) const
inlineconstexpr

◆ offset()

template<AccessorPolicy Accessor>
UNI20_HOST_DEVICE constexpr data_handle_type uni20::const_accessor_adaptor< Accessor >::offset ( data_handle_type  p,
offset_type  i 
) const
inlineconstexpr

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