Take the following function:
struct test_function
{
template
typename Vector::value_type
operator()(const Vector& x, IntType bound_value) const{
return x[0] * x[0] + bound_value;
}
};
I wasn't sure exactly how the "type" member template pattern works so that
result_of will work.
I tried the following, but can't figure out how to extract the type of the
arguments or convert to an MPL sequence? Is there some trick I am missing?
struct test_function
{
template<typename Args>
struct result {
//HOW TO CONVERT TO MPL SEQUENCE OR ANOTHER APPROACH?
typedef typename boost::mpl::at_c::type::value_type type;
};
template
typename Vector::value_type //The type in the vector... can be a double
or AD type
operator()(const Vector& x, IntType bound_value) const{
return x[0] * x[0] + bound_value;
}
};
Thanks,
Jesse