Question: I can clearly do something like this:

```
for(int i = 0; i < 10000; i++)
    testIteration();

```

But is there any std functions which does similar thing in one line? Something like that:

```
std::repeat(10000, testIteration);

```

Answer: 
> 
> But is there any std functions which does similar thing in one line?
> 
> 
> 

No, there is no algorithm in the standard library to do this (at least nothing that would not require to write useless boilerplate). As others already mentioned a loop is the most readable and least obfuscated way to do "something" n-times.

That being said, if you take it as an exercise to get a more terse syntax, you could write this:

```
#include <iostream>
struct my_counter {    
    int stop;
    struct iterator {
        int count;    
        iterator& operator++() { ++count; return *this; }
        int operator*() { return count;}
        bool operator!=(const iterator& other) { return count != other.count; }
    };
    iterator begin() { return {0}; }
    iterator end() { return {stop};}    
};

void print() { std::cout << "x"; }

int main() {
     for (auto x : my_counter{5}) print();
}

```

However, I would strongly advise against using something like that. Everybody knows how a loop works and what it does. Being used to for loops you can read a for loop in a blink, while anything else is uncommon, surprising and obfuscating, unless there is a standard algorithm of course (though I doubt that an algorithm for this particular case would be of great use). Why reinvent the wheel when you can use a loop?
I know this isn't providing anything new from the above answers except that perhaps that my solution is **very short**. To repeat code *2* times I use a loop like the following:

```
for (auto _{2}; _--;) { /* this code gets repeated twice */ }

```

I think using the prefix operator would be less clear since to repeat code twice the loop would need to be:

```
for (auto _{3}; --_;) { /* this code gets repeated twice */ }

```

Parentheses would also of course work instead of braces, i.e.:

```
for (auto _(2); _--) {}

```