Вот у меня есть класс UtfIterator, который при разыменовании возвращает 32ух-битный Unicode символ, разбирая UTF8 последовательность по char указателю, который хранит у себя, и соответственно, всякие игры c &*it выдадут лажу.
Также у меня в те же функции может быть передан итератор от вектора char или строки, или вообще голые указатели.
Я хочу из любого типа итераторов одинаковым способом получить const char*.