I have an array like(In my real problem my data structs is more complex ) :

auto a = [2,3,4,5,6,7];


I want to apply a operation in a fashion like :

     [ 2 , 3 ]  --> apply foo and get return result -1
         [ 3 , 4 ]  ---> -1
             [ 4 , 5 ] ---> -1
  and so on...

operation might be :

int foo ( int a, int b)
{
   return a - b;
}

So my expected result is [-1,-1,-1,-1,-1]

I tried fold but fold add up the result of the last operation.
Range utilities like "chunks" does not help because "chunks" transforms the array into a range like [2,3],[4,5],[6,7].

Can I avoid for loops and solve my problem with std algorithms or ranges ?

Reply via email to