#include <iostream>
#include <string>
#include <cstring>
#include <tbb/task_scheduler_init.h>
#include <tbb/concurrent_unordered_map.h>
#include <tbb/blocked_range.h>
#include <tbb/parallel_for.h>

#define N 10

using namespace std;
using namespace tbb;

typedef concurrent_unordered_map<string,string> UMAP;

int main()
{
	task_scheduler_init init(-1);

	UMAP umap;
	UMAP::iterator it_umap;

	string s("He");
	umap.insert(pair<string, string> (s,s+s));

	s="Hi";
	umap.insert(pair<string, string> (s,s+s));

	for ( it_umap = umap.begin(); it_umap != umap.end(); it_umap++ ) {
		cout << (*it_umap).first << " " << (*it_umap).second << endl;
	}
	cout << endl;

	cout << s << " " << umap[s] << endl;

	return 0;
}

