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

Writable proxy for one structural diagonal or off-diagonal element. More...

#include <diagonal_accessor.hpp>

Public Member Functions

UNI20_HOST_DEVICE constexpr diagonal_reference () noexcept=default
 
UNI20_HOST_DEVICE constexpr diagonal_reference (ElementType *element) noexcept
 
UNI20_HOST_DEVICE constexpr operator ElementType () const noexcept
 
UNI20_HOST_DEVICE constexpr auto operator= (diagonal_reference const &other) noexcept -> diagonal_reference &
 
UNI20_HOST_DEVICE constexpr auto operator= (ElementType const &value) noexcept -> diagonal_reference &
 

Detailed Description

template<class ElementType>
class uni20::diagonal_reference< ElementType >

Writable proxy for one structural diagonal or off-diagonal element.

Reading an off-diagonal proxy returns zero. Assigning an off-diagonal proxy has the precondition that the assigned value is zero, preserving the compressed diagonal representation.

Template Parameters
ElementTypeStored non-const element type.

Constructor & Destructor Documentation

◆ diagonal_reference() [1/2]

template<class ElementType >
UNI20_HOST_DEVICE constexpr uni20::diagonal_reference< ElementType >::diagonal_reference ( )
constexprdefaultnoexcept

◆ diagonal_reference() [2/2]

template<class ElementType >
UNI20_HOST_DEVICE constexpr uni20::diagonal_reference< ElementType >::diagonal_reference ( ElementType *  element)
inlineexplicitconstexprnoexcept

Member Function Documentation

◆ operator ElementType()

template<class ElementType >
UNI20_HOST_DEVICE constexpr uni20::diagonal_reference< ElementType >::operator ElementType ( ) const
inlineconstexprnoexcept

◆ operator=() [1/2]

template<class ElementType >
UNI20_HOST_DEVICE constexpr auto uni20::diagonal_reference< ElementType >::operator= ( diagonal_reference< ElementType > const &  other) -> diagonal_reference&
inlineconstexprnoexcept

◆ operator=() [2/2]

template<class ElementType >
UNI20_HOST_DEVICE constexpr auto uni20::diagonal_reference< ElementType >::operator= ( ElementType const &  value) -> diagonal_reference&
inlineconstexprnoexcept

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