Мне нужно парсить xml, создавать классы которые будут описаны в xml и наполнять эти классы данными из атрибутов.
Как я это вижу:
template<typename SetMethod>
struct XMLField{
std::string field; // название поля xml атрибута
SetMethod* method; // метод класса для установки значения из field;
uint8_t type; // тип данных, bool, string и тд.
};
template<typename ViewClass, typename method>
struct ViewOptions{
ViewClass* viewClass; // класс который будет создан при парсинге
std::vector<XMLField<method>> fields; // поля и методы этого класса
};
static std::map<std::string ,ViewOptions<>> extendXml;
Как это можно реализовать ?
Вызывать методы если что буду примерно так, через bind:
template<typename Method, typename... Args>
void emit(Method&& method, Args&&... args){
for (size_t i = 0; i < events.size(); i++){
std::bind(method,events[i],std::forward<Args>(args)...)();
}
}