Inicializar std :: array com um intervalo (par de iteradores)

Como posso inicializar umstd::array de um intervalo (conforme definido por um par de iteradores)?

Algo assim:

vector<T> v;
...
// I know v has exactly N elements (e.g. I just called v.resize(N))
// Now I want a initialized with those elements
array<T, N> a(???);  // what to put here?

eu penseiarray teria um construtor levando um par de iteradores, para que eu pudesse fazerarray<T, N> a(v.begin(), v.end()), mas parece não ter nenhum construtor!

Eu sei que possocopy o vetor no array, mas eu prefiro inicializar o array com o conteúdo do vetor diretamente, sem construí-lo por padrão primeiro. Como posso?

questionAnswers(3)

yourAnswerToTheQuestion