syxme
@syxme

Template class и method, как сделать?

Мне нужно парсить 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)...)();
		}
	}
  • Вопрос задан
  • 46 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы