#include <functional> #include <iomanip> #include <iostream> #include <sstream> using namespace std; typedef function<void(int)> callback; void callBackTester (int min, int max, callback const& func); int main() { stringstream state; callBackTester(0,10,[&](int i)->void{ state << i << ", "; cout << "callback. input: " << i << ". state: " << state.str() << endl; }); } void callBackTester (int min, int max, callback const& func) { for(; min < max; ++min){ func(min); } }
Standard input is empty
callback. input: 0. state: 0, callback. input: 1. state: 0, 1, callback. input: 2. state: 0, 1, 2, callback. input: 3. state: 0, 1, 2, 3, callback. input: 4. state: 0, 1, 2, 3, 4, callback. input: 5. state: 0, 1, 2, 3, 4, 5, callback. input: 6. state: 0, 1, 2, 3, 4, 5, 6, callback. input: 7. state: 0, 1, 2, 3, 4, 5, 6, 7, callback. input: 8. state: 0, 1, 2, 3, 4, 5, 6, 7, 8, callback. input: 9. state: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,