C++ ラッパー API の概要
C++ API は複数のクラスに分割されており、それぞれが OpenCL C 型にマップされます。たとえば、cl::Memory クラスは OpenCL C の cl_mem にマップされます。ただし、C++ API は、可能な場合は継承を使用して型抽象化の追加層を提供します。たとえば、クラス cl::Buffer は基本クラス cl::Memory から派生し、考えられるすべての OpenCL の 1 次元メモリ サブクラスを表します。メモリオブジェクト。クラス階層アーキテクチャを図 12-1 に示します。
一般に、C++ クラス型には、基礎となる OpenCL C 型への直接マッピングがあり、その場合、基礎となる C 型には、operator() を介してアクセスできます。たとえば、次のコードは最初の OpenCL プラットフォームを取得し、基礎となる OpenCL C 型 cl_platform をクエリして、それを変数 platform に割り当てることができます。
extern void someFunction(cl_program);
cl_platform platform;
{
std