39 #include <InternalErr.h>
41 #include "XDStructure.h"
42 #include "XDSequence.h"
43 #include "get_xml_data.h"
45 using namespace xml_data;
49 XDStructure::ptr_duplicate()
54 XDStructure::XDStructure(
const string &n) : Structure(n)
58 XDStructure::XDStructure( Structure *bt )
59 : Structure( bt->name() ),
XDOutput( bt )
64 Vars_iter p = bt->var_begin();
65 while (p != bt->var_end()) {
66 BaseType *new_bt = basetype_to_xd(*p);
74 BaseType::set_send_p(bt->send_p());
77 XDStructure::~XDStructure()
82 XDStructure::start_xml_declaration(XMLWriter *writer,
const char *element)
84 XDOutput::start_xml_declaration(writer, element);
86 for (Vars_iter p = var_begin(); p != var_end(); ++p) {
88 dynamic_cast<XDOutput&
>(**p).start_xml_declaration(writer, element);
89 dynamic_cast<XDOutput&
>(**p).end_xml_declaration(writer);
95 XDStructure::print_xml_data(XMLWriter *writer,
bool show_type)
101 XDOutput::start_xml_declaration(writer);
103 for (Vars_iter p = var_begin(); p != var_end(); ++p) {
104 if ((*p)->send_p()) {
105 dynamic_cast<XDOutput&
> (*(*p)).print_xml_data(writer, show_type);
111 end_xml_declaration(writer);