47 for_each(d_enums.begin(), d_enums.end(), enum_del);
72 d_enums.push_back(enum_def);
75 class PrintVariable :
public unary_function<BaseType *, void>
80 PrintVariable(
XMLWriter &x,
bool c) : d_xml(x), d_constrained(c) {}
82 void operator()(BaseType *btp)
84 btp->print_xml_writer(d_xml, d_constrained);
88 class PrintEnum :
public unary_function<D4EnumDef *, void>
95 void operator()(D4EnumDef *e)
97 e->print_xml_writer(d_xml);
104 if (constrained && !
send_p())
111 if (xmlTextWriterWriteAttribute(xml.
get_writer(), (
const xmlChar*)
"name", (
const xmlChar*)
name().c_str()) < 0)
112 throw InternalErr(__FILE__, __LINE__,
"Could not write attribute for name");
115 if (d_enums.size() > 0)
116 for_each(d_enums.begin(), d_enums.end(), PrintEnum(xml));
126 if (xmlTextWriterEndElement(xml.
get_writer()) < 0)