Как структура «param_traits» определяется в OpenCL?C++

Программы на C++. Форум разработчиков
Anonymous
Как структура «param_traits» определяется в OpenCL?

Сообщение Anonymous »

В заголовочном файле C++ OpenCL, строка 1611, есть следующий код:

Код: Выделить всё

template 
struct param_traits {};

#define CL_HPP_DECLARE_PARAM_TRAITS_(token, param_name, T) \
struct token;                                        \
template                                           \
struct param_traits       \
{                                                    \
enum { value = param_name };                     \
typedef T param_type;                            \
};
Сначала он определяет шаблон структуры. Затем он определяет макрос. Кажется, что когда макрос расширяется, он специализирует структуру. Странно, что он также добавляет членов в структуру. Я не очень знаком с новым стандартом C++. Итак, как здесь работает код?

Подробнее здесь: https://stackoverflow.com/questions/786 ... -in-opencl

Вернуться в «C++»