Как интегрировать Flot с AngularJS?

Лямбда-функции очень удобны и уменьшают код. В моем случае мне нужны лямбды для параллельного программирования. Но для этого требуются указатели захвата и функции. Мое решение здесь. Но будьте осторожны с объемом захваченных вами переменных.

template<typename Tret, typename T>
Tret lambda_ptr_exec(T* v) {
    return (Tret) (*v)();
}

template<typename Tret = void, typename Tfp = Tret(*)(void*), typename T>
Tfp lambda_ptr(T& v) {
    return (Tfp) lambda_ptr_exec<Tret, T>;
}

Пример

int a = 100;
auto b = [&]() { a += 1;};
void (*fp)(void*) = lambda_ptr(b);
fp(&b);

Пример с возвращаемым значением

int a = 100;
auto b = [&]() {return a;};
int (*fp)(void*) = lambda_ptr<int>(b);
fp(&b);
37
задан JBCP 27 October 2012 в 19:58
поделиться