<%def name="type(name)"> <% cname = name if cname.startswith("const "): cname = cname[6:] if cname.endswith("@"): cname = cname[:-1] if cname.endswith("&"): cname = cname[:-1] cname = cname.strip() %> % if cname in data["classmap"]: ${name} % elif cname in data["enummap"]: ${name} % else: ${name} % endif <%def name="func(f, link=None)"> ${type(f["return"]["type"])} % if link is not None: ${f["name"]}( % else: ${f["name"]}( % endif % for i, arg in enumerate(f["arguments"]): ${type(arg["type"])} ${arg["name"]}<% d = "" if "default" in arg: d = " = "+arg["default"] %>${d}${"," if i != len(f["arguments"]) - 1 else ""} % endfor ) ${"const" if f["const"] else ""}