Algorithm C++

#include 
#include 
#include 
#include 
using namespace std;
template 
class calc_square {
  T i;
 public:
  calc_square(): i(0) {}
  T operator()() { ++i; return i * i; }
};
int main()
{
  vector vector1(10);
  generate(vector1.begin(), vector1.end(), calc_square());
  for (int j = 0; j < 10; ++j)
    cout << vector1[j] << " ";
  return 0;
}
/* 
1 4 9 16 25 36 49 64 81 100 
 */