/* This file is generated by genxml. */
/* No manual modification is permitted. */
#pragma once
#include "Define.h"
#include <string>
{{define "SetAttri"}}{{if eq .Type "int"}}m_i{{.Name}} = 0;{{end}}{{if eq .Type "string"}}m_str{{.Name}}.clear();{{end}}{{end}}
{{define "Attri"}}{{if eq .Type "int"}}int32_t m_i{{.Name}};{{end}}{{if eq .Type "string"}}std::string m_str{{.Name}};{{end}}{{end}}
{{define "Token"}}{{add_tab}}{{gen_tab}}struct ST{{.Name}}
{{gen_tab}}{
{{gen_tab}}ST{{.Name}}()
{{gen_tab}}{
{{gen_tab}}{{range .Attributes}}
{{gen_tab}}{{template "SetAttri" .}}
{{gen_tab}}{{end}}
{{gen_tab}}}
{{gen_tab}}{{range .Attributes}}
{{gen_tab}}{{template "Attri" .}}
{{gen_tab}}{{end}}
{{range .Tokens}}{{template "Token" .}}
{{end}}
{{gen_tab}}}{{dec_tab}}{{end}}
namespace PROJ
{
class C{{.Name}}Loader
{
public:{{add_tab}}
struct ST{{.Name}}
{
ST{{.Name}}()
{
{{range .Attributes}}
{{template "SetAttri" .}}
{{end}}
}
{{range .Attributes}}
{{template "Attri" .}}
{{end}}
{{range .Tokens}}{{template "Token" .}}
{{end}}
};
const ST{{.Name}} & Get{{.Name}}()
{
return m_ST{{.Name}};
}
virtual bool LoadCfg() /*= 0*/;
private:
ST{{.Name}} m_ST{{.Name}};
}
golang解析xml文件头文件模板
最新推荐文章于 2022-07-29 22:28:01 发布