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

Non-owning tensor view whose immediate or deferred metadata presents conjugated values. More...

#include <conjugate.hpp>

Public Types

using async_alias_tag = void
 Marks this descriptor as a structurally copied async alias.
 
using storage_policy = tensor_storage_policy_t< tensor_type >
 
using tensor_type = std::remove_cvref_t< Tensor >
 

Public Member Functions

constexpr decltype(auto) backend_selector () const noexcept(noexcept(std::declval< tensor_type const & >().backend_selector()))
 Return the underlying tensor's backend selector.
 
constexpr tensor_type const & base () const noexcept
 Return the tensor referenced by this view.
 
constexpr ConjugatedTensorView (tensor_type const &tensor) noexcept
 Bind a lazy conjugating view to an existing tensor.
 
constexpr ConjugatedTensorView (tensor_type const *tensor) noexcept
 Bind a conjugating view to externally retained tensor storage.
 
constexpr decltype(auto) extent (std::size_t axis) const noexcept(noexcept(std::declval< tensor_type const & >().extent(axis)))
 Return one underlying tensor extent.
 
constexpr decltype(auto) extents () const noexcept(noexcept(std::declval< tensor_type const & >().extents()))
 Return the underlying tensor extents.
 
constexpr auto mdspan () const noexcept(noexcept(uni20::conj(std::declval< tensor_type const & >().mdspan())))
 Resolve the conjugating mdspan view.
 
constexpr auto mdspec () const noexcept(noexcept(uni20::conj(mdspec_of(std::declval< tensor_type const & >()))))
 Return conjugated immediate or deferred multidimensional metadata.
 

Detailed Description

template<TensorView Tensor>
class uni20::ConjugatedTensorView< Tensor >

Non-owning tensor view whose immediate or deferred metadata presents conjugated values.

The view preserves tensor metadata and backend selection while delegating value transformation to conjugated_accessor. It is read-only and may not outlive the referenced tensor.

Member Typedef Documentation

◆ async_alias_tag

template<TensorView Tensor>
using uni20::ConjugatedTensorView< Tensor >::async_alias_tag = void

Marks this descriptor as a structurally copied async alias.

◆ storage_policy

template<TensorView Tensor>
using uni20::ConjugatedTensorView< Tensor >::storage_policy = tensor_storage_policy_t<tensor_type>

◆ tensor_type

template<TensorView Tensor>
using uni20::ConjugatedTensorView< Tensor >::tensor_type = std::remove_cvref_t<Tensor>

Constructor & Destructor Documentation

◆ ConjugatedTensorView() [1/2]

template<TensorView Tensor>
constexpr uni20::ConjugatedTensorView< Tensor >::ConjugatedTensorView ( tensor_type const &  tensor)
inlineexplicitconstexprnoexcept

Bind a lazy conjugating view to an existing tensor.

◆ ConjugatedTensorView() [2/2]

template<TensorView Tensor>
constexpr uni20::ConjugatedTensorView< Tensor >::ConjugatedTensorView ( tensor_type const *  tensor)
inlineexplicitconstexprnoexcept

Bind a conjugating view to externally retained tensor storage.

Warning
The pointer may identify reserved but unconstructed storage; callers must not resolve the view until the tensor is constructed.

Member Function Documentation

◆ backend_selector()

template<TensorView Tensor>
constexpr decltype(auto) uni20::ConjugatedTensorView< Tensor >::backend_selector ( ) const
inlineconstexprnoexcept

Return the underlying tensor's backend selector.

◆ base()

template<TensorView Tensor>
constexpr tensor_type const & uni20::ConjugatedTensorView< Tensor >::base ( ) const
inlineconstexprnoexcept

Return the tensor referenced by this view.

◆ extent()

template<TensorView Tensor>
constexpr decltype(auto) uni20::ConjugatedTensorView< Tensor >::extent ( std::size_t  axis) const
inlineconstexprnoexcept

Return one underlying tensor extent.

◆ extents()

template<TensorView Tensor>
constexpr decltype(auto) uni20::ConjugatedTensorView< Tensor >::extents ( ) const
inlineconstexprnoexcept

Return the underlying tensor extents.

◆ mdspan()

template<TensorView Tensor>
constexpr auto uni20::ConjugatedTensorView< Tensor >::mdspan ( ) const
inlineconstexprnoexcept

Resolve the conjugating mdspan view.

◆ mdspec()

template<TensorView Tensor>
constexpr auto uni20::ConjugatedTensorView< Tensor >::mdspec ( ) const
inlineconstexprnoexcept

Return conjugated immediate or deferred multidimensional metadata.


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