Я хочу вызвать функцию класса из exprtk.
(http://www.partow.net/programming/exprtk/)
Я хочу зарегистрировать функцию с помощью этого набора инструментов в symbol_table.add_function.
Поэтому требуется извлечь мой класс следующим образом из ifunction, предоставляемой этим инструментарием:
template <typename T>
struct foo : public exprtk::ifunction<T>
{
foo() : exprtk::ifunction<T>(0)
{}
T operator()()
{
// here I want to access data from a class which owns this struct
}
};
Можно ли включить эту структуру таким образом, чтобы класс мог получить к ней доступ, а оператор () этой структуры мог получить доступ к данным в классе?
Одна из возможностей — передать указатель этого класса в конструктор структуры. Есть ли способ лучше?
Задача ещё не решена.
Других решений пока нет …