Hermes2D  3.0
solution_h2d_xml.cpp
1 // Copyright (C) 2005-2010 Code Synthesis Tools CC
2 //
3 // This program was generated by CodeSynthesis XSD, an XML Schema to
4 // C++ data binding compiler.
5 //
6 // This program is free software; you can redistribute it and/or modify
7 // it under the terms of the GNU General Public License version 2 as
8 // published by the Free Software Foundation.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 //
19 // In addition, as a special exception, Code Synthesis Tools CC gives
20 // permission to link this program with the Xerces-C++ library (or with
21 // modified versions of Xerces-C++ that use the same license as Xerces-C++),
22 // and distribute linked combinations including the two. You must obey
23 // the GNU General Public License version 2 in all respects for all of
24 // the code used other than Xerces-C++. If you modify this copy of the
25 // program, you may extend this exception to your version of the program,
26 // but you are not obligated to do so. If you do not wish to do so, delete
27 // this exception statement from your version.
28 //
29 // Furthermore, Code Synthesis Tools CC makes a special exception for
30 // the Free/Libre and Open Source Software (FLOSS) which is described
31 // in the accompanying FLOSSE file.
32 //
33 
34 // Begin prologue.
35 //
36 //
37 // End prologue.
38 
39 #include <xsd/cxx/pre.hxx>
40 
41 #include "solution_h2d_xml.h"
42 
43 namespace XMLSolution
44 {
45  // solution
46  //
47 
49  mono_coeffs () const
50  {
51  return this->mono_coeffs_;
52  }
53 
56  {
57  return this->mono_coeffs_;
58  }
59 
60  void solution::
62  {
63  this->mono_coeffs_ = s;
64  }
65 
67  elem_orders () const
68  {
69  return this->elem_orders_;
70  }
71 
74  {
75  return this->elem_orders_;
76  }
77 
78  void solution::
80  {
81  this->elem_orders_ = s;
82  }
83 
85  component () const
86  {
87  return this->component_;
88  }
89 
92  {
93  return this->component_;
94  }
95 
96  void solution::
98  {
99  this->component_ = s;
100  }
101 
103  ncmp () const
104  {
105  return this->ncmp_.get ();
106  }
107 
110  {
111  return this->ncmp_.get ();
112  }
113 
114  void solution::
115  ncmp (const ncmp_type& x)
116  {
117  this->ncmp_.set (x);
118  }
119 
121  nel () const
122  {
123  return this->nel_.get ();
124  }
125 
128  {
129  return this->nel_.get ();
130  }
131 
132  void solution::
133  nel (const nel_type& x)
134  {
135  this->nel_.set (x);
136  }
137 
139  nc () const
140  {
141  return this->nc_.get ();
142  }
143 
145  nc ()
146  {
147  return this->nc_.get ();
148  }
149 
150  void solution::
151  nc (const nc_type& x)
152  {
153  this->nc_.set (x);
154  }
155 
157  exact () const
158  {
159  return this->exact_.get ();
160  }
161 
164  {
165  return this->exact_.get ();
166  }
167 
168  void solution::
169  exact (const exact_type& x)
170  {
171  this->exact_.set (x);
172  }
173 
175  exactC () const
176  {
177  return this->exactC_.get ();
178  }
179 
182  {
183  return this->exactC_.get ();
184  }
185 
186  void solution::
188  {
189  this->exactC_.set (x);
190  }
191 
193  exactCXR () const
194  {
195  return this->exactCXR_;
196  }
197 
200  {
201  return this->exactCXR_;
202  }
203 
204  void solution::
206  {
207  this->exactCXR_.set (x);
208  }
209 
210  void solution::
212  {
213  this->exactCXR_ = x;
214  }
215 
217  exactCYR () const
218  {
219  return this->exactCYR_;
220  }
221 
224  {
225  return this->exactCYR_;
226  }
227 
228  void solution::
230  {
231  this->exactCYR_.set (x);
232  }
233 
234  void solution::
236  {
237  this->exactCYR_ = x;
238  }
239 
241  exactCXC () const
242  {
243  return this->exactCXC_;
244  }
245 
248  {
249  return this->exactCXC_;
250  }
251 
252  void solution::
254  {
255  this->exactCXC_.set (x);
256  }
257 
258  void solution::
260  {
261  this->exactCXC_ = x;
262  }
263 
265  exactCYC () const
266  {
267  return this->exactCYC_;
268  }
269 
272  {
273  return this->exactCYC_;
274  }
275 
276  void solution::
278  {
279  this->exactCYC_.set (x);
280  }
281 
282  void solution::
284  {
285  this->exactCYC_ = x;
286  }
287 
289  space () const
290  {
291  return this->space_;
292  }
293 
296  {
297  return this->space_;
298  }
299 
300  void solution::
301  space (const space_type& x)
302  {
303  this->space_.set (x);
304  }
305 
306  void solution::
308  {
309  this->space_ = x;
310  }
311 
312  void solution::
313  space (::std::auto_ptr< space_type > x)
314  {
315  this->space_.set (x);
316  }
317 
318 
319  // mono_coeffs
320  //
321 
323  id () const
324  {
325  return this->id_.get ();
326  }
327 
329  id ()
330  {
331  return this->id_.get ();
332  }
333 
334  void mono_coeffs::
335  id (const id_type& x)
336  {
337  this->id_.set (x);
338  }
339 
341  re () const
342  {
343  return this->re_.get ();
344  }
345 
347  re ()
348  {
349  return this->re_.get ();
350  }
351 
352  void mono_coeffs::
353  re (const re_type& x)
354  {
355  this->re_.set (x);
356  }
357 
359  im () const
360  {
361  return this->im_;
362  }
363 
365  im ()
366  {
367  return this->im_;
368  }
369 
370  void mono_coeffs::
371  im (const im_type& x)
372  {
373  this->im_.set (x);
374  }
375 
376  void mono_coeffs::
377  im (const im_optional& x)
378  {
379  this->im_ = x;
380  }
381 
382 
383  // elem_orders
384  //
385 
387  id () const
388  {
389  return this->id_.get ();
390  }
391 
393  id ()
394  {
395  return this->id_.get ();
396  }
397 
398  void elem_orders::
399  id (const id_type& x)
400  {
401  this->id_.set (x);
402  }
403 
405  ord () const
406  {
407  return this->ord_.get ();
408  }
409 
412  {
413  return this->ord_.get ();
414  }
415 
416  void elem_orders::
417  ord (const ord_type& x)
418  {
419  this->ord_.set (x);
420  }
421 
422 
423  // component
424  //
425 
427  elem_coeffs () const
428  {
429  return this->elem_coeffs_;
430  }
431 
434  {
435  return this->elem_coeffs_;
436  }
437 
438  void component::
440  {
441  this->elem_coeffs_ = s;
442  }
443 
446  {
447  return this->component_number_;
448  }
449 
452  {
453  return this->component_number_;
454  }
455 
456  void component::
458  {
459  this->component_number_.set (x);
460  }
461 
462  void component::
464  {
465  this->component_number_ = x;
466  }
467 
468 
469  // elem_coeffs
470  //
471 
473  id () const
474  {
475  return this->id_.get ();
476  }
477 
479  id ()
480  {
481  return this->id_.get ();
482  }
483 
484  void elem_coeffs::
485  id (const id_type& x)
486  {
487  this->id_.set (x);
488  }
489 
491  c () const
492  {
493  return this->c_.get ();
494  }
495 
497  c ()
498  {
499  return this->c_.get ();
500  }
501 
502  void elem_coeffs::
503  c (const c_type& x)
504  {
505  this->c_.set (x);
506  }
507 }
508 
509 #include <xsd/cxx/xml/dom/parsing-source.hxx>
510 
511 #include <xsd/cxx/tree/type-factory-map.hxx>
512 
513 namespace _xsd
514 {
515  static
516  const ::xsd::cxx::tree::type_factory_plate< 0, char >
517  type_factory_plate_init;
518 }
519 
520 namespace XMLSolution
521 {
522  // solution
523  //
524 
525  solution::
526  solution (const ncmp_type& ncmp,
527  const nel_type& nel,
528  const nc_type& nc,
529  const exact_type& exact,
530  const exactC_type& exactC)
531  : ::xml_schema::type (),
532  mono_coeffs_ (::xml_schema::flags (), this),
533  elem_orders_ (::xml_schema::flags (), this),
534  component_ (::xml_schema::flags (), this),
535  ncmp_ (ncmp, ::xml_schema::flags (), this),
536  nel_ (nel, ::xml_schema::flags (), this),
537  nc_ (nc, ::xml_schema::flags (), this),
538  exact_ (exact, ::xml_schema::flags (), this),
539  exactC_ (exactC, ::xml_schema::flags (), this),
540  exactCXR_ (::xml_schema::flags (), this),
541  exactCYR_ (::xml_schema::flags (), this),
542  exactCXC_ (::xml_schema::flags (), this),
543  exactCYC_ (::xml_schema::flags (), this),
544  space_ (::xml_schema::flags (), this)
545  {
546  }
547 
548  solution::
549  solution (const solution& x,
550  ::xml_schema::flags f,
552  : ::xml_schema::type (x, f, c),
553  mono_coeffs_ (x.mono_coeffs_, f, this),
554  elem_orders_ (x.elem_orders_, f, this),
555  component_ (x.component_, f, this),
556  ncmp_ (x.ncmp_, f, this),
557  nel_ (x.nel_, f, this),
558  nc_ (x.nc_, f, this),
559  exact_ (x.exact_, f, this),
560  exactC_ (x.exactC_, f, this),
561  exactCXR_ (x.exactCXR_, f, this),
562  exactCYR_ (x.exactCYR_, f, this),
563  exactCXC_ (x.exactCXC_, f, this),
564  exactCYC_ (x.exactCYC_, f, this),
565  space_ (x.space_, f, this)
566  {
567  }
568 
569  solution::
570  solution (const ::xercesc::DOMElement& e,
571  ::xml_schema::flags f,
573  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
574  mono_coeffs_ (f, this),
575  elem_orders_ (f, this),
576  component_ (f, this),
577  ncmp_ (f, this),
578  nel_ (f, this),
579  nc_ (f, this),
580  exact_ (f, this),
581  exactC_ (f, this),
582  exactCXR_ (f, this),
583  exactCYR_ (f, this),
584  exactCXC_ (f, this),
585  exactCYC_ (f, this),
586  space_ (f, this)
587  {
588  if ((f & ::xml_schema::flags::base) == 0)
589  {
590  ::xsd::cxx::xml::dom::parser< char > p (e, true, true);
591  this->parse (p, f);
592  }
593  }
594 
595  void solution::
596  parse (::xsd::cxx::xml::dom::parser< char >& p,
597  ::xml_schema::flags f)
598  {
599  for (; p.more_elements (); p.next_element ())
600  {
601  const ::xercesc::DOMElement& i (p.cur_element ());
602  const ::xsd::cxx::xml::qualified_name< char > n (
603  ::xsd::cxx::xml::dom::name< char > (i));
604 
605  // mono_coeffs
606  //
607  if (n.name () == "mono_coeffs" && n.namespace_ ().empty ())
608  {
609  ::std::auto_ptr< mono_coeffs_type > r (
610  mono_coeffs_traits::create (i, f, this));
611 
612  this->mono_coeffs_.push_back (r);
613  continue;
614  }
615 
616  // elem_orders
617  //
618  if (n.name () == "elem_orders" && n.namespace_ ().empty ())
619  {
620  ::std::auto_ptr< elem_orders_type > r (
621  elem_orders_traits::create (i, f, this));
622 
623  this->elem_orders_.push_back (r);
624  continue;
625  }
626 
627  // component
628  //
629  if (n.name () == "component" && n.namespace_ ().empty ())
630  {
631  ::std::auto_ptr< component_type > r (
632  component_traits::create (i, f, this));
633 
634  this->component_.push_back (r);
635  continue;
636  }
637 
638  break;
639  }
640 
641  while (p.more_attributes ())
642  {
643  const ::xercesc::DOMAttr& i (p.next_attribute ());
644  const ::xsd::cxx::xml::qualified_name< char > n (
645  ::xsd::cxx::xml::dom::name< char > (i));
646 
647  if (n.name () == "ncmp" && n.namespace_ ().empty ())
648  {
649  this->ncmp_.set (ncmp_traits::create (i, f, this));
650  continue;
651  }
652 
653  if (n.name () == "nel" && n.namespace_ ().empty ())
654  {
655  this->nel_.set (nel_traits::create (i, f, this));
656  continue;
657  }
658 
659  if (n.name () == "nc" && n.namespace_ ().empty ())
660  {
661  this->nc_.set (nc_traits::create (i, f, this));
662  continue;
663  }
664 
665  if (n.name () == "exact" && n.namespace_ ().empty ())
666  {
667  this->exact_.set (exact_traits::create (i, f, this));
668  continue;
669  }
670 
671  if (n.name () == "exactC" && n.namespace_ ().empty ())
672  {
673  this->exactC_.set (exactC_traits::create (i, f, this));
674  continue;
675  }
676 
677  if (n.name () == "exactCXR" && n.namespace_ ().empty ())
678  {
679  this->exactCXR_.set (exactCXR_traits::create (i, f, this));
680  continue;
681  }
682 
683  if (n.name () == "exactCYR" && n.namespace_ ().empty ())
684  {
685  this->exactCYR_.set (exactCYR_traits::create (i, f, this));
686  continue;
687  }
688 
689  if (n.name () == "exactCXC" && n.namespace_ ().empty ())
690  {
691  this->exactCXC_.set (exactCXC_traits::create (i, f, this));
692  continue;
693  }
694 
695  if (n.name () == "exactCYC" && n.namespace_ ().empty ())
696  {
697  this->exactCYC_.set (exactCYC_traits::create (i, f, this));
698  continue;
699  }
700 
701  if (n.name () == "space" && n.namespace_ ().empty ())
702  {
703  ::std::auto_ptr< space_type > r (
704  space_traits::create (i, f, this));
705 
706  this->space_.set (r);
707  continue;
708  }
709  }
710 
711  if (!ncmp_.present ())
712  {
713  throw ::xsd::cxx::tree::expected_attribute< char > (
714  "ncmp",
715  "");
716  }
717 
718  if (!nel_.present ())
719  {
720  throw ::xsd::cxx::tree::expected_attribute< char > (
721  "nel",
722  "");
723  }
724 
725  if (!nc_.present ())
726  {
727  throw ::xsd::cxx::tree::expected_attribute< char > (
728  "nc",
729  "");
730  }
731 
732  if (!exact_.present ())
733  {
734  throw ::xsd::cxx::tree::expected_attribute< char > (
735  "exact",
736  "");
737  }
738 
739  if (!exactC_.present ())
740  {
741  throw ::xsd::cxx::tree::expected_attribute< char > (
742  "exactC",
743  "");
744  }
745  }
746 
747  solution* solution::
749  ::xml_schema::container* c) const
750  {
751  return new class solution (*this, f, c);
752  }
753 
754  solution::
756  {
757  }
758 
759  // mono_coeffs
760  //
761 
764  const re_type& re)
765  : ::xml_schema::type (),
766  id_ (id, ::xml_schema::flags (), this),
767  re_ (re, ::xml_schema::flags (), this),
768  im_ (::xml_schema::flags (), this)
769  {
770  }
771 
774  ::xml_schema::flags f,
776  : ::xml_schema::type (x, f, c),
777  id_ (x.id_, f, this),
778  re_ (x.re_, f, this),
779  im_ (x.im_, f, this)
780  {
781  }
782 
784  mono_coeffs (const ::xercesc::DOMElement& e,
785  ::xml_schema::flags f,
787  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
788  id_ (f, this),
789  re_ (f, this),
790  im_ (f, this)
791  {
792  if ((f & ::xml_schema::flags::base) == 0)
793  {
794  ::xsd::cxx::xml::dom::parser< char > p (e, false, true);
795  this->parse (p, f);
796  }
797  }
798 
799  void mono_coeffs::
800  parse (::xsd::cxx::xml::dom::parser< char >& p,
801  ::xml_schema::flags f)
802  {
803  while (p.more_attributes ())
804  {
805  const ::xercesc::DOMAttr& i (p.next_attribute ());
806  const ::xsd::cxx::xml::qualified_name< char > n (
807  ::xsd::cxx::xml::dom::name< char > (i));
808 
809  if (n.name () == "id" && n.namespace_ ().empty ())
810  {
811  this->id_.set (id_traits::create (i, f, this));
812  continue;
813  }
814 
815  if (n.name () == "re" && n.namespace_ ().empty ())
816  {
817  this->re_.set (re_traits::create (i, f, this));
818  continue;
819  }
820 
821  if (n.name () == "im" && n.namespace_ ().empty ())
822  {
823  this->im_.set (im_traits::create (i, f, this));
824  continue;
825  }
826  }
827 
828  if (!id_.present ())
829  {
830  throw ::xsd::cxx::tree::expected_attribute< char > (
831  "id",
832  "");
833  }
834 
835  if (!re_.present ())
836  {
837  throw ::xsd::cxx::tree::expected_attribute< char > (
838  "re",
839  "");
840  }
841  }
842 
843  mono_coeffs* mono_coeffs::
845  ::xml_schema::container* c) const
846  {
847  return new class mono_coeffs (*this, f, c);
848  }
849 
852  {
853  }
854 
855  // elem_orders
856  //
857 
860  const ord_type& ord)
861  : ::xml_schema::type (),
862  id_ (id, ::xml_schema::flags (), this),
863  ord_ (ord, ::xml_schema::flags (), this)
864  {
865  }
866 
869  ::xml_schema::flags f,
871  : ::xml_schema::type (x, f, c),
872  id_ (x.id_, f, this),
873  ord_ (x.ord_, f, this)
874  {
875  }
876 
878  elem_orders (const ::xercesc::DOMElement& e,
879  ::xml_schema::flags f,
881  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
882  id_ (f, this),
883  ord_ (f, this)
884  {
885  if ((f & ::xml_schema::flags::base) == 0)
886  {
887  ::xsd::cxx::xml::dom::parser< char > p (e, false, true);
888  this->parse (p, f);
889  }
890  }
891 
892  void elem_orders::
893  parse (::xsd::cxx::xml::dom::parser< char >& p,
894  ::xml_schema::flags f)
895  {
896  while (p.more_attributes ())
897  {
898  const ::xercesc::DOMAttr& i (p.next_attribute ());
899  const ::xsd::cxx::xml::qualified_name< char > n (
900  ::xsd::cxx::xml::dom::name< char > (i));
901 
902  if (n.name () == "id" && n.namespace_ ().empty ())
903  {
904  this->id_.set (id_traits::create (i, f, this));
905  continue;
906  }
907 
908  if (n.name () == "ord" && n.namespace_ ().empty ())
909  {
910  this->ord_.set (ord_traits::create (i, f, this));
911  continue;
912  }
913  }
914 
915  if (!id_.present ())
916  {
917  throw ::xsd::cxx::tree::expected_attribute< char > (
918  "id",
919  "");
920  }
921 
922  if (!ord_.present ())
923  {
924  throw ::xsd::cxx::tree::expected_attribute< char > (
925  "ord",
926  "");
927  }
928  }
929 
930  elem_orders* elem_orders::
932  ::xml_schema::container* c) const
933  {
934  return new class elem_orders (*this, f, c);
935  }
936 
939  {
940  }
941 
942  // component
943  //
944 
947  : ::xml_schema::type (),
948  elem_coeffs_ (::xml_schema::flags (), this),
949  component_number_ (::xml_schema::flags (), this)
950  {
951  }
952 
955  ::xml_schema::flags f,
957  : ::xml_schema::type (x, f, c),
958  elem_coeffs_ (x.elem_coeffs_, f, this),
959  component_number_ (x.component_number_, f, this)
960  {
961  }
962 
964  component (const ::xercesc::DOMElement& e,
965  ::xml_schema::flags f,
967  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
968  elem_coeffs_ (f, this),
969  component_number_ (f, this)
970  {
971  if ((f & ::xml_schema::flags::base) == 0)
972  {
973  ::xsd::cxx::xml::dom::parser< char > p (e, true, true);
974  this->parse (p, f);
975  }
976  }
977 
978  void component::
979  parse (::xsd::cxx::xml::dom::parser< char >& p,
980  ::xml_schema::flags f)
981  {
982  for (; p.more_elements (); p.next_element ())
983  {
984  const ::xercesc::DOMElement& i (p.cur_element ());
985  const ::xsd::cxx::xml::qualified_name< char > n (
986  ::xsd::cxx::xml::dom::name< char > (i));
987 
988  // elem_coeffs
989  //
990  if (n.name () == "elem_coeffs" && n.namespace_ ().empty ())
991  {
992  ::std::auto_ptr< elem_coeffs_type > r (
993  elem_coeffs_traits::create (i, f, this));
994 
995  this->elem_coeffs_.push_back (r);
996  continue;
997  }
998 
999  break;
1000  }
1001 
1002  while (p.more_attributes ())
1003  {
1004  const ::xercesc::DOMAttr& i (p.next_attribute ());
1005  const ::xsd::cxx::xml::qualified_name< char > n (
1006  ::xsd::cxx::xml::dom::name< char > (i));
1007 
1008  if (n.name () == "component_number" && n.namespace_ ().empty ())
1009  {
1010  this->component_number_.set (component_number_traits::create (i, f, this));
1011  continue;
1012  }
1013  }
1014  }
1015 
1016  component* component::
1018  ::xml_schema::container* c) const
1019  {
1020  return new class component (*this, f, c);
1021  }
1022 
1023  component::
1025  {
1026  }
1027 
1028  // elem_coeffs
1029  //
1030 
1033  const c_type& c)
1034  : ::xml_schema::type (),
1035  id_ (id, ::xml_schema::flags (), this),
1036  c_ (c, ::xml_schema::flags (), this)
1037  {
1038  }
1039 
1042  ::xml_schema::flags f,
1043  ::xml_schema::container* c)
1044  : ::xml_schema::type (x, f, c),
1045  id_ (x.id_, f, this),
1046  c_ (x.c_, f, this)
1047  {
1048  }
1049 
1051  elem_coeffs (const ::xercesc::DOMElement& e,
1052  ::xml_schema::flags f,
1053  ::xml_schema::container* c)
1054  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
1055  id_ (f, this),
1056  c_ (f, this)
1057  {
1058  if ((f & ::xml_schema::flags::base) == 0)
1059  {
1060  ::xsd::cxx::xml::dom::parser< char > p (e, false, true);
1061  this->parse (p, f);
1062  }
1063  }
1064 
1065  void elem_coeffs::
1066  parse (::xsd::cxx::xml::dom::parser< char >& p,
1067  ::xml_schema::flags f)
1068  {
1069  while (p.more_attributes ())
1070  {
1071  const ::xercesc::DOMAttr& i (p.next_attribute ());
1072  const ::xsd::cxx::xml::qualified_name< char > n (
1073  ::xsd::cxx::xml::dom::name< char > (i));
1074 
1075  if (n.name () == "id" && n.namespace_ ().empty ())
1076  {
1077  this->id_.set (id_traits::create (i, f, this));
1078  continue;
1079  }
1080 
1081  if (n.name () == "c" && n.namespace_ ().empty ())
1082  {
1083  this->c_.set (c_traits::create (i, f, this));
1084  continue;
1085  }
1086  }
1087 
1088  if (!id_.present ())
1089  {
1090  throw ::xsd::cxx::tree::expected_attribute< char > (
1091  "id",
1092  "");
1093  }
1094 
1095  if (!c_.present ())
1096  {
1097  throw ::xsd::cxx::tree::expected_attribute< char > (
1098  "c",
1099  "");
1100  }
1101  }
1102 
1103  elem_coeffs* elem_coeffs::
1105  ::xml_schema::container* c) const
1106  {
1107  return new class elem_coeffs (*this, f, c);
1108  }
1109 
1112  {
1113  }
1114 }
1115 
1116 #include <ostream>
1117 
1118 #include <xsd/cxx/tree/std-ostream-map.hxx>
1119 
1120 namespace _xsd
1121 {
1122  static
1123  const ::xsd::cxx::tree::std_ostream_plate< 0, char >
1124  std_ostream_plate_init;
1125 }
1126 
1127 namespace XMLSolution
1128 {
1129  ::std::ostream&
1130  operator<< (::std::ostream& o, const solution& i)
1131  {
1133  b (i.mono_coeffs ().begin ()), e (i.mono_coeffs ().end ());
1134  b != e; ++b)
1135  {
1136  o << ::std::endl << "mono_coeffs: " << *b;
1137  }
1138 
1140  b (i.elem_orders ().begin ()), e (i.elem_orders ().end ());
1141  b != e; ++b)
1142  {
1143  o << ::std::endl << "elem_orders: " << *b;
1144  }
1145 
1147  b (i.component ().begin ()), e (i.component ().end ());
1148  b != e; ++b)
1149  {
1150  o << ::std::endl << "component: " << *b;
1151  }
1152 
1153  o << ::std::endl << "ncmp: " << i.ncmp ();
1154  o << ::std::endl << "nel: " << i.nel ();
1155  o << ::std::endl << "nc: " << i.nc ();
1156  o << ::std::endl << "exact: " << i.exact ();
1157  o << ::std::endl << "exactC: " << i.exactC ();
1158  if (i.exactCXR ())
1159  {
1160  o << ::std::endl << "exactCXR: " << *i.exactCXR ();
1161  }
1162 
1163  if (i.exactCYR ())
1164  {
1165  o << ::std::endl << "exactCYR: " << *i.exactCYR ();
1166  }
1167 
1168  if (i.exactCXC ())
1169  {
1170  o << ::std::endl << "exactCXC: " << *i.exactCXC ();
1171  }
1172 
1173  if (i.exactCYC ())
1174  {
1175  o << ::std::endl << "exactCYC: " << *i.exactCYC ();
1176  }
1177 
1178  if (i.space ())
1179  {
1180  o << ::std::endl << "space: " << *i.space ();
1181  }
1182 
1183  return o;
1184  }
1185 
1186  ::std::ostream&
1187  operator<< (::std::ostream& o, const mono_coeffs& i)
1188  {
1189  o << ::std::endl << "id: " << i.id ();
1190  o << ::std::endl << "re: " << i.re ();
1191  if (i.im ())
1192  {
1193  o << ::std::endl << "im: " << *i.im ();
1194  }
1195 
1196  return o;
1197  }
1198 
1199  ::std::ostream&
1200  operator<< (::std::ostream& o, const elem_orders& i)
1201  {
1202  o << ::std::endl << "id: " << i.id ();
1203  o << ::std::endl << "ord: " << i.ord ();
1204  return o;
1205  }
1206 
1207  ::std::ostream&
1208  operator<< (::std::ostream& o, const component& i)
1209  {
1211  b (i.elem_coeffs ().begin ()), e (i.elem_coeffs ().end ());
1212  b != e; ++b)
1213  {
1214  o << ::std::endl << "elem_coeffs: " << *b;
1215  }
1216 
1217  if (i.component_number ())
1218  {
1219  o << ::std::endl << "component_number: " << *i.component_number ();
1220  }
1221 
1222  return o;
1223  }
1224 
1225  ::std::ostream&
1226  operator<< (::std::ostream& o, const elem_coeffs& i)
1227  {
1228  o << ::std::endl << "id: " << i.id ();
1229  o << ::std::endl << "c: " << i.c ();
1230  return o;
1231  }
1232 }
1233 
1234 #include <istream>
1235 #include <xsd/cxx/xml/sax/std-input-source.hxx>
1236 #include <xsd/cxx/tree/error-handler.hxx>
1237 
1238 namespace XMLSolution
1239 {
1240  ::std::auto_ptr< ::XMLSolution::solution >
1242  ::xml_schema::flags f,
1244  {
1245  ::xsd::cxx::xml::auto_initializer i (
1246  (f & ::xml_schema::flags::dont_initialize) == 0,
1247  (f & ::xml_schema::flags::keep_dom) == 0);
1248 
1249  ::xsd::cxx::tree::error_handler< char > h;
1250 
1251  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1252  ::xsd::cxx::xml::dom::parse< char > (
1253  u, h, p, f));
1254 
1255  h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > ();
1256 
1257  ::std::auto_ptr< ::XMLSolution::solution > r (
1259  d, f | ::xml_schema::flags::own_dom, p));
1260 
1261  return r;
1262  }
1263 
1264  ::std::auto_ptr< ::XMLSolution::solution >
1267  ::xml_schema::flags f,
1269  {
1270  ::xsd::cxx::xml::auto_initializer i (
1271  (f & ::xml_schema::flags::dont_initialize) == 0,
1272  (f & ::xml_schema::flags::keep_dom) == 0);
1273 
1274  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1275  ::xsd::cxx::xml::dom::parse< char > (
1276  u, h, p, f));
1277 
1278  if (!d.get ())
1279  throw ::xsd::cxx::tree::parsing< char > ();
1280 
1281  ::std::auto_ptr< ::XMLSolution::solution > r (
1283  d, f | ::xml_schema::flags::own_dom, p));
1284 
1285  return r;
1286  }
1287 
1288  ::std::auto_ptr< ::XMLSolution::solution >
1290  ::xercesc::DOMErrorHandler& h,
1291  ::xml_schema::flags f,
1293  {
1294  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1295  ::xsd::cxx::xml::dom::parse< char > (
1296  u, h, p, f));
1297 
1298  if (!d.get ())
1299  throw ::xsd::cxx::tree::parsing< char > ();
1300 
1301  ::std::auto_ptr< ::XMLSolution::solution > r (
1303  d, f | ::xml_schema::flags::own_dom, p));
1304 
1305  return r;
1306  }
1307 
1308  ::std::auto_ptr< ::XMLSolution::solution >
1309  solution_ (::std::istream& is,
1310  ::xml_schema::flags f,
1312  {
1313  ::xsd::cxx::xml::auto_initializer i (
1314  (f & ::xml_schema::flags::dont_initialize) == 0,
1315  (f & ::xml_schema::flags::keep_dom) == 0);
1316 
1317  ::xsd::cxx::xml::sax::std_input_source isrc (is);
1318  return ::XMLSolution::solution_ (isrc, f, p);
1319  }
1320 
1321  ::std::auto_ptr< ::XMLSolution::solution >
1322  solution_ (::std::istream& is,
1324  ::xml_schema::flags f,
1326  {
1327  ::xsd::cxx::xml::auto_initializer i (
1328  (f & ::xml_schema::flags::dont_initialize) == 0,
1329  (f & ::xml_schema::flags::keep_dom) == 0);
1330 
1331  ::xsd::cxx::xml::sax::std_input_source isrc (is);
1332  return ::XMLSolution::solution_ (isrc, h, f, p);
1333  }
1334 
1335  ::std::auto_ptr< ::XMLSolution::solution >
1336  solution_ (::std::istream& is,
1337  ::xercesc::DOMErrorHandler& h,
1338  ::xml_schema::flags f,
1340  {
1341  ::xsd::cxx::xml::sax::std_input_source isrc (is);
1342  return ::XMLSolution::solution_ (isrc, h, f, p);
1343  }
1344 
1345  ::std::auto_ptr< ::XMLSolution::solution >
1346  solution_ (::std::istream& is,
1347  const ::std::string& sid,
1348  ::xml_schema::flags f,
1350  {
1351  ::xsd::cxx::xml::auto_initializer i (
1352  (f & ::xml_schema::flags::dont_initialize) == 0,
1353  (f & ::xml_schema::flags::keep_dom) == 0);
1354 
1355  ::xsd::cxx::xml::sax::std_input_source isrc (is, sid);
1356  return ::XMLSolution::solution_ (isrc, f, p);
1357  }
1358 
1359  ::std::auto_ptr< ::XMLSolution::solution >
1360  solution_ (::std::istream& is,
1361  const ::std::string& sid,
1363  ::xml_schema::flags f,
1365  {
1366  ::xsd::cxx::xml::auto_initializer i (
1367  (f & ::xml_schema::flags::dont_initialize) == 0,
1368  (f & ::xml_schema::flags::keep_dom) == 0);
1369 
1370  ::xsd::cxx::xml::sax::std_input_source isrc (is, sid);
1371  return ::XMLSolution::solution_ (isrc, h, f, p);
1372  }
1373 
1374  ::std::auto_ptr< ::XMLSolution::solution >
1375  solution_ (::std::istream& is,
1376  const ::std::string& sid,
1377  ::xercesc::DOMErrorHandler& h,
1378  ::xml_schema::flags f,
1380  {
1381  ::xsd::cxx::xml::sax::std_input_source isrc (is, sid);
1382  return ::XMLSolution::solution_ (isrc, h, f, p);
1383  }
1384 
1385  ::std::auto_ptr< ::XMLSolution::solution >
1386  solution_ (::xercesc::InputSource& i,
1387  ::xml_schema::flags f,
1389  {
1390  ::xsd::cxx::tree::error_handler< char > h;
1391 
1392  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1393  ::xsd::cxx::xml::dom::parse< char > (
1394  i, h, p, f));
1395 
1396  h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > ();
1397 
1398  ::std::auto_ptr< ::XMLSolution::solution > r (
1400  d, f | ::xml_schema::flags::own_dom, p));
1401 
1402  return r;
1403  }
1404 
1405  ::std::auto_ptr< ::XMLSolution::solution >
1406  solution_ (::xercesc::InputSource& i,
1408  ::xml_schema::flags f,
1410  {
1411  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1412  ::xsd::cxx::xml::dom::parse< char > (
1413  i, h, p, f));
1414 
1415  if (!d.get ())
1416  throw ::xsd::cxx::tree::parsing< char > ();
1417 
1418  ::std::auto_ptr< ::XMLSolution::solution > r (
1420  d, f | ::xml_schema::flags::own_dom, p));
1421 
1422  return r;
1423  }
1424 
1425  ::std::auto_ptr< ::XMLSolution::solution >
1426  solution_ (::xercesc::InputSource& i,
1427  ::xercesc::DOMErrorHandler& h,
1428  ::xml_schema::flags f,
1430  {
1431  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1432  ::xsd::cxx::xml::dom::parse< char > (
1433  i, h, p, f));
1434 
1435  if (!d.get ())
1436  throw ::xsd::cxx::tree::parsing< char > ();
1437 
1438  ::std::auto_ptr< ::XMLSolution::solution > r (
1440  d, f | ::xml_schema::flags::own_dom, p));
1441 
1442  return r;
1443  }
1444 
1445  ::std::auto_ptr< ::XMLSolution::solution >
1446  solution_ (const ::xercesc::DOMDocument& d,
1447  ::xml_schema::flags f,
1449  {
1450  if (f & ::xml_schema::flags::keep_dom)
1451  {
1452  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c (
1453  static_cast< ::xercesc::DOMDocument* > (d.cloneNode (true)));
1454 
1455  ::std::auto_ptr< ::XMLSolution::solution > r (
1457  c, f | ::xml_schema::flags::own_dom, p));
1458 
1459  return r;
1460  }
1461 
1462  const ::xercesc::DOMElement& e (*d.getDocumentElement ());
1463  const ::xsd::cxx::xml::qualified_name< char > n (
1464  ::xsd::cxx::xml::dom::name< char > (e));
1465 
1466  if (n.name () == "solution" &&
1467  n.namespace_ () == "XMLSolution")
1468  {
1469  ::std::auto_ptr< ::XMLSolution::solution > r (
1470  ::xsd::cxx::tree::traits< ::XMLSolution::solution, char >::create (
1471  e, f, 0));
1472  return r;
1473  }
1474 
1475  throw ::xsd::cxx::tree::unexpected_element < char > (
1476  n.name (),
1477  n.namespace_ (),
1478  "solution",
1479  "XMLSolution");
1480  }
1481 
1482  ::std::auto_ptr< ::XMLSolution::solution >
1483  solution_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument >& d,
1484  ::xml_schema::flags f,
1486  {
1487  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c (
1488  ((f & ::xml_schema::flags::keep_dom) &&
1489  !(f & ::xml_schema::flags::own_dom))
1490  ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true))
1491  : 0);
1492 
1493  ::xercesc::DOMDocument& doc (c.get () ? *c : *d);
1494  const ::xercesc::DOMElement& e (*doc.getDocumentElement ());
1495 
1496  const ::xsd::cxx::xml::qualified_name< char > n (
1497  ::xsd::cxx::xml::dom::name< char > (e));
1498 
1499  if (f & ::xml_schema::flags::keep_dom)
1500  doc.setUserData (::xml_schema::dom::tree_node_key,
1501  (c.get () ? &c : &d),
1502  0);
1503 
1504  if (n.name () == "solution" &&
1505  n.namespace_ () == "XMLSolution")
1506  {
1507  ::std::auto_ptr< ::XMLSolution::solution > r (
1508  ::xsd::cxx::tree::traits< ::XMLSolution::solution, char >::create (
1509  e, f, 0));
1510  return r;
1511  }
1512 
1513  throw ::xsd::cxx::tree::unexpected_element < char > (
1514  n.name (),
1515  n.namespace_ (),
1516  "solution",
1517  "XMLSolution");
1518  }
1519 }
1520 
1521 #include <ostream>
1522 #include <xsd/cxx/tree/error-handler.hxx>
1523 #include <xsd/cxx/xml/dom/serialization-source.hxx>
1524 
1525 #include <xsd/cxx/tree/type-serializer-map.hxx>
1526 
1527 namespace _xsd
1528 {
1529  static
1530  const ::xsd::cxx::tree::type_serializer_plate< 0, char >
1531  type_serializer_plate_init;
1532 }
1533 
1534 namespace XMLSolution
1535 {
1536  void
1537  solution_ (::std::ostream& o,
1538  const ::XMLSolution::solution& s,
1541  ::xml_schema::flags f)
1542  {
1543  ::xsd::cxx::xml::auto_initializer i (
1544  (f & ::xml_schema::flags::dont_initialize) == 0);
1545 
1546  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1547  ::XMLSolution::solution_ (s, m, f));
1548 
1549  ::xsd::cxx::tree::error_handler< char > h;
1550 
1551  ::xsd::cxx::xml::dom::ostream_format_target t (o);
1552  if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
1553  {
1554  h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > ();
1555  }
1556  }
1557 
1558  void
1559  solution_ (::std::ostream& o,
1560  const ::XMLSolution::solution& s,
1564  ::xml_schema::flags f)
1565  {
1566  ::xsd::cxx::xml::auto_initializer i (
1567  (f & ::xml_schema::flags::dont_initialize) == 0);
1568 
1569  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1570  ::XMLSolution::solution_ (s, m, f));
1571  ::xsd::cxx::xml::dom::ostream_format_target t (o);
1572  if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
1573  {
1574  throw ::xsd::cxx::tree::serialization< char > ();
1575  }
1576  }
1577 
1578  void
1579  solution_ (::std::ostream& o,
1580  const ::XMLSolution::solution& s,
1581  ::xercesc::DOMErrorHandler& h,
1584  ::xml_schema::flags f)
1585  {
1586  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1587  ::XMLSolution::solution_ (s, m, f));
1588  ::xsd::cxx::xml::dom::ostream_format_target t (o);
1589  if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
1590  {
1591  throw ::xsd::cxx::tree::serialization< char > ();
1592  }
1593  }
1594 
1595  void
1596  solution_ (::xercesc::XMLFormatTarget& t,
1597  const ::XMLSolution::solution& s,
1600  ::xml_schema::flags f)
1601  {
1602  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1603  ::XMLSolution::solution_ (s, m, f));
1604 
1605  ::xsd::cxx::tree::error_handler< char > h;
1606 
1607  if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
1608  {
1609  h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > ();
1610  }
1611  }
1612 
1613  void
1614  solution_ (::xercesc::XMLFormatTarget& t,
1615  const ::XMLSolution::solution& s,
1619  ::xml_schema::flags f)
1620  {
1621  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1622  ::XMLSolution::solution_ (s, m, f));
1623  if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
1624  {
1625  throw ::xsd::cxx::tree::serialization< char > ();
1626  }
1627  }
1628 
1629  void
1630  solution_ (::xercesc::XMLFormatTarget& t,
1631  const ::XMLSolution::solution& s,
1632  ::xercesc::DOMErrorHandler& h,
1635  ::xml_schema::flags f)
1636  {
1637  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1638  ::XMLSolution::solution_ (s, m, f));
1639  if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
1640  {
1641  throw ::xsd::cxx::tree::serialization< char > ();
1642  }
1643  }
1644 
1645  void
1646  solution_ (::xercesc::DOMDocument& d,
1647  const ::XMLSolution::solution& s,
1649  {
1650  ::xercesc::DOMElement& e (*d.getDocumentElement ());
1651  const ::xsd::cxx::xml::qualified_name< char > n (
1652  ::xsd::cxx::xml::dom::name< char > (e));
1653 
1654  if (n.name () == "solution" &&
1655  n.namespace_ () == "XMLSolution")
1656  {
1657  e << s;
1658  }
1659  else
1660  {
1661  throw ::xsd::cxx::tree::unexpected_element < char > (
1662  n.name (),
1663  n.namespace_ (),
1664  "solution",
1665  "XMLSolution");
1666  }
1667  }
1668 
1669  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument >
1670  solution_ (const ::XMLSolution::solution& s,
1672  ::xml_schema::flags f)
1673  {
1674  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1675  ::xsd::cxx::xml::dom::serialize< char > (
1676  "solution",
1677  "XMLSolution",
1678  m, f));
1679 
1680  ::XMLSolution::solution_ (*d, s, f);
1681  return d;
1682  }
1683 
1684  void
1685  operator<< (::xercesc::DOMElement& e, const solution& i)
1686  {
1687  e << static_cast< const ::xml_schema::type& > (i);
1688 
1689  // mono_coeffs
1690  //
1692  b (i.mono_coeffs ().begin ()), n (i.mono_coeffs ().end ());
1693  b != n; ++b)
1694  {
1695  ::xercesc::DOMElement& s (
1696  ::xsd::cxx::xml::dom::create_element (
1697  "mono_coeffs",
1698  e));
1699 
1700  s << *b;
1701  }
1702 
1703  // elem_orders
1704  //
1706  b (i.elem_orders ().begin ()), n (i.elem_orders ().end ());
1707  b != n; ++b)
1708  {
1709  ::xercesc::DOMElement& s (
1710  ::xsd::cxx::xml::dom::create_element (
1711  "elem_orders",
1712  e));
1713 
1714  s << *b;
1715  }
1716 
1717  // component
1718  //
1720  b (i.component ().begin ()), n (i.component ().end ());
1721  b != n; ++b)
1722  {
1723  ::xercesc::DOMElement& s (
1724  ::xsd::cxx::xml::dom::create_element (
1725  "component",
1726  e));
1727 
1728  s << *b;
1729  }
1730 
1731  // ncmp
1732  //
1733  {
1734  ::xercesc::DOMAttr& a (
1735  ::xsd::cxx::xml::dom::create_attribute (
1736  "ncmp",
1737  e));
1738 
1739  a << i.ncmp ();
1740  }
1741 
1742  // nel
1743  //
1744  {
1745  ::xercesc::DOMAttr& a (
1746  ::xsd::cxx::xml::dom::create_attribute (
1747  "nel",
1748  e));
1749 
1750  a << i.nel ();
1751  }
1752 
1753  // nc
1754  //
1755  {
1756  ::xercesc::DOMAttr& a (
1757  ::xsd::cxx::xml::dom::create_attribute (
1758  "nc",
1759  e));
1760 
1761  a << i.nc ();
1762  }
1763 
1764  // exact
1765  //
1766  {
1767  ::xercesc::DOMAttr& a (
1768  ::xsd::cxx::xml::dom::create_attribute (
1769  "exact",
1770  e));
1771 
1772  a << i.exact ();
1773  }
1774 
1775  // exactC
1776  //
1777  {
1778  ::xercesc::DOMAttr& a (
1779  ::xsd::cxx::xml::dom::create_attribute (
1780  "exactC",
1781  e));
1782 
1783  a << i.exactC ();
1784  }
1785 
1786  // exactCXR
1787  //
1788  if (i.exactCXR ())
1789  {
1790  ::xercesc::DOMAttr& a (
1791  ::xsd::cxx::xml::dom::create_attribute (
1792  "exactCXR",
1793  e));
1794 
1795  a << ::xml_schema::as_decimal(*i.exactCXR ());
1796  }
1797 
1798  // exactCYR
1799  //
1800  if (i.exactCYR ())
1801  {
1802  ::xercesc::DOMAttr& a (
1803  ::xsd::cxx::xml::dom::create_attribute (
1804  "exactCYR",
1805  e));
1806 
1807  a << ::xml_schema::as_decimal(*i.exactCYR ());
1808  }
1809 
1810  // exactCXC
1811  //
1812  if (i.exactCXC ())
1813  {
1814  ::xercesc::DOMAttr& a (
1815  ::xsd::cxx::xml::dom::create_attribute (
1816  "exactCXC",
1817  e));
1818 
1819  a << ::xml_schema::as_decimal(*i.exactCXC ());
1820  }
1821 
1822  // exactCYC
1823  //
1824  if (i.exactCYC ())
1825  {
1826  ::xercesc::DOMAttr& a (
1827  ::xsd::cxx::xml::dom::create_attribute (
1828  "exactCYC",
1829  e));
1830 
1831  a << ::xml_schema::as_decimal(*i.exactCYC ());
1832  }
1833 
1834  // space
1835  //
1836  if (i.space ())
1837  {
1838  ::xercesc::DOMAttr& a (
1839  ::xsd::cxx::xml::dom::create_attribute (
1840  "space",
1841  e));
1842 
1843  a << *i.space ();
1844  }
1845  }
1846 
1847  void
1848  operator<< (::xercesc::DOMElement& e, const mono_coeffs& i)
1849  {
1850  e << static_cast< const ::xml_schema::type& > (i);
1851 
1852  // id
1853  //
1854  {
1855  ::xercesc::DOMAttr& a (
1856  ::xsd::cxx::xml::dom::create_attribute (
1857  "id",
1858  e));
1859 
1860  a << i.id ();
1861  }
1862 
1863  // re
1864  //
1865  {
1866  ::xercesc::DOMAttr& a (
1867  ::xsd::cxx::xml::dom::create_attribute (
1868  "re",
1869  e));
1870 
1871  a << ::xml_schema::as_decimal(i.re ());
1872  }
1873 
1874  // im
1875  //
1876  if (i.im ())
1877  {
1878  ::xercesc::DOMAttr& a (
1879  ::xsd::cxx::xml::dom::create_attribute (
1880  "im",
1881  e));
1882 
1883  a << ::xml_schema::as_decimal(*i.im ());
1884  }
1885  }
1886 
1887  void
1888  operator<< (::xercesc::DOMElement& e, const elem_orders& i)
1889  {
1890  e << static_cast< const ::xml_schema::type& > (i);
1891 
1892  // id
1893  //
1894  {
1895  ::xercesc::DOMAttr& a (
1896  ::xsd::cxx::xml::dom::create_attribute (
1897  "id",
1898  e));
1899 
1900  a << i.id ();
1901  }
1902 
1903  // ord
1904  //
1905  {
1906  ::xercesc::DOMAttr& a (
1907  ::xsd::cxx::xml::dom::create_attribute (
1908  "ord",
1909  e));
1910 
1911  a << i.ord ();
1912  }
1913  }
1914 
1915  void
1916  operator<< (::xercesc::DOMElement& e, const component& i)
1917  {
1918  e << static_cast< const ::xml_schema::type& > (i);
1919 
1920  // elem_coeffs
1921  //
1923  b (i.elem_coeffs ().begin ()), n (i.elem_coeffs ().end ());
1924  b != n; ++b)
1925  {
1926  ::xercesc::DOMElement& s (
1927  ::xsd::cxx::xml::dom::create_element (
1928  "elem_coeffs",
1929  e));
1930 
1931  s << *b;
1932  }
1933 
1934  // component_number
1935  //
1936  if (i.component_number ())
1937  {
1938  ::xercesc::DOMAttr& a (
1939  ::xsd::cxx::xml::dom::create_attribute (
1940  "component_number",
1941  e));
1942 
1943  a << *i.component_number ();
1944  }
1945  }
1946 
1947  void
1948  operator<< (::xercesc::DOMElement& e, const elem_coeffs& i)
1949  {
1950  e << static_cast< const ::xml_schema::type& > (i);
1951 
1952  // id
1953  //
1954  {
1955  ::xercesc::DOMAttr& a (
1956  ::xsd::cxx::xml::dom::create_attribute (
1957  "id",
1958  e));
1959 
1960  a << i.id ();
1961  }
1962 
1963  // c
1964  //
1965  {
1966  ::xercesc::DOMAttr& a (
1967  ::xsd::cxx::xml::dom::create_attribute (
1968  "c",
1969  e));
1970 
1971  a << i.c ();
1972  }
1973  }
1974 }
1975 
1976 #include <xsd/cxx/post.hxx>
1977 
1978 // Begin epilogue.
1979 //
1980 //
1981 // End epilogue.
1982 
const im_optional & im() const
Return a read-only (constant) reference to the attribute container.
const exact_type & exact() const
Return a read-only (constant) reference to the attribute.
::xml_schema::decimal im_type
Attribute type.
const id_type & id() const
Return a read-only (constant) reference to the attribute.
::xml_schema::integer ncmp_type
Attribute type.
::xml_schema::integer nc_type
Attribute type.
const id_type & id() const
Return a read-only (constant) reference to the attribute.
::xsd::cxx::tree::optional< im_type > im_optional
Attribute optional container type.
::xsd::cxx::tree::flags flags
Parsing and serialization flags.
::xsd::cxx::tree::optional< exactCXC_type > exactCXC_optional
Attribute optional container type.
::xml_schema::decimal exactCYR_type
Attribute type.
::xml_schema::integer ord_type
Attribute type.
::xsd::cxx::tree::optional< exactCYC_type > exactCYC_optional
Attribute optional container type.
C++ namespace for the XMLSolution schema namespace.
mono_coeffs_sequence::const_iterator mono_coeffs_const_iterator
Element constant iterator type.
Class corresponding to the mono_coeffs schema type.
const id_type & id() const
Return a read-only (constant) reference to the attribute.
elem_orders(const id_type &, const ord_type &)
Create an instance from the ultimate base and initializers for required elements and attributes...
const re_type & re() const
Return a read-only (constant) reference to the attribute.
virtual elem_coeffs * _clone(::xml_schema::flags f=0,::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the component schema type.
::xml_schema::integer exactC_type
Attribute type.
virtual solution * _clone(::xml_schema::flags f=0,::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual component * _clone(::xml_schema::flags f=0,::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xsd::cxx::tree::as_decimal< decimal > as_decimal
Serialization wrapper for the decimal type.
mono_coeffs(const id_type &, const re_type &)
Create an instance from the ultimate base and initializers for required elements and attributes...
::xsd::cxx::tree::optional< exactCXR_type > exactCXR_optional
Attribute optional container type.
::std::auto_ptr< ::XMLSolution::solution > solution_(const ::std::string &uri,::xml_schema::flags f=0, const ::xml_schema::properties &p=::xml_schema::properties())
Parse a URI or a local file.
const component_number_optional & component_number() const
Return a read-only (constant) reference to the attribute container.
Class corresponding to the elem_orders schema type.
::xml_schema::integer nel_type
Attribute type.
const c_type & c() const
Return a read-only (constant) reference to the attribute.
component_sequence::const_iterator component_const_iterator
Element constant iterator type.
const mono_coeffs_sequence & mono_coeffs() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::type type
C++ type corresponding to the anyType XML Schema built-in type.
const space_optional & space() const
Return a read-only (constant) reference to the attribute container.
::xml_schema::integer id_type
Attribute type.
Class corresponding to the solution schema type.
::xml_schema::integer id_type
Attribute type.
virtual ~component()
Destructor.
::xml_schema::integer id_type
Attribute type.
::xml_schema::decimal re_type
Attribute type.
const component_sequence & component() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::optional< component_number_type > component_number_optional
Attribute optional container type.
solution(const ncmp_type &, const nel_type &, const nc_type &, const exact_type &, const exactC_type &)
Create an instance from the ultimate base and initializers for required elements and attributes...
::xml_schema::string space_type
Attribute type.
const ncmp_type & ncmp() const
Return a read-only (constant) reference to the attribute.
const exactCXR_optional & exactCXR() const
Return a read-only (constant) reference to the attribute container.
const exactC_type & exactC() const
Return a read-only (constant) reference to the attribute.
virtual ~elem_coeffs()
Destructor.
::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap
Namespace serialization information map.
const ord_type & ord() const
Return a read-only (constant) reference to the attribute.
component()
Create an instance from the ultimate base and initializers for required elements and attributes...
::xsd::cxx::xml::error_handler< char > error_handler
Error handler callback interface.
const XMLCh *const tree_node_key
DOM user data key for back pointers to tree nodes.
::xsd::cxx::tree::properties< char > properties
Parsing properties.
const exactCYR_optional & exactCYR() const
Return a read-only (constant) reference to the attribute container.
virtual elem_orders * _clone(::xml_schema::flags f=0,::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xsd::cxx::tree::optional< exactCYR_type > exactCYR_optional
Attribute optional container type.
const elem_orders_sequence & elem_orders() const
Return a read-only (constant) reference to the element sequence.
const elem_coeffs_sequence & elem_coeffs() const
Return a read-only (constant) reference to the element sequence.
::xml_schema::decimal exactCYC_type
Attribute type.
::xsd::cxx::tree::sequence< mono_coeffs_type > mono_coeffs_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< elem_coeffs_type > elem_coeffs_sequence
Element sequence container type.
C++ namespace for the http://www.w3.org/2001/XMLSchema schema namespace.
::xsd::cxx::tree::string< char, simple_type > string
C++ type corresponding to the string XML Schema built-in type.
Generated from solution_h2d_xml.xsd.
::xml_schema::decimal exactCXC_type
Attribute type.
virtual ~elem_orders()
Destructor.
const exactCXC_optional & exactCXC() const
Return a read-only (constant) reference to the attribute container.
virtual mono_coeffs * _clone(::xml_schema::flags f=0,::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xml_schema::integer component_number_type
Attribute type.
::xsd::cxx::tree::sequence< elem_orders_type > elem_orders_sequence
Element sequence container type.
::xsd::cxx::tree::type container
Alias for the anyType type.
::std::auto_ptr< ::XMLSpace::space > space_(const ::std::string &uri,::xml_schema::flags f=0, const ::xml_schema::properties &p=::xml_schema::properties())
Parse a URI or a local file.
const exactCYC_optional & exactCYC() const
Return a read-only (constant) reference to the attribute container.
elem_coeffs_sequence::const_iterator elem_coeffs_const_iterator
Element constant iterator type.
Class corresponding to the elem_coeffs schema type.
const nel_type & nel() const
Return a read-only (constant) reference to the attribute.
::xml_schema::integer c_type
Attribute type.
::xml_schema::decimal exactCXR_type
Attribute type.
::xsd::cxx::tree::sequence< component_type > component_sequence
Element sequence container type.
virtual ~solution()
Destructor.
elem_orders_sequence::const_iterator elem_orders_const_iterator
Element constant iterator type.
virtual ~mono_coeffs()
Destructor.
::xsd::cxx::tree::optional< space_type > space_optional
Attribute optional container type.
const nc_type & nc() const
Return a read-only (constant) reference to the attribute.
elem_coeffs(const id_type &, const c_type &)
Create an instance from the ultimate base and initializers for required elements and attributes...
::xml_schema::integer exact_type
Attribute type.