vSMC
vSMC: Scalable Monte Carlo
Classes | Public Types | Public Member Functions | Protected Member Functions | List of all members
vsmc::MKLBase< MKLPtr, Derived > Class Template Reference

MKL resource management base class. More...

#include <vsmc/utility/mkl.hpp>

Classes

class  deleter_type
 

Public Types

using element_type = typename std::remove_pointer< MKLPtr >::type
 
using pointer = MKLPtr
 

Public Member Functions

 MKLBase ()=default
 
 MKLBase (const MKLBase< MKLPtr, Derived > &)=delete
 
 MKLBase (MKLBase< MKLPtr, Derived > &&)=default
 
pointer get () const
 
deleter_typeget_deleter ()
 
const deleter_typeget_deleter () const
 
 operator bool () const
 
MKLBase< MKLPtr, Derived > & operator= (const MKLBase< MKLPtr, Derived > &)=delete
 
MKLBase< MKLPtr, Derived > & operator= (MKLBase< MKLPtr, Derived > &&)=default
 
int release ()
 
void reset (pointer ptr)
 
void swap (MKLBase< MKLPtr, Derived > &other)
 

Protected Member Functions

void reset_ptr (pointer ptr)
 

Detailed Description

template<typename MKLPtr, typename Derived>
class vsmc::MKLBase< MKLPtr, Derived >

MKL resource management base class.

Definition at line 70 of file mkl.hpp.

Member Typedef Documentation

template<typename MKLPtr, typename Derived>
using vsmc::MKLBase< MKLPtr, Derived >::element_type = typename std::remove_pointer<MKLPtr>::type

Definition at line 74 of file mkl.hpp.

template<typename MKLPtr, typename Derived>
using vsmc::MKLBase< MKLPtr, Derived >::pointer = MKLPtr

Definition at line 73 of file mkl.hpp.

Constructor & Destructor Documentation

template<typename MKLPtr, typename Derived>
vsmc::MKLBase< MKLPtr, Derived >::MKLBase ( )
default
template<typename MKLPtr, typename Derived>
vsmc::MKLBase< MKLPtr, Derived >::MKLBase ( const MKLBase< MKLPtr, Derived > &  )
delete
template<typename MKLPtr, typename Derived>
vsmc::MKLBase< MKLPtr, Derived >::MKLBase ( MKLBase< MKLPtr, Derived > &&  )
default

Member Function Documentation

template<typename MKLPtr, typename Derived>
pointer vsmc::MKLBase< MKLPtr, Derived >::get ( ) const
inline

Definition at line 104 of file mkl.hpp.

template<typename MKLPtr, typename Derived>
deleter_type& vsmc::MKLBase< MKLPtr, Derived >::get_deleter ( )
inline

Definition at line 106 of file mkl.hpp.

template<typename MKLPtr, typename Derived>
const deleter_type& vsmc::MKLBase< MKLPtr, Derived >::get_deleter ( ) const
inline

Definition at line 107 of file mkl.hpp.

template<typename MKLPtr, typename Derived>
vsmc::MKLBase< MKLPtr, Derived >::operator bool ( ) const
inlineexplicit

Definition at line 109 of file mkl.hpp.

template<typename MKLPtr, typename Derived>
MKLBase<MKLPtr, Derived>& vsmc::MKLBase< MKLPtr, Derived >::operator= ( const MKLBase< MKLPtr, Derived > &  )
delete
template<typename MKLPtr, typename Derived>
MKLBase<MKLPtr, Derived>& vsmc::MKLBase< MKLPtr, Derived >::operator= ( MKLBase< MKLPtr, Derived > &&  )
default
template<typename MKLPtr, typename Derived>
int vsmc::MKLBase< MKLPtr, Derived >::release ( )
inline

Definition at line 94 of file mkl.hpp.

template<typename MKLPtr, typename Derived>
void vsmc::MKLBase< MKLPtr, Derived >::reset ( pointer  ptr)
inline

Definition at line 96 of file mkl.hpp.

template<typename MKLPtr, typename Derived>
void vsmc::MKLBase< MKLPtr, Derived >::reset_ptr ( pointer  ptr)
inlineprotected

Definition at line 112 of file mkl.hpp.

template<typename MKLPtr, typename Derived>
void vsmc::MKLBase< MKLPtr, Derived >::swap ( MKLBase< MKLPtr, Derived > &  other)
inline

Definition at line 102 of file mkl.hpp.