Тип значений контейнера и std::iterator_traits
От: xobotik Россия  
Дата: 11.11.15 11:27
Оценка:
Добрый день!

Можно как то проще вот в таком коде:
template<class Data, class OuputIterator>
static bool deserializeByIterator(const std::string &filePath, OutputIterator output) { 
    // ... 
}

template<class Container>
static bool deserializeContainer(const std::string &filePath, Container &container) { 
    typedef typename std::iterator_traits<typename Container::iterator>::value_type ContainerValueType;
    return deserializeByIterator<ContainerValueType>(filePath, std::back_inserter(container));
}

проще имеется ввиду не использовать
typedef typename std::iterator_traits<typename Container::iterator>::value_type ContainerValueType;

Заранее спасибо!
С уважением!
template std::iterator_traits
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.