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

Owning proxy returned by co_await read_buffer.transfer(). More...

#include <buffers.hpp>

Public Types

using value_type = T
 

Public Member Functions

T const & get () const
 Access the referenced value.
 
T get_release ()
 Copy the value and release the read epoch in one call.
 
 operator T const & () const
 
T const * operator-> () const
 
OwningReadAccessProxy & operator= (OwningReadAccessProxy &&) noexcept=delete
 
OwningReadAccessProxy & operator= (OwningReadAccessProxy const &)=delete
 
 OwningReadAccessProxy ()=delete
 
 OwningReadAccessProxy (OwningReadAccessProxy &&) noexcept=default
 
 OwningReadAccessProxy (OwningReadAccessProxy const &)=delete
 
void release () noexcept
 Release the read epoch held by this proxy.
 

Friends

class OwningReadAwaiter< T >
 
class ReadBuffer< T >
 
class ReadMaybeAwaiter< T >
 
class ReadOrCancelAwaiter< T >
 

Detailed Description

template<typename T>
class uni20::async::OwningReadAccessProxy< T >

Owning proxy returned by co_await read_buffer.transfer().

This keeps the read epoch alive until the proxy is released or destroyed.

Member Typedef Documentation

◆ value_type

template<typename T >
using uni20::async::OwningReadAccessProxy< T >::value_type = T

Constructor & Destructor Documentation

◆ OwningReadAccessProxy() [1/3]

template<typename T >
uni20::async::OwningReadAccessProxy< T >::OwningReadAccessProxy ( )
delete

◆ OwningReadAccessProxy() [2/3]

template<typename T >
uni20::async::OwningReadAccessProxy< T >::OwningReadAccessProxy ( OwningReadAccessProxy< T > const &  )
delete

◆ OwningReadAccessProxy() [3/3]

template<typename T >
uni20::async::OwningReadAccessProxy< T >::OwningReadAccessProxy ( OwningReadAccessProxy< T > &&  )
defaultnoexcept

Member Function Documentation

◆ get()

template<typename T >
T const & uni20::async::OwningReadAccessProxy< T >::get ( ) const
inline

Access the referenced value.

Returns
Const reference to the buffered value.

◆ get_release()

template<typename T >
T uni20::async::OwningReadAccessProxy< T >::get_release ( )
inline

Copy the value and release the read epoch in one call.

Returns
A copy of the buffered value.

◆ operator T const &()

template<typename T >
uni20::async::OwningReadAccessProxy< T >::operator T const & ( ) const
inline

◆ operator->()

template<typename T >
T const * uni20::async::OwningReadAccessProxy< T >::operator-> ( ) const
inline

◆ operator=() [1/2]

template<typename T >
OwningReadAccessProxy & uni20::async::OwningReadAccessProxy< T >::operator= ( OwningReadAccessProxy< T > &&  )
deletenoexcept

◆ operator=() [2/2]

template<typename T >
OwningReadAccessProxy & uni20::async::OwningReadAccessProxy< T >::operator= ( OwningReadAccessProxy< T > const &  )
delete

◆ release()

template<typename T >
void uni20::async::OwningReadAccessProxy< T >::release ( )
inlinenoexcept

Release the read epoch held by this proxy.

Friends And Related Symbol Documentation

◆ OwningReadAwaiter< T >

template<typename T >
friend class OwningReadAwaiter< T >
friend

◆ ReadBuffer< T >

template<typename T >
friend class ReadBuffer< T >
friend

◆ ReadMaybeAwaiter< T >

template<typename T >
friend class ReadMaybeAwaiter< T >
friend

◆ ReadOrCancelAwaiter< T >

template<typename T >
friend class ReadOrCancelAwaiter< T >
friend

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