¿Cómo insertar de manera eficiente un rango de enteros consecutivos en un std :: set?

En C ++, tengo un std :: set que me gustaría insertar un rango de enteros consecutivos. ¿Cómo puedo hacer esto de manera eficiente, con suerte en O (n) tiempo donde n es la longitud del rango?

Estoy pensando que usaría la versión inputIterator de std :: insert, pero no tengo claro cómo construir el iterador de entrada.

std::set<int> mySet;

// Insert [34 - 75):
mySet.insert(inputIteratorTo34, inputIteratorTo75);

¿Cómo puedo crear el iterador de entrada y este será O (n) en el tamaño del rango?