Now with the correct semantics: list parameters converting to C++.
<< tab(1)
<< (!function_is_void(func) ? "return ": "")
<< "static_cast<T*>(self->this_)->"
- << func.name << "(" << parameters_c_list(func.params) << ");" << endl
+ << func.name << "(" << parameters_cxx_list(func.params) << ");" << endl
<< "}" << endl << endl;
}
return out;
inline std::ostream&
operator<<(std::ostream& out, parameters_cxx_list const& x)
{
+ auto first = x._params.cbegin(), last = x._params.cend();
+ for (auto it = first; it != last; ++it)
+ {
+ if (it != first)
+ out << ", ";
+ out << to_cxx(it->type, it->name);
+ }
+ return out;
+}
+
struct
constructor_parameters_list
{