OpenCL C++ Wrapper API 1.1
 All Classes Namespaces Files Functions Variables Typedefs Defines
Public Member Functions
cl::Kernel Class Reference

Kernel interface that implements cl_kernel. More...

#include <cl.hpp>

Inheritance diagram for cl::Kernel:
cl::detail::Wrapper< cl_kernel >

List of all members.

Public Member Functions

 Kernel (const Program &program, const char *name, cl_int *err=NULL)
 Kernel ()
 Kernel (const Kernel &kernel)
 Kernel (const cl_kernel &kernel)
Kerneloperator= (const Kernel &rhs)
Kerneloperator= (const cl_kernel &rhs)
template<typename T >
cl_int getInfo (cl_kernel_info name, T *param) const
template<cl_int name>
detail::param_traits
< detail::cl_kernel_info, name >
::param_type 
getInfo (cl_int *err=NULL) const
template<typename T >
cl_int getWorkGroupInfo (const Device &device, cl_kernel_work_group_info name, T *param) const
template<cl_int name>
detail::param_traits
< detail::cl_kernel_work_group_info,
name >::param_type 
getWorkGroupInfo (const Device &device, cl_int *err=NULL) const
template<typename T >
cl_int setArg (cl_uint index, T value)
cl_int setArg (cl_uint index,::size_t size, void *argPtr)

Detailed Description

Kernel interface that implements cl_kernel.

Definition at line 2701 of file cl.hpp.


Constructor & Destructor Documentation

cl::Kernel::Kernel ( const Program program,
const char *  name,
cl_int *  err = NULL 
) [inline]

Definition at line 3099 of file cl.hpp.

{
    cl_int error;

    object_ = ::clCreateKernel(program(), name, &error);
    detail::errHandler(error, __CREATE_KERNEL_ERR);

    if (err != NULL) {
        *err = error;
    }

}
cl::Kernel::Kernel ( ) [inline]

Definition at line 2706 of file cl.hpp.

{ }
cl::Kernel::Kernel ( const Kernel kernel) [inline]

Definition at line 2708 of file cl.hpp.

: detail::Wrapper<cl_type>(kernel) { }
cl::Kernel::Kernel ( const cl_kernel &  kernel) [inline]

Definition at line 2710 of file cl.hpp.

: detail::Wrapper<cl_type>(kernel) { }

Member Function Documentation

template<typename T >
cl_int cl::Kernel::getInfo ( cl_kernel_info  name,
T *  param 
) const [inline]

Definition at line 2727 of file cl.hpp.

    {
        return detail::errHandler(
            detail::getInfo(&::clGetKernelInfo, object_, name, param),
            __GET_KERNEL_INFO_ERR);
    }
template<cl_int name>
detail::param_traits<detail::cl_kernel_info, name>::param_type cl::Kernel::getInfo ( cl_int *  err = NULL) const [inline]

Definition at line 2736 of file cl.hpp.

    {
        typename detail::param_traits<
            detail::cl_kernel_info, name>::param_type param;
        cl_int result = getInfo(name, &param);
        if (err != NULL) {
            *err = result;
        }
        return param;
    }
template<typename T >
cl_int cl::Kernel::getWorkGroupInfo ( const Device device,
cl_kernel_work_group_info  name,
T *  param 
) const [inline]

Definition at line 2748 of file cl.hpp.

    {
        return detail::errHandler(
            detail::getInfo(
                &::clGetKernelWorkGroupInfo, object_, device(), name, param),
                __GET_KERNEL_WORK_GROUP_INFO_ERR);
    }
template<cl_int name>
detail::param_traits<detail::cl_kernel_work_group_info, name>::param_type cl::Kernel::getWorkGroupInfo ( const Device device,
cl_int *  err = NULL 
) const [inline]

Definition at line 2759 of file cl.hpp.

    {
        typename detail::param_traits<
        detail::cl_kernel_work_group_info, name>::param_type param;
        cl_int result = getWorkGroupInfo(device, name, &param);
        if (err != NULL) {
            *err = result;
        }
        return param;
    }
Kernel& cl::Kernel::operator= ( const Kernel rhs) [inline]

Definition at line 2712 of file cl.hpp.

    {
        if (this != &rhs) {
            detail::Wrapper<cl_type>::operator=(rhs);
        }
        return *this;
    }
Kernel& cl::Kernel::operator= ( const cl_kernel &  rhs) [inline]

Reimplemented from cl::detail::Wrapper< cl_kernel >.

Definition at line 2720 of file cl.hpp.

    {
        detail::Wrapper<cl_type>::operator=(rhs);
        return *this;
    }
template<typename T >
cl_int cl::Kernel::setArg ( cl_uint  index,
value 
) [inline]

Definition at line 2771 of file cl.hpp.

    {
        return detail::errHandler(
            ::clSetKernelArg(
                object_,
                index,
                detail::KernelArgumentHandler<T>::size(value),
                detail::KernelArgumentHandler<T>::ptr(value)),
            __SET_KERNEL_ARGS_ERR);
    }
cl_int cl::Kernel::setArg ( cl_uint  index,
::size_t  size,
void *  argPtr 
) [inline]

Definition at line 2782 of file cl.hpp.

    {
        return detail::errHandler(
            ::clSetKernelArg(object_, index, size, argPtr),
            __SET_KERNEL_ARGS_ERR);
    }

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Defines