An OpenCL C++ wrapper to facilitate OpenCL implementation