muda
Public Types | Public Member Functions | Protected Types | Protected Attributes | List of all members
muda::VarViewBase< IsConst, T > Class Template Reference
Inheritance diagram for muda::VarViewBase< IsConst, T >:
Inheritance graph
[legend]
Collaboration diagram for muda::VarViewBase< IsConst, T >:
Collaboration graph
[legend]

Public Types

using ConstView = VarViewBase< true, T >
 
using NonConstView = VarViewBase< false, T >
 
using ThisView = VarViewBase< IsConst, T >
 
using ConstViewer = CDense< T >
 
using NonConstViewer = Dense< T >
 
using ThisViewer = typename std::conditional_t< IsConst, ConstViewer, NonConstViewer >
 
using value_type = T
 
using reference = T &
 
using pointer = T *
 
using iterator_category = std::random_access_iterator_tag
 
using difference_type = size_t
 
- Public Types inherited from muda::ViewBase< IsConst >
using auto_const_t = std::conditional_t< IsConst, const T, T >
 
using non_const_enable_t = std::enable_if_t< IsNonConst, T >
 

Public Member Functions

MUDA_GENERIC VarViewBase (auto_const_t< T > *data) MUDA_NOEXCEPT
 
MUDA_GENERIC auto_const_t< T > * data () MUDA_NOEXCEPT
 
MUDA_GENERIC const T * data () const MUDA_NOEXCEPT
 
MUDA_GENERIC auto cviewer () const MUDA_NOEXCEPT
 
MUDA_GENERIC auto viewer () MUDA_NOEXCEPT
 
MUDA_GENERIC reference operator* ()
 
MUDA_GENERIC auto_const_t< T > & operator[] (int i)
 
MUDA_GENERIC const T & operator[] (int i) const
 

Protected Types

template<typename U >
using auto_const_t = typename Base::template auto_const_t< U >
 

Protected Attributes

auto_const_t< T > * m_data = nullptr
 

Additional Inherited Members

- Static Public Attributes inherited from muda::ViewBase< IsConst >
static constexpr bool IsConst
 
static constexpr bool IsNonConst
 

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