Função zip de sequência para c ++ 11?

Com o novo loop for baseado em intervalo, podemos escrever códigos como

for(auto x: Y) {}

Que IMO é umenorm melhoria de (por ex.)

for(std::vector<int>::iterator x=Y.begin(); x!=Y.end(); ++x) {}

Pode ser usado para fazer loop em dois loops simultâneos, como Pythonszip função? Para quem não conhece o Python, o código:

Y1 = [1,2,3]
Y2 = [4,5,6,7]
for x1,x2 in zip(Y1,Y2):
    print x1,x2

Dá como saída(1,4) (2,5) (3,6)

questionAnswers(13)

yourAnswerToTheQuestion