OpenCLのカーネルでクラスなどのC++的なコードをビルドする方法

入門書籍に見当たらなかったのでメモ

普通にビルドすると"classなんて知らない"と怒られてしまう。

status = clBuildProgram(program, 1, &device_id, "-x clc++", NULL, NULL);

のように引数にオプション文字列を指定するようにする(AMD環境)。
ただ、C++の全ての機能が使えるわけではない