Добрый день!
Можно как то проще вот в таком коде:
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;
Заранее спасибо!
Здравствуйте, Vamp, Вы писали:
V>Container::value_type? Или я не понял чего?
Точно, спасибо!
template<class Container>
static bool deserializeContainer(const std::string &filePath, Container &container) {
return deserializeByIterator<typename Container::value_type>(
filePath,
std::back_inserter(container));
}
P.S. Как же так мог забыть =(