template <typename T>
struct DoubleToStr : public exprtk::igeneric_function<T>
{
typedef exprtk::igeneric_function<T> igenfunct_t;
typedef typename igenfunct_t::generic_type generic_t;
typedef typename igenfunct_t::parameter_list_t parameter_list_t;
typedef typename generic_t::string_view string_t;
typedef typename generic_t::scalar_view scalar_t;
DoubleToStr()
: exprtk::igeneric_function<T>("T", igenfunct_t::e_rtrn_string)
{}
inline T operator()(std::string& result,
parameter_list_t parameters)
{
result.clear();
/*string_t string(parameters[0]);*/
/*result = static_cast<std::size_t>(scalar_t(parameters[0])());*/
scalar_t myval(parameters[0]);
result = myval;
return T(0);
}
};
我可以在myval(parameters[0])
中看到标量值。
我的问题是:如何将其分配给std::string
结果?还是有其他建议您建议我使用的逻辑?