WarpX
Public Member Functions | List of all members
ParserWrapper< N > Struct Template Reference

The ParserWrapper struct is constructed to safely use the GpuParser class that can essentially be though of as a raw pointer. The GpuParser does not have an explicit destructor and the AddPlasma subroutines handle the GpuParser in a safe way. The ParserWrapper struct is used to avoid memory leak in the EB parser functions. More...

#include <WarpXParserWrapper.H>

Inheritance diagram for ParserWrapper< N >:
GpuParser< N >

Public Member Functions

 ParserWrapper (ParserWrapper< N > const &)=delete
 
void operator= (ParserWrapper< N > const &)=delete
 
 ~ParserWrapper ()
 
void operator() () const =delete
 
HostDeviceParser< N > getParser () const
 
- Public Member Functions inherited from GpuParser< N >
 GpuParser (WarpXParser const &wp)
 
 GpuParser (GpuParser< N > const &)=delete
 
 GpuParser (GpuParser< N > &&)=delete
 
void operator= (GpuParser< N > const &)=delete
 
void operator= (GpuParser< N > &&)=delete
 
void clear ()
 
template<typename... Ts>
AMREX_GPU_HOST_DEVICE std::enable_if_t< sizeof...(Ts)==N and amrex::Same< amrex::Real, Ts... >::value, amrex::Real > operator() (Ts... var) const noexcept
 
void init_gpu_parser (WarpXParser const &wp)
 

Additional Inherited Members

- Protected Attributes inherited from GpuParser< N >
struct wp_parser ** m_parser
 
amrex::GpuArray< amrex::Real, N > * m_var
 
int nthreads
 

Detailed Description

template<int N>
struct ParserWrapper< N >

The ParserWrapper struct is constructed to safely use the GpuParser class that can essentially be though of as a raw pointer. The GpuParser does not have an explicit destructor and the AddPlasma subroutines handle the GpuParser in a safe way. The ParserWrapper struct is used to avoid memory leak in the EB parser functions.

Constructor & Destructor Documentation

◆ ParserWrapper()

template<int N>
ParserWrapper< N >::ParserWrapper ( ParserWrapper< N > const &  )
delete

◆ ~ParserWrapper()

template<int N>
ParserWrapper< N >::~ParserWrapper ( )
inline

Member Function Documentation

◆ getParser()

template<int N>
HostDeviceParser<N> ParserWrapper< N >::getParser ( ) const
inline

◆ operator()()

template<int N>
void ParserWrapper< N >::operator() ( ) const
delete

◆ operator=()

template<int N>
void ParserWrapper< N >::operator= ( ParserWrapper< N > const &  )
delete

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