Контейнеру легко получить связанные итераторы, пример:
std::vector<double>::iterator i; //An iterator to a std::vector<double>
Мне было интересно, возможно ли, учитывая тип итератора, определить тип «соответствующего контейнера» (здесь я предполагаю, что для каждого контейнера существует один-единственный (неконстантный) итератор). 1004 *
Точнее, я хотел бы, чтобы метафункция шаблона работала со всеми контейнерами STL (без необходимости специализировать его вручную для каждого отдельного контейнера), например:
ContainerOf< std::vector<double>::iterator >::type
оценивается как
std::vector<double>
Возможно ли это?
Если нет, то почему?
Заранее благодарю за любую помощь!