MFEM v4.10.0
Finite element discretization library
Loading...
Searching...
No Matches
mfem::MemoryView< ViewedType > Class Template Reference

Type that enables viewing Vector objects as Array<real_t> objects and vice versa. Currently, viewing methods are provided only for the first direction, see Vector::GetArrayView(). More...

#include <mem_manager.hpp>

Public Member Functions

 MemoryView (const MemoryView &)=delete
 
 MemoryView (MemoryView &&)=delete
 
MemoryViewoperator= (const MemoryView &)=delete
 
MemoryViewoperator= (MemoryView &&)=delete
 
 ~MemoryView ()
 
 operator ViewedType & ()
 Implicit conversion function to ViewedType &.
 
ViewedType & operator* ()
 Return the view object by reference, ViewedType &.
 

Protected Types

using T
 
using MemoryType
 
using SizeType
 

Protected Member Functions

 MemoryView (MemoryType &mem, SizeType &size)
 

Protected Attributes

std::remove_cv_t< ViewedType > view
 
MemoryTypebase_mem
 
SizeTypebase_size
 

Static Protected Attributes

static constexpr bool is_const_view = std::is_const_v<ViewedType>
 

Friends

class Vector
 

Detailed Description

template<typename ViewedType>
class mfem::MemoryView< ViewedType >

Type that enables viewing Vector objects as Array<real_t> objects and vice versa. Currently, viewing methods are provided only for the first direction, see Vector::GetArrayView().

Definition at line 622 of file mem_manager.hpp.

Member Typedef Documentation

◆ MemoryType

template<typename ViewedType >
using mfem::MemoryView< ViewedType >::MemoryType
protected
Initial value:
std::conditional_t<is_const_view, const Memory<T>, Memory<T>>

Definition at line 630 of file mem_manager.hpp.

◆ SizeType

template<typename ViewedType >
using mfem::MemoryView< ViewedType >::SizeType
protected
Initial value:
std::conditional_t<is_const_view, const int, int>

Definition at line 632 of file mem_manager.hpp.

◆ T

template<typename ViewedType >
using mfem::MemoryView< ViewedType >::T
protected
Initial value:
std::remove_reference_t<decltype((std::remove_cv_t<ViewedType> {})[0])>

Definition at line 628 of file mem_manager.hpp.

Constructor & Destructor Documentation

◆ MemoryView() [1/3]

template<typename ViewedType >
mfem::MemoryView< ViewedType >::MemoryView ( MemoryType & mem,
SizeType & size )
inlineprotected

Definition at line 640 of file mem_manager.hpp.

◆ MemoryView() [2/3]

template<typename ViewedType >
mfem::MemoryView< ViewedType >::MemoryView ( const MemoryView< ViewedType > & )
delete

◆ MemoryView() [3/3]

template<typename ViewedType >
mfem::MemoryView< ViewedType >::MemoryView ( MemoryView< ViewedType > && )
delete

◆ ~MemoryView()

template<typename ViewedType >
mfem::MemoryView< ViewedType >::~MemoryView ( )
inline

Definition at line 655 of file mem_manager.hpp.

Member Function Documentation

◆ operator ViewedType &()

template<typename ViewedType >
mfem::MemoryView< ViewedType >::operator ViewedType & ( )
inline

Implicit conversion function to ViewedType &.

Implicit conversion may not work automatically when the returned type is used for template parameter deduction. In such cases, use the prefix operator*() to explicitly perform the conversion to ViewedType &.

Definition at line 676 of file mem_manager.hpp.

◆ operator*()

template<typename ViewedType >
ViewedType & mfem::MemoryView< ViewedType >::operator* ( )
inline

Return the view object by reference, ViewedType &.

This is an explicit way to return the view object, alternative to the implicit conversion function to ViewedType &.

Definition at line 682 of file mem_manager.hpp.

◆ operator=() [1/2]

template<typename ViewedType >
MemoryView & mfem::MemoryView< ViewedType >::operator= ( const MemoryView< ViewedType > & )
delete

◆ operator=() [2/2]

template<typename ViewedType >
MemoryView & mfem::MemoryView< ViewedType >::operator= ( MemoryView< ViewedType > && )
delete

Friends And Related Symbol Documentation

◆ Vector

template<typename ViewedType >
friend class Vector
friend

Definition at line 624 of file mem_manager.hpp.

Member Data Documentation

◆ base_mem

template<typename ViewedType >
MemoryType& mfem::MemoryView< ViewedType >::base_mem
protected

Definition at line 636 of file mem_manager.hpp.

◆ base_size

template<typename ViewedType >
SizeType& mfem::MemoryView< ViewedType >::base_size
protected

Definition at line 637 of file mem_manager.hpp.

◆ is_const_view

template<typename ViewedType >
bool mfem::MemoryView< ViewedType >::is_const_view = std::is_const_v<ViewedType>
staticconstexprprotected

Definition at line 627 of file mem_manager.hpp.

◆ view

template<typename ViewedType >
std::remove_cv_t<ViewedType> mfem::MemoryView< ViewedType >::view
protected

Definition at line 635 of file mem_manager.hpp.


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