C++ wrapper around OpenCL