OpenCL C++ Wrapper API 1.1
 All Classes Namespaces Files Functions Variables Typedefs Defines
Classes | Functions
cl::detail Namespace Reference

Classes

struct  GetInfoHelper
struct  GetInfoHelper< Func, VECTOR_CLASS< T > >
struct  GetInfoHelper< Func, VECTOR_CLASS< char * > >
struct  GetInfoHelper< Func, STRING_CLASS >
struct  GetInfoHelper< Func, size_t< N > >
struct  param_traits
struct  GetInfoFunctor0
struct  GetInfoFunctor1
struct  ReferenceHandler
struct  ReferenceHandler< cl_device_id >
struct  ReferenceHandler< cl_platform_id >
struct  ReferenceHandler< cl_context >
struct  ReferenceHandler< cl_command_queue >
struct  ReferenceHandler< cl_mem >
struct  ReferenceHandler< cl_sampler >
struct  ReferenceHandler< cl_program >
struct  ReferenceHandler< cl_kernel >
struct  ReferenceHandler< cl_event >
class  Wrapper
struct  KernelArgumentHandler
struct  KernelArgumentHandler< LocalSpaceArg >

Functions

int compare_exchange (volatile int *dest, int exchange, int comparand)
template<typename Func , typename T >
cl_int getInfo (Func f, cl_uint name, T *param)
template<typename Func , typename Arg0 , typename T >
cl_int getInfo (Func f, const Arg0 &arg0, cl_uint name, T *param)
template<typename Func , typename Arg0 , typename Arg1 , typename T >
cl_int getInfo (Func f, const Arg0 &arg0, const Arg1 &arg1, cl_uint name, T *param)
static cl_int errHandler (cl_int err, const char *errStr=NULL) throw (Error)

Function Documentation

int cl::detail::compare_exchange ( volatile int *  dest,
int  exchange,
int  comparand 
) [inline]

Definition at line 699 of file cl.hpp.

    {
#ifdef _WIN32
        return (int)(InterlockedCompareExchange(
           (volatile long*)dest, 
           (long)exchange, 
           (long)comparand));
#elif defined(__APPLE__) || defined(__MACOSX)
        return OSAtomicOr32Orig((uint32_t)exchange, (volatile uint32_t*)dest);
#else // !_WIN32 || defined(__APPLE__) || defined(__MACOSX)
        return (__sync_val_compare_and_swap(
            dest, 
            comparand, 
            exchange));
#endif // !_WIN32
    }
static cl_int cl::detail::errHandler ( cl_int  err,
const char *  errStr = NULL 
) throw (Error) [inline, static]

Definition at line 1268 of file cl.hpp.

{
    if (err != CL_SUCCESS) {
        throw Error(err, errStr);
    }
    return err;
}
template<typename Func , typename T >
cl_int cl::detail::getInfo ( Func  f,
cl_uint  name,
T *  param 
) [inline]

Definition at line 1080 of file cl.hpp.

{
    return GetInfoHelper<Func, T>::get(f, name, param);
}
template<typename Func , typename Arg0 , typename T >
cl_int cl::detail::getInfo ( Func  f,
const Arg0 &  arg0,
cl_uint  name,
T *  param 
) [inline]

Definition at line 1105 of file cl.hpp.

{
    GetInfoFunctor0<Func, Arg0> f0 = { f, arg0 };
    return GetInfoHelper<GetInfoFunctor0<Func, Arg0>, T>
        ::get(f0, name, param);
}
template<typename Func , typename Arg0 , typename Arg1 , typename T >
cl_int cl::detail::getInfo ( Func  f,
const Arg0 &  arg0,
const Arg1 &  arg1,
cl_uint  name,
T *  param 
) [inline]

Definition at line 1114 of file cl.hpp.

{
    GetInfoFunctor1<Func, Arg0, Arg1> f0 = { f, arg0, arg1 };
    return GetInfoHelper<GetInfoFunctor1<Func, Arg0, Arg1>, T>
        ::get(f0, name, param);
}
 All Classes Namespaces Files Functions Variables Typedefs Defines