У меня проблемы с некоторыми функциями, которые я хочу реализовать в своем классе конфигурации, у меня есть некоторые значения с разными типами, и я хочу сохранить их на карте.ранее я использовал класс ExtendedString для хранения всех данных и преобразования их с помощью функции шаблона в нужный тип, когда бы мне это ни понадобилось.а затем в моем классе конфигурации был map<ExtendedString,vector<ExtendedString> >
для хранения всех ключей в файле конфигурации.вот как выглядит мой класс ExtendedString:
class ExtendedString : public std::string
{
public:
ExtenedString() : public std::string
{
}
template <class T> ExtenededString(T)
{
std::stringstream s;
*this = s.str();
}
template <class T>T as(){
istringstream s(*this);
T temp;
d >> temp;
return temp;
}
}
Теперь я хочу проанализировать все значения при загрузке моего конфигурационного файла, а также иметь функцию преобразования в любой возможный тип в случае необходимости.например, если я проанализировал какое-то значение в int, и во время выполнения мне понадобилось это значение в виде строки, я хочу иметь возможность сразу преобразовать его, и, кроме того, я предпочитаю не использовать boost в этом случае, это один из моих базовых классов, и яне хочу связывать повышение с каждым разрабатываемым проектом.