mardi 19 mars 2019

Using a lambda in place of an index-able template parameter

I have a method that takes an index-able object as a template parameter, something like:

template <typename OBJ>
int foo(int n, OBJ o)
{
  int x = 0;
  for (int i = 0; i < n; ++i) {
    x += o[i];
  }
  return x;
}

Is there a way I can pass a lambda function in for the o parameter? In other words, having the lambda be call-able via the [] operator rather than the () operator?

Aucun commentaire:

Enregistrer un commentaire