PDA

View Full Version : Convert overloaded member function into a member template function?



nomiz
28th March 2012, 20:26
The code below of an overloaded member functions looks bloated:

void MyClass::writeListToXml(const QList<int> &list, const QString &name)
{
foreach(int i, list) {
xml_writer->writeTextElement(name, QString::number(i));
}
}

void MyClass::writeListToXml(const QList<double> &list, const QString &name)
{
foreach(double i, list) {
xml_writer->writeTextElement(name, QString::number(i));
}
}
How could i pack them together?

Thanks!

wysota
28th March 2012, 21:35
template<typename T> void MyClass::writeListToXml(const QList<T> &list, const QString &name) {
foreach(T i, list) {
xml_writer->writeTextElement(name, QString::number(i));
}
}

nomiz
28th March 2012, 21:47
Magic!

Thanks :)