Opm::gpuistl::ValueAsPointer< T > Class Template Reference

A value stored with a pointer interface. Can be used to wrap objects in GPU kernels that were otherwise stored as pointers. More...

#include <gpu_smart_pointer.hpp>

Public Types

using element_type = T
 

Public Member Functions

 ValueAsPointer (const T &t)
 
OPM_HOST_DEVICE T * operator-> ()
 
OPM_HOST_DEVICE T * get ()
 
OPM_HOST_DEVICE const T * operator-> () const
 
OPM_HOST_DEVICE const T * get () const
 
OPM_HOST_DEVICE T & operator* ()
 
OPM_HOST_DEVICE const T & operator* () const
 

Detailed Description

template<class T>
class Opm::gpuistl::ValueAsPointer< T >

A value stored with a pointer interface. Can be used to wrap objects in GPU kernels that were otherwise stored as pointers.

Member Typedef Documentation

◆ element_type

template<class T >
using Opm::gpuistl::ValueAsPointer< T >::element_type = T

Constructor & Destructor Documentation

◆ ValueAsPointer()

template<class T >
Opm::gpuistl::ValueAsPointer< T >::ValueAsPointer ( const T &  t)
inline

Member Function Documentation

◆ get() [1/2]

template<class T >
OPM_HOST_DEVICE T * Opm::gpuistl::ValueAsPointer< T >::get ( )
inline

◆ get() [2/2]

template<class T >
OPM_HOST_DEVICE const T * Opm::gpuistl::ValueAsPointer< T >::get ( ) const
inline

◆ operator*() [1/2]

template<class T >
OPM_HOST_DEVICE T & Opm::gpuistl::ValueAsPointer< T >::operator* ( )
inline

◆ operator*() [2/2]

template<class T >
OPM_HOST_DEVICE const T & Opm::gpuistl::ValueAsPointer< T >::operator* ( ) const
inline

◆ operator->() [1/2]

template<class T >
OPM_HOST_DEVICE T * Opm::gpuistl::ValueAsPointer< T >::operator-> ( )
inline

◆ operator->() [2/2]

template<class T >
OPM_HOST_DEVICE const T * Opm::gpuistl::ValueAsPointer< T >::operator-> ( ) const
inline

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