This adds a new macro which allows the user to adapt a C++ struct or class for use with OpenCL given its type, name, and members. This allows for custom user-defined data-types to be used with the Boost.Compute containers and algorithms.