CPP/STL/ForEach

From ProgrammingExamples
< CPP
Jump to: navigation, search

ForEach.cpp

#include <iostream>
#include <algorithm>
#include <vector>
 
struct printFunctor
{
  void operator() (int x)
  {
    std::cout << x;
  }
 
};
 
int main()
{
  std::vector<int> v;
  v.push_back(1);
  v.push_back(2);
  v.push_back(3);
 
  printFunctor myPrint;
  std::for_each(v.begin(), v.end(), myPrint);
 
  return 0;
}
/*
#include <iostream>
#include <algorithm>
#include <vector>
 
using namespace std;
 
void showSquaredValue(const int n){ 	
	cout  <<  n << "*" << n  << " = " << n*n << endl; 
};
 
class RepeatSequence{
	int begin, end;
	int offset;
public:
	RepeatSequence(int first, int last): begin(first),end(last - 1), offset(begin - 1){}
	RepeatSequence(): begin(),end(), offset(){}
	int operator()(){
		return offset = offset >= end ? begin: offset + 1;
	}
};
 
int main(){
	vector<int> num;
	const int MAX = 10;
 
	std::generate_n(std::back_insert_iterator<vector<int>>( num ),
					MAX,
					RepeatSequence(0,5)
					);
 
	//for each values in the vector num, show its squared value 
	std::for_each(num.begin(),num.end(),showSquaredValue);
 
 return 0;
}
*/

CMakeLists.txt

cmake_minimum_required(VERSION 2.6)
 
PROJECT(ForEach)
ADD_EXECUTABLE(ForEach ForEach.cpp )