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