vSMC  v3.0.0
Scalable Monte Carlo
Public Types | Public Member Functions | Protected Member Functions | List of all members
vsmc::CLBase< CLPtr, Derived > Class Template Reference

OpenCL resource management base class. More...

#include <vsmc/utility/opencl.hpp>

Public Types

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

Public Member Functions

 CLBase ()
 
pointer get () const
 
 operator bool () const
 
void reset (pointer ptr)
 
void swap (CLBase< CLPtr, Derived > &other)
 
bool unique () const
 
long use_count () const
 

Protected Member Functions

void reset_ptr (pointer ptr)
 

Detailed Description

template<typename CLPtr, typename Derived>
class vsmc::CLBase< CLPtr, Derived >

OpenCL resource management base class.

Definition at line 189 of file opencl.hpp.

Member Typedef Documentation

template<typename CLPtr, typename Derived>
using vsmc::CLBase< CLPtr, Derived >::element_type = typename std::remove_pointer<CLPtr>::type

Definition at line 193 of file opencl.hpp.

template<typename CLPtr, typename Derived>
using vsmc::CLBase< CLPtr, Derived >::pointer = CLPtr

Definition at line 192 of file opencl.hpp.

Constructor & Destructor Documentation

template<typename CLPtr, typename Derived>
vsmc::CLBase< CLPtr, Derived >::CLBase ( )
inline

Definition at line 195 of file opencl.hpp.

Member Function Documentation

template<typename CLPtr, typename Derived>
pointer vsmc::CLBase< CLPtr, Derived >::get ( ) const
inline

Definition at line 205 of file opencl.hpp.

template<typename CLPtr, typename Derived>
vsmc::CLBase< CLPtr, Derived >::operator bool ( ) const
inlineexplicit

Definition at line 211 of file opencl.hpp.

template<typename CLPtr, typename Derived>
void vsmc::CLBase< CLPtr, Derived >::reset ( pointer  ptr)
inline

Definition at line 197 of file opencl.hpp.

template<typename CLPtr, typename Derived>
void vsmc::CLBase< CLPtr, Derived >::reset_ptr ( pointer  ptr)
inlineprotected

Definition at line 214 of file opencl.hpp.

template<typename CLPtr, typename Derived>
void vsmc::CLBase< CLPtr, Derived >::swap ( CLBase< CLPtr, Derived > &  other)
inline

Definition at line 203 of file opencl.hpp.

template<typename CLPtr, typename Derived>
bool vsmc::CLBase< CLPtr, Derived >::unique ( ) const
inline

Definition at line 209 of file opencl.hpp.

template<typename CLPtr, typename Derived>
long vsmc::CLBase< CLPtr, Derived >::use_count ( ) const
inline

Definition at line 207 of file opencl.hpp.