#include <algorithm>
#include <iostream>
#include <iterator>
#include <vector>
#include <map>
using namespace std;

int main() 
{
	vector<string> v {"fuck", "you"};
	map<size_t, string> m;
	
	transform(v.begin(), v.end(), inserter(m, m.begin()), 
		[i = 0] (string const& s) mutable { 
			return pair<size_t, string> {i++, s};
		});
		
	for (auto const& kv : m) 
	{ 
		cout << kv.first << ": " << kv.second << endl; 
	}
}