PLSSVM - Parallel Least Squares Support Vector Machine  2.0.0
A Least Squares Support Vector Machine implementation using different backends.
Public Member Functions | Public Attributes | List of all members
plssvm::opencl::detail::kernel Class Reference

RAII wrapper class around a cl_kernel. More...

#include <kernel.hpp>

Public Member Functions

 kernel ()=default
 Default construct empty kernel.
 
 kernel (cl_kernel compute_kernel) noexcept
 Construct a new wrapper around the provided compute_kernel. More...
 
 kernel (const kernel &)=delete
 Delete copy-constructor to make kernel a move only type.
 
 kernel (kernel &&other) noexcept
 Move-constructor as kernel is a move-only type. More...
 
kerneloperator= (const kernel &)=delete
 Delete copy-assignment-operator to make kernel a move only type.
 
kerneloperator= (kernel &&other) noexcept
 Move-assignment-operator as kernel is a move-only type. More...
 
 ~kernel ()
 Release the cl_kernel resources on destruction.
 
 operator cl_kernel & () noexcept
 Implicitly convert a kernel wrapper to an OpenCL cl_kernel. More...
 
 operator const cl_kernel & () const noexcept
 Implicitly convert a kernel wrapper to an OpenCL cl_kernel. More...
 

Public Attributes

cl_kernel compute_kernel
 The wrapped OpenCL cl_kernel.
 

Detailed Description

RAII wrapper class around a cl_kernel.

Constructor & Destructor Documentation

◆ kernel() [1/2]

plssvm::opencl::detail::kernel::kernel ( cl_kernel  compute_kernel)
explicitnoexcept

Construct a new wrapper around the provided compute_kernel.

Parameters
[in]compute_kernelthe cl_kernel to wrap

◆ kernel() [2/2]

plssvm::opencl::detail::kernel::kernel ( kernel &&  other)
noexcept

Move-constructor as kernel is a move-only type.

Parameters
[in,out]otherthe kernel to move the resources from

Member Function Documentation

◆ operator=()

kernel& plssvm::opencl::detail::kernel::operator= ( kernel &&  other)
noexcept

Move-assignment-operator as kernel is a move-only type.

Parameters
[in,out]otherthe kernel to move the resources from
Returns
*this

◆ operator cl_kernel &()

plssvm::opencl::detail::kernel::operator cl_kernel & ( )
inlinenoexcept

Implicitly convert a kernel wrapper to an OpenCL cl_kernel.

Returns
the wrapped OpenCL cl_kernel ([[nodiscard]])

◆ operator const cl_kernel &()

plssvm::opencl::detail::kernel::operator const cl_kernel & ( ) const
inlinenoexcept

Implicitly convert a kernel wrapper to an OpenCL cl_kernel.

Returns
the wrapped OpenCL cl_kernel ([[nodiscard]])

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