DPCT1044#

Message#

<BaseClass1> was removed because <BaseClass2> has been deprecated in C++11. You may need to remove references to typedefs from <BaseClass1> in the class definition.

Detailed Help#

<BaseClass#> is either unary_function or binary_function. The std:: equivalents for these classes are deprecated, and the use of these base classes is removed.

Suggestions to Fix#

If any of the typedef identifiers are referenced in the class definition, they should be replaced with the original template arguments.

For example, this original CUDA* code:

1 class C : thrust::unary_function<int, float> {
2   argument_type arg_data;
3   result_type result_data;
4 };

results in the following migrated SYCL* code:

1 /*
2 DPCT1044:0: thrust::unary_function was removed because std::unary_function has
3 been deprecated in C++11. You may need to remove references to typedefs from
4 thrust::unary_function in the class definition.
5 */
6 class C {
7   argument_type arg_data;
8   result_type result_data;
9 };

which is rewritten to:

1 class C {
2   argument_type arg_data;
3   result_type result_data;
4 };