Я думаю, что общее решение вашей проблемы (и то, которое также было бы переносимым, невозможно). По крайней мере, я не могу себе этого представить: -).
Сложная проблема в том, что контейнер определяет тип const_iterator. Чтобы добраться до типа const_iterator для контейнера, вы должны определить тип контейнера.
Однако, если вы начнете с типа итератора контейнера в качестве параметра мета-функции, получить тип контейнера невозможно.
Для известных T (s) то, чего вы хотите, может быть достигнуто, однако ...