DFT-EFE
 
Loading...
Searching...
No Matches
dftefe::ksdft::RDM1Access< ValueType, memorySpace > Class Template Reference

Resource Acquisition Is Initialization (RAII) wrapper that temporarily holds the SpectralRep moved out of an RDM1Spectral. On destruction (or returnBack()) the rep is returned via setSpectral(). More...

#include <RDM1Spectral.h>

Public Member Functions

 RDM1Access (RDM1Spectral< ValueType, memorySpace > *owner, std::unique_ptr< SpectralRep< ValueType, memorySpace > > spectral)
 
 RDM1Access (const RDM1Access &)=delete
 
RDM1Accessoperator= (const RDM1Access &)=delete
 
 RDM1Access (RDM1Access &&other) noexcept
 
 ~RDM1Access ()
 
void returnBack ()
 
SpectralRep< ValueType, memorySpace > & getSpectral ()
 

Private Attributes

RDM1Spectral< ValueType, memorySpace > * d_owner
 
std::unique_ptr< SpectralRep< ValueType, memorySpace > > d_spectral
 

Detailed Description

template<typename ValueType, dftefe::utils::MemorySpace memorySpace>
class dftefe::ksdft::RDM1Access< ValueType, memorySpace >

Resource Acquisition Is Initialization (RAII) wrapper that temporarily holds the SpectralRep moved out of an RDM1Spectral. On destruction (or returnBack()) the rep is returned via setSpectral().

Constructor & Destructor Documentation

◆ RDM1Access() [1/3]

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
dftefe::ksdft::RDM1Access< ValueType, memorySpace >::RDM1Access ( RDM1Spectral< ValueType, memorySpace > *  owner,
std::unique_ptr< SpectralRep< ValueType, memorySpace > >  spectral 
)

◆ RDM1Access() [2/3]

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
dftefe::ksdft::RDM1Access< ValueType, memorySpace >::RDM1Access ( const RDM1Access< ValueType, memorySpace > &  )
delete

◆ RDM1Access() [3/3]

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
dftefe::ksdft::RDM1Access< ValueType, memorySpace >::RDM1Access ( RDM1Access< ValueType, memorySpace > &&  other)
noexcept

◆ ~RDM1Access()

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
dftefe::ksdft::RDM1Access< ValueType, memorySpace >::~RDM1Access

Member Function Documentation

◆ getSpectral()

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
SpectralRep< ValueType, memorySpace > & dftefe::ksdft::RDM1Access< ValueType, memorySpace >::getSpectral

Mutable reference for eigensolver write access.

◆ operator=()

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
RDM1Access & dftefe::ksdft::RDM1Access< ValueType, memorySpace >::operator= ( const RDM1Access< ValueType, memorySpace > &  )
delete

◆ returnBack()

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
void dftefe::ksdft::RDM1Access< ValueType, memorySpace >::returnBack

Explicit early return of ownership before scope ends.

Member Data Documentation

◆ d_owner

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
RDM1Spectral<ValueType, memorySpace>* dftefe::ksdft::RDM1Access< ValueType, memorySpace >::d_owner
private

◆ d_spectral

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
std::unique_ptr<SpectralRep<ValueType, memorySpace> > dftefe::ksdft::RDM1Access< ValueType, memorySpace >::d_spectral
private

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