// ==========================================================================
// $Id: stl_uniquefill.cpp,v 1.1 2014/11/01 05:04:47 jlang Exp $
// CSI2372 example Code for lecture 11
// ==========================================================================
// (C)opyright:
//
//   Jochen Lang
//   EECS, University of Ottawa
//   800 King Edward Ave.
//   Ottawa, On., K1N 6N5
//   Canada. 
//   http://www.site.uottawa.ca
// 
// Creator: jlang (Jochen Lang)
// Email:   jlang@eecs.uottawa.ca
// ==========================================================================
// $Log: stl_uniquefill.cpp,v $
// Revision 1.1  2014/11/01 05:04:47  jlang
// Added uordered map examples
//
// ==========================================================================
#include <iostream>
#include <vector>
#include <algorithm>

using std::cout;
using std::endl;
using std::vector;

int main() {
	const vector<int>::size_type sz = 10;
	vector<int> iVec( sz, 1 );

	std::fill_n( iVec.begin() + 3, 4, 2 );
	
	for ( auto ie:iVec ) cout << ie << " ";
	cout << endl;
	cout << "----------------------------" << endl;

	vector<int>::iterator lastU = std::unique( iVec.begin(), iVec.end());
  for ( auto iter=iVec.cbegin(); iter != lastU; ++iter ) cout << *iter << " ";
	cout << endl;

	cout << "----------------------------" << endl;
	for ( auto ie:iVec ) cout << ie << " ";
	cout << endl;

  return 0;  
}
