ChasteParameters.hpp

00001 // Copyright (C) 2005-2007 Code Synthesis Tools CC
00002 //
00003 // This program was generated by XML Schema Definition Compiler (XSD)
00004 //
00005 // This program is free software; you can redistribute it and/or modify
00006 // it under the terms of the GNU General Public License version 2 as
00007 // published by the Free Software Foundation.
00008 //
00009 // This program is distributed in the hope that it will be useful,
00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012 // GNU General Public License for more details.
00013 //
00014 // You should have received a copy of the GNU General Public License
00015 // along with this program; if not, write to the Free Software
00016 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
00017 //
00018 // In addition, as a special exception, Code Synthesis Tools CC gives
00019 // permission to link this program with the Xerces-C++ library (or with
00020 // modified versions of Xerces-C++ that use the same license as Xerces-C++),
00021 // and distribute linked combinations including the two. You must obey
00022 // the GNU General Public License version 2 in all respects for all of
00023 // the code used other than Xerces-C++. If you modify this copy of the
00024 // program, you may extend this exception to your version of the program,
00025 // but you are not obligated to do so. If you do not wish to do so, delete
00026 // this exception statement from your version.
00027 //
00028 // Furthermore, Code Synthesis Tools CC makes a special exception for
00029 // the Free/Libre and Open Source Software (FLOSS) which is described
00030 // in the accompanying FLOSSE file.
00031 //
00032 
00033 #ifndef CHASTE_PARAMETERS_HPP
00034 #define CHASTE_PARAMETERS_HPP
00035 
00036 #include <xsd/cxx/version.hxx>
00037 
00038 #if (XSD_INT_VERSION != 2030100L)
00039 #error XSD runtime version mismatch
00040 #endif
00041 
00042 // Begin prologue.
00043 //
00044 #define COVERAGE_IGNORE
00045 //
00046 // End prologue.
00047 
00048 #include <xsd/cxx/pre.hxx>
00049 
00050 #ifndef XSD_USE_CHAR
00051 #define XSD_USE_CHAR
00052 #endif
00053 
00054 #ifndef XSD_CXX_TREE_USE_CHAR
00055 #define XSD_CXX_TREE_USE_CHAR
00056 #endif
00057 
00058 #include <xsd/cxx/tree/exceptions.hxx>
00059 #include <xsd/cxx/tree/elements.hxx>
00060 #include <xsd/cxx/tree/types.hxx>
00061 #include <xsd/cxx/xml/error-handler.hxx>
00062 
00063 #include <xsd/cxx/tree/parsing.hxx>
00064 
00065 #include <xsd/cxx/tree/serialization.hxx>
00066 #include <xsd/cxx/xml/dom/namespace-infomap.hxx>
00067 
00068 namespace xml_schema
00069 {
00070   // anyType and anySimpleType.
00071   //
00072   typedef ::xsd::cxx::tree::type type;
00073   typedef ::xsd::cxx::tree::simple_type<type> simple_type;
00074 
00075   // 8-bit
00076   //
00077   typedef signed char byte;
00078   typedef unsigned char unsigned_byte;
00079 
00080   // 16-bit
00081   //
00082   typedef short short_;
00083   typedef unsigned short unsigned_short;
00084 
00085   // 32-bit
00086   //
00087   typedef int int_;
00088   typedef unsigned int unsigned_int;
00089 
00090   // 64-bit
00091   //
00092   typedef long long long_;
00093   typedef unsigned long long unsigned_long;
00094 
00095   // Supposed to be arbitrary-length integral types.
00096   //
00097   typedef long long integer;
00098   typedef integer non_positive_integer;
00099   typedef integer non_negative_integer;
00100   typedef integer positive_integer;
00101   typedef integer negative_integer;
00102 
00103   // Boolean.
00104   //
00105   typedef bool boolean;
00106 
00107   // Floating-point types.
00108   //
00109   typedef float float_;
00110   typedef double double_;
00111   typedef long double decimal;
00112 
00113   // String types.
00114   //
00115   typedef ::xsd::cxx::tree::string< char, simple_type > string;
00116   typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string;
00117   typedef ::xsd::cxx::tree::token< char, normalized_string > token;
00118   typedef ::xsd::cxx::tree::name< char, token > name;
00119   typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken;
00120   typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken> nmtokens;
00121   typedef ::xsd::cxx::tree::ncname< char, name > ncname;
00122   typedef ::xsd::cxx::tree::language< char, token > language;
00123 
00124   // ID/IDREF.
00125   //
00126   typedef ::xsd::cxx::tree::id< char, ncname > id;
00127   typedef ::xsd::cxx::tree::idref< type, char, ncname > idref;
00128   typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs;
00129 
00130   // URI.
00131   //
00132   typedef ::xsd::cxx::tree::uri< char, simple_type > uri;
00133 
00134   // Qualified name.
00135   //
00136   typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname;
00137 
00138   // Binary.
00139   //
00140   typedef ::xsd::cxx::tree::buffer< char > buffer;
00141   typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary;
00142   typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary;
00143 
00144   // Date/time.
00145   //
00146   typedef ::xsd::cxx::tree::date< char, simple_type > date;
00147   typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time;
00148   typedef ::xsd::cxx::tree::duration< char, simple_type > duration;
00149   typedef ::xsd::cxx::tree::day< char, simple_type > day;
00150   typedef ::xsd::cxx::tree::month< char, simple_type > month;
00151   typedef ::xsd::cxx::tree::month_day< char, simple_type > month_day;
00152   typedef ::xsd::cxx::tree::year< char, simple_type > year;
00153   typedef ::xsd::cxx::tree::year_month< char, simple_type > year_month;
00154   typedef ::xsd::cxx::tree::time< char, simple_type > time;
00155 
00156   // Entity.
00157   //
00158   typedef ::xsd::cxx::tree::entity< char, ncname > entity;
00159   typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities;
00160 
00161   // Exceptions.
00162   //
00163   typedef ::xsd::cxx::tree::exception< char > exception;
00164   typedef ::xsd::cxx::tree::parsing< char > parsing;
00165   typedef ::xsd::cxx::tree::expected_element< char > expected_element;
00166   typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element;
00167   typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute;
00168   typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator;
00169   typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content;
00170   typedef ::xsd::cxx::tree::no_type_info< char > no_type_info;
00171   typedef ::xsd::cxx::tree::not_derived< char > not_derived;
00172   typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id;
00173   typedef ::xsd::cxx::tree::serialization< char > serialization;
00174   typedef ::xsd::cxx::tree::no_namespace_mapping< char > no_namespace_mapping;
00175   typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping;
00176   typedef ::xsd::cxx::tree::xsi_already_in_use< char > xsi_already_in_use;
00177   typedef ::xsd::cxx::tree::bounds< char > bounds;
00178 
00179   // Parsing/serialization error.
00180   //
00181   typedef ::xsd::cxx::tree::error< char > error;
00182   typedef ::xsd::cxx::tree::errors< char > errors;
00183 
00184   // Error handler interface.
00185   //
00186   typedef ::xsd::cxx::xml::error_handler< char > error_handler;
00187 
00188   // Namespace information. Used in serialization functions.
00189   //
00190   typedef ::xsd::cxx::xml::dom::namespace_info < char > namespace_info;
00191   typedef ::xsd::cxx::xml::dom::namespace_infomap < char > namespace_infomap;
00192 
00193   // Flags and properties.
00194   //
00195   typedef ::xsd::cxx::tree::flags flags;
00196   typedef ::xsd::cxx::tree::properties< char > properties;
00197 
00198   // DOM user data key for back pointers to tree nodes.
00199   //
00200 #ifndef XSD_CXX_TREE_TREE_NODE_KEY_IN___XML_SCHEMA
00201 #define XSD_CXX_TREE_TREE_NODE_KEY_IN___XML_SCHEMA
00202 
00203   const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node;
00204 
00205 #endif
00206 }
00207 
00208 // Forward declarations.
00209 //
00210 class time_type;
00211 class dimensionless_type;
00212 class conductivity_type;
00213 class stimulus_strength_type;
00214 class inverse_length_type;
00215 class capacitance_type;
00216 class location_type;
00217 class domain_type;
00218 class ionic_models_available_type;
00219 class ionic_model_region_type;
00220 class ionic_models_type;
00221 class media_type;
00222 class point_type;
00223 class box_type;
00224 class stimulus_type;
00225 class cell_heterogeneity_type;
00226 class conductivity_heterogeneity_type;
00227 class slab_type;
00228 class sheet_type;
00229 class fibre_type;
00230 class load_mesh_type;
00231 class mesh_type;
00232 class conductivities_type;
00233 class time_steps_type;
00234 class ksp_use_type;
00235 class ksp_tolerances_type;
00236 class ksp_solver_type;
00237 class ksp_preconditioner_type;
00238 class simulation_type;
00239 class physiological_type;
00240 class numerical_type;
00241 class chaste_parameters_type;
00242 
00243 #include <memory>    // std::auto_ptr
00244 #include <algorithm> // std::binary_search
00245 
00246 #include <xsd/cxx/tree/exceptions.hxx>
00247 #include <xsd/cxx/tree/elements.hxx>
00248 #include <xsd/cxx/tree/containers.hxx>
00249 #include <xsd/cxx/tree/list.hxx>
00250 
00251 class time_type: public ::xsd::cxx::tree::fundamental_base< ::xml_schema::decimal, char, ::xml_schema::simple_type >
00252 {
00253   public:
00254 
00255   struct _xsd_time_type
00256   {
00257     typedef ::xml_schema::decimal base_;
00258   };
00259 
00260   // unit
00261   // 
00262   public:
00263   struct unit
00264   {
00265     typedef ::xml_schema::string type;
00266     typedef ::xsd::cxx::tree::traits< type, char > traits;
00267 
00268     static const type&
00269     default_value ();
00270 
00271     private:
00272     static const type default_value_;
00273   };
00274 
00275   const unit::type&
00276   unit () const;
00277 
00278   unit::type&
00279   unit ();
00280 
00281   void
00282   unit (const unit::type&);
00283 
00284   void
00285   unit (::std::auto_ptr< unit::type >);
00286 
00287   // Constructors.
00288   //
00289   public:
00290   time_type (const _xsd_time_type::base_& ,
00291              const unit::type&);
00292 
00293   time_type (const ::xercesc::DOMElement&,
00294              ::xml_schema::flags = 0,
00295              ::xml_schema::type* = 0);
00296 
00297   time_type (const time_type&,
00298              ::xml_schema::flags = 0,
00299              ::xml_schema::type* = 0);
00300 
00301   virtual time_type*
00302   _clone (::xml_schema::flags = 0,
00303           ::xml_schema::type* = 0) const;
00304 
00305   // Implementation.
00306   //
00307   private:
00308   void
00309   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
00310 
00311   ::xsd::cxx::tree::one< unit::type > _xsd_unit_;
00312 };
00313 
00314 class dimensionless_type: public ::xsd::cxx::tree::fundamental_base< ::xml_schema::decimal, char, ::xml_schema::simple_type >
00315 {
00316   public:
00317 
00318   struct _xsd_dimensionless_type
00319   {
00320     typedef ::xml_schema::decimal base_;
00321   };
00322 
00323   // unit
00324   // 
00325   public:
00326   struct unit
00327   {
00328     typedef ::xml_schema::string type;
00329     typedef ::xsd::cxx::tree::traits< type, char > traits;
00330 
00331     static const type&
00332     default_value ();
00333 
00334     private:
00335     static const type default_value_;
00336   };
00337 
00338   const unit::type&
00339   unit () const;
00340 
00341   unit::type&
00342   unit ();
00343 
00344   void
00345   unit (const unit::type&);
00346 
00347   void
00348   unit (::std::auto_ptr< unit::type >);
00349 
00350   // Constructors.
00351   //
00352   public:
00353   dimensionless_type (const _xsd_dimensionless_type::base_& ,
00354                       const unit::type&);
00355 
00356   dimensionless_type (const ::xercesc::DOMElement&,
00357                       ::xml_schema::flags = 0,
00358                       ::xml_schema::type* = 0);
00359 
00360   dimensionless_type (const dimensionless_type&,
00361                       ::xml_schema::flags = 0,
00362                       ::xml_schema::type* = 0);
00363 
00364   virtual dimensionless_type*
00365   _clone (::xml_schema::flags = 0,
00366           ::xml_schema::type* = 0) const;
00367 
00368   // Implementation.
00369   //
00370   private:
00371   void
00372   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
00373 
00374   ::xsd::cxx::tree::one< unit::type > _xsd_unit_;
00375 };
00376 
00377 class conductivity_type: public ::xsd::cxx::tree::fundamental_base< ::xml_schema::decimal, char, ::xml_schema::simple_type >
00378 {
00379   public:
00380 
00381   struct _xsd_conductivity_type
00382   {
00383     typedef ::xml_schema::decimal base_;
00384   };
00385 
00386   // unit
00387   // 
00388   public:
00389   struct unit
00390   {
00391     typedef ::xml_schema::string type;
00392     typedef ::xsd::cxx::tree::traits< type, char > traits;
00393 
00394     static const type&
00395     default_value ();
00396 
00397     private:
00398     static const type default_value_;
00399   };
00400 
00401   const unit::type&
00402   unit () const;
00403 
00404   unit::type&
00405   unit ();
00406 
00407   void
00408   unit (const unit::type&);
00409 
00410   void
00411   unit (::std::auto_ptr< unit::type >);
00412 
00413   // Constructors.
00414   //
00415   public:
00416   conductivity_type (const _xsd_conductivity_type::base_& ,
00417                      const unit::type&);
00418 
00419   conductivity_type (const ::xercesc::DOMElement&,
00420                      ::xml_schema::flags = 0,
00421                      ::xml_schema::type* = 0);
00422 
00423   conductivity_type (const conductivity_type&,
00424                      ::xml_schema::flags = 0,
00425                      ::xml_schema::type* = 0);
00426 
00427   virtual conductivity_type*
00428   _clone (::xml_schema::flags = 0,
00429           ::xml_schema::type* = 0) const;
00430 
00431   // Implementation.
00432   //
00433   private:
00434   void
00435   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
00436 
00437   ::xsd::cxx::tree::one< unit::type > _xsd_unit_;
00438 };
00439 
00440 class stimulus_strength_type: public ::xsd::cxx::tree::fundamental_base< ::xml_schema::decimal, char, ::xml_schema::simple_type >
00441 {
00442   public:
00443 
00444   struct _xsd_stimulus_strength_type
00445   {
00446     typedef ::xml_schema::decimal base_;
00447   };
00448 
00449   // unit
00450   // 
00451   public:
00452   struct unit
00453   {
00454     typedef ::xml_schema::string type;
00455     typedef ::xsd::cxx::tree::traits< type, char > traits;
00456 
00457     static const type&
00458     default_value ();
00459 
00460     private:
00461     static const type default_value_;
00462   };
00463 
00464   const unit::type&
00465   unit () const;
00466 
00467   unit::type&
00468   unit ();
00469 
00470   void
00471   unit (const unit::type&);
00472 
00473   void
00474   unit (::std::auto_ptr< unit::type >);
00475 
00476   // Constructors.
00477   //
00478   public:
00479   stimulus_strength_type (const _xsd_stimulus_strength_type::base_& ,
00480                           const unit::type&);
00481 
00482   stimulus_strength_type (const ::xercesc::DOMElement&,
00483                           ::xml_schema::flags = 0,
00484                           ::xml_schema::type* = 0);
00485 
00486   stimulus_strength_type (const stimulus_strength_type&,
00487                           ::xml_schema::flags = 0,
00488                           ::xml_schema::type* = 0);
00489 
00490   virtual stimulus_strength_type*
00491   _clone (::xml_schema::flags = 0,
00492           ::xml_schema::type* = 0) const;
00493 
00494   // Implementation.
00495   //
00496   private:
00497   void
00498   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
00499 
00500   ::xsd::cxx::tree::one< unit::type > _xsd_unit_;
00501 };
00502 
00503 class inverse_length_type: public ::xsd::cxx::tree::fundamental_base< ::xml_schema::decimal, char, ::xml_schema::simple_type >
00504 {
00505   public:
00506 
00507   struct _xsd_inverse_length_type
00508   {
00509     typedef ::xml_schema::decimal base_;
00510   };
00511 
00512   // unit
00513   // 
00514   public:
00515   struct unit
00516   {
00517     typedef ::xml_schema::string type;
00518     typedef ::xsd::cxx::tree::traits< type, char > traits;
00519 
00520     static const type&
00521     default_value ();
00522 
00523     private:
00524     static const type default_value_;
00525   };
00526 
00527   const unit::type&
00528   unit () const;
00529 
00530   unit::type&
00531   unit ();
00532 
00533   void
00534   unit (const unit::type&);
00535 
00536   void
00537   unit (::std::auto_ptr< unit::type >);
00538 
00539   // Constructors.
00540   //
00541   public:
00542   inverse_length_type (const _xsd_inverse_length_type::base_& ,
00543                        const unit::type&);
00544 
00545   inverse_length_type (const ::xercesc::DOMElement&,
00546                        ::xml_schema::flags = 0,
00547                        ::xml_schema::type* = 0);
00548 
00549   inverse_length_type (const inverse_length_type&,
00550                        ::xml_schema::flags = 0,
00551                        ::xml_schema::type* = 0);
00552 
00553   virtual inverse_length_type*
00554   _clone (::xml_schema::flags = 0,
00555           ::xml_schema::type* = 0) const;
00556 
00557   // Implementation.
00558   //
00559   private:
00560   void
00561   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
00562 
00563   ::xsd::cxx::tree::one< unit::type > _xsd_unit_;
00564 };
00565 
00566 class capacitance_type: public ::xsd::cxx::tree::fundamental_base< ::xml_schema::decimal, char, ::xml_schema::simple_type >
00567 {
00568   public:
00569 
00570   struct _xsd_capacitance_type
00571   {
00572     typedef ::xml_schema::decimal base_;
00573   };
00574 
00575   // unit
00576   // 
00577   public:
00578   struct unit
00579   {
00580     typedef ::xml_schema::string type;
00581     typedef ::xsd::cxx::tree::traits< type, char > traits;
00582 
00583     static const type&
00584     default_value ();
00585 
00586     private:
00587     static const type default_value_;
00588   };
00589 
00590   const unit::type&
00591   unit () const;
00592 
00593   unit::type&
00594   unit ();
00595 
00596   void
00597   unit (const unit::type&);
00598 
00599   void
00600   unit (::std::auto_ptr< unit::type >);
00601 
00602   // Constructors.
00603   //
00604   public:
00605   capacitance_type (const _xsd_capacitance_type::base_& ,
00606                     const unit::type&);
00607 
00608   capacitance_type (const ::xercesc::DOMElement&,
00609                     ::xml_schema::flags = 0,
00610                     ::xml_schema::type* = 0);
00611 
00612   capacitance_type (const capacitance_type&,
00613                     ::xml_schema::flags = 0,
00614                     ::xml_schema::type* = 0);
00615 
00616   virtual capacitance_type*
00617   _clone (::xml_schema::flags = 0,
00618           ::xml_schema::type* = 0) const;
00619 
00620   // Implementation.
00621   //
00622   private:
00623   void
00624   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
00625 
00626   ::xsd::cxx::tree::one< unit::type > _xsd_unit_;
00627 };
00628 
00629 class location_type: public ::xml_schema::type
00630 {
00631   public:
00632 
00633   struct _xsd_location_type
00634   {
00635     typedef ::xml_schema::type base_;
00636   };
00637 
00638   // Cuboid
00639   // 
00640   public:
00641   struct Cuboid
00642   {
00643     typedef ::box_type type;
00644     typedef ::xsd::cxx::tree::traits< type, char > traits;
00645   };
00646 
00647   const Cuboid::type&
00648   Cuboid () const;
00649 
00650   Cuboid::type&
00651   Cuboid ();
00652 
00653   void
00654   Cuboid (const Cuboid::type&);
00655 
00656   void
00657   Cuboid (::std::auto_ptr< Cuboid::type >);
00658 
00659   // unit
00660   // 
00661   public:
00662   struct unit
00663   {
00664     typedef ::xml_schema::string type;
00665     typedef ::xsd::cxx::tree::traits< type, char > traits;
00666 
00667     static const type&
00668     default_value ();
00669 
00670     private:
00671     static const type default_value_;
00672   };
00673 
00674   const unit::type&
00675   unit () const;
00676 
00677   unit::type&
00678   unit ();
00679 
00680   void
00681   unit (const unit::type&);
00682 
00683   void
00684   unit (::std::auto_ptr< unit::type >);
00685 
00686   // Constructors.
00687   //
00688   public:
00689   location_type (const Cuboid::type&,
00690                  const unit::type&);
00691 
00692   location_type (const ::xercesc::DOMElement&,
00693                  ::xml_schema::flags = 0,
00694                  ::xml_schema::type* = 0);
00695 
00696   location_type (const location_type&,
00697                  ::xml_schema::flags = 0,
00698                  ::xml_schema::type* = 0);
00699 
00700   virtual location_type*
00701   _clone (::xml_schema::flags = 0,
00702           ::xml_schema::type* = 0) const;
00703 
00704   // Implementation.
00705   //
00706   private:
00707   void
00708   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
00709 
00710   ::xsd::cxx::tree::one< Cuboid::type > _xsd_Cuboid_;
00711   ::xsd::cxx::tree::one< unit::type > _xsd_unit_;
00712 };
00713 
00714 class domain_type: public ::xml_schema::string
00715 {
00716   public:
00717   enum _xsd_domain_type
00718   {
00719     Mono,
00720     Bi
00721   };
00722 
00723   domain_type (_xsd_domain_type);
00724 
00725   domain_type (const ::xml_schema::string&);
00726 
00727   domain_type (const ::xercesc::DOMElement&,
00728                ::xml_schema::flags = 0,
00729                ::xml_schema::type* = 0);
00730 
00731   domain_type (const ::xercesc::DOMAttr&,
00732                ::xml_schema::flags = 0,
00733                ::xml_schema::type* = 0);
00734 
00735   domain_type (const ::std::basic_string< char >&,
00736                const ::xercesc::DOMElement*,
00737                ::xml_schema::flags = 0,
00738                ::xml_schema::type* = 0);
00739 
00740   domain_type (const domain_type&,
00741                ::xml_schema::flags = 0,
00742                ::xml_schema::type* = 0);
00743 
00744   virtual domain_type*
00745   _clone (::xml_schema::flags = 0,
00746           ::xml_schema::type* = 0) const;
00747 
00748   domain_type&
00749   operator= (_xsd_domain_type);
00750 
00751   virtual
00752   operator _xsd_domain_type () const
00753   {
00754     return _xsd_domain_type_convert ();
00755   }
00756 
00757   protected:
00758   _xsd_domain_type
00759   _xsd_domain_type_convert () const;
00760 
00761   public:
00762   static const char* const _xsd_domain_type_literals_[2];
00763   static const _xsd_domain_type _xsd_domain_type_indexes_[2];
00764 };
00765 
00766 class ionic_models_available_type: public ::xml_schema::string
00767 {
00768   public:
00769   enum _xsd_ionic_models_available_type
00770   {
00771     Fox2002BackwardEuler,
00772     LuoRudyIBackwardEuler,
00773     LuoRudyI,
00774     FaberRudy2000Optimised,
00775     FaberRudy2000,
00776     DifrancescoNoble,
00777     MahajanShiferaw,
00778     HodgkinHuxley,
00779     tenTusscher2006
00780   };
00781 
00782   ionic_models_available_type (_xsd_ionic_models_available_type);
00783 
00784   ionic_models_available_type (const ::xml_schema::string&);
00785 
00786   ionic_models_available_type (const ::xercesc::DOMElement&,
00787                                ::xml_schema::flags = 0,
00788                                ::xml_schema::type* = 0);
00789 
00790   ionic_models_available_type (const ::xercesc::DOMAttr&,
00791                                ::xml_schema::flags = 0,
00792                                ::xml_schema::type* = 0);
00793 
00794   ionic_models_available_type (const ::std::basic_string< char >&,
00795                                const ::xercesc::DOMElement*,
00796                                ::xml_schema::flags = 0,
00797                                ::xml_schema::type* = 0);
00798 
00799   ionic_models_available_type (const ionic_models_available_type&,
00800                                ::xml_schema::flags = 0,
00801                                ::xml_schema::type* = 0);
00802 
00803   virtual ionic_models_available_type*
00804   _clone (::xml_schema::flags = 0,
00805           ::xml_schema::type* = 0) const;
00806 
00807   ionic_models_available_type&
00808   operator= (_xsd_ionic_models_available_type);
00809 
00810   virtual
00811   operator _xsd_ionic_models_available_type () const
00812   {
00813     return _xsd_ionic_models_available_type_convert ();
00814   }
00815 
00816   protected:
00817   _xsd_ionic_models_available_type
00818   _xsd_ionic_models_available_type_convert () const;
00819 
00820   public:
00821   static const char* const _xsd_ionic_models_available_type_literals_[9];
00822   static const _xsd_ionic_models_available_type _xsd_ionic_models_available_type_indexes_[9];
00823 };
00824 
00825 class ionic_model_region_type: public ::xml_schema::type
00826 {
00827   public:
00828 
00829   struct _xsd_ionic_model_region_type
00830   {
00831     typedef ::xml_schema::type base_;
00832   };
00833 
00834   // IonicModel
00835   // 
00836   public:
00837   struct IonicModel
00838   {
00839     typedef ::ionic_models_available_type type;
00840     typedef ::xsd::cxx::tree::traits< type, char > traits;
00841   };
00842 
00843   const IonicModel::type&
00844   IonicModel () const;
00845 
00846   IonicModel::type&
00847   IonicModel ();
00848 
00849   void
00850   IonicModel (const IonicModel::type&);
00851 
00852   void
00853   IonicModel (::std::auto_ptr< IonicModel::type >);
00854 
00855   // Location
00856   // 
00857   public:
00858   struct Location
00859   {
00860     typedef ::location_type type;
00861     typedef ::xsd::cxx::tree::traits< type, char > traits;
00862   };
00863 
00864   const Location::type&
00865   Location () const;
00866 
00867   Location::type&
00868   Location ();
00869 
00870   void
00871   Location (const Location::type&);
00872 
00873   void
00874   Location (::std::auto_ptr< Location::type >);
00875 
00876   // Constructors.
00877   //
00878   public:
00879   ionic_model_region_type (const IonicModel::type&,
00880                            const Location::type&);
00881 
00882   ionic_model_region_type (const ::xercesc::DOMElement&,
00883                            ::xml_schema::flags = 0,
00884                            ::xml_schema::type* = 0);
00885 
00886   ionic_model_region_type (const ionic_model_region_type&,
00887                            ::xml_schema::flags = 0,
00888                            ::xml_schema::type* = 0);
00889 
00890   virtual ionic_model_region_type*
00891   _clone (::xml_schema::flags = 0,
00892           ::xml_schema::type* = 0) const;
00893 
00894   // Implementation.
00895   //
00896   private:
00897   void
00898   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
00899 
00900   ::xsd::cxx::tree::one< IonicModel::type > _xsd_IonicModel_;
00901   ::xsd::cxx::tree::one< Location::type > _xsd_Location_;
00902 };
00903 
00904 class ionic_models_type: public ::xml_schema::type
00905 {
00906   public:
00907 
00908   struct _xsd_ionic_models_type
00909   {
00910     typedef ::xml_schema::type base_;
00911   };
00912 
00913   // Default
00914   // 
00915   public:
00916   struct Default
00917   {
00918     typedef ::ionic_models_available_type type;
00919     typedef ::xsd::cxx::tree::traits< type, char > traits;
00920   };
00921 
00922   const Default::type&
00923   Default () const;
00924 
00925   Default::type&
00926   Default ();
00927 
00928   void
00929   Default (const Default::type&);
00930 
00931   void
00932   Default (::std::auto_ptr< Default::type >);
00933 
00934   // Region
00935   // 
00936   public:
00937   struct Region
00938   {
00939     typedef ::ionic_model_region_type type;
00940     typedef ::xsd::cxx::tree::traits< type, char > traits;
00941     typedef ::xsd::cxx::tree::sequence< type > container;
00942     typedef container::iterator iterator;
00943     typedef container::const_iterator const_iterator;
00944   };
00945 
00946   const Region::container&
00947   Region () const;
00948 
00949   Region::container&
00950   Region ();
00951 
00952   void
00953   Region (const Region::container&);
00954 
00955   // Constructors.
00956   //
00957   public:
00958   ionic_models_type (const Default::type&);
00959 
00960   ionic_models_type (const ::xercesc::DOMElement&,
00961                      ::xml_schema::flags = 0,
00962                      ::xml_schema::type* = 0);
00963 
00964   ionic_models_type (const ionic_models_type&,
00965                      ::xml_schema::flags = 0,
00966                      ::xml_schema::type* = 0);
00967 
00968   virtual ionic_models_type*
00969   _clone (::xml_schema::flags = 0,
00970           ::xml_schema::type* = 0) const;
00971 
00972   // Implementation.
00973   //
00974   private:
00975   void
00976   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
00977 
00978   ::xsd::cxx::tree::one< Default::type > _xsd_Default_;
00979   ::xsd::cxx::tree::sequence< Region::type > _xsd_Region_;
00980 };
00981 
00982 class media_type: public ::xml_schema::string
00983 {
00984   public:
00985   enum _xsd_media_type
00986   {
00987     Orthotropic,
00988     Axisymmetric,
00989     NoFibreOrientation
00990   };
00991 
00992   media_type (_xsd_media_type);
00993 
00994   media_type (const ::xml_schema::string&);
00995 
00996   media_type (const ::xercesc::DOMElement&,
00997               ::xml_schema::flags = 0,
00998               ::xml_schema::type* = 0);
00999 
01000   media_type (const ::xercesc::DOMAttr&,
01001               ::xml_schema::flags = 0,
01002               ::xml_schema::type* = 0);
01003 
01004   media_type (const ::std::basic_string< char >&,
01005               const ::xercesc::DOMElement*,
01006               ::xml_schema::flags = 0,
01007               ::xml_schema::type* = 0);
01008 
01009   media_type (const media_type&,
01010               ::xml_schema::flags = 0,
01011               ::xml_schema::type* = 0);
01012 
01013   virtual media_type*
01014   _clone (::xml_schema::flags = 0,
01015           ::xml_schema::type* = 0) const;
01016 
01017   media_type&
01018   operator= (_xsd_media_type);
01019 
01020   virtual
01021   operator _xsd_media_type () const
01022   {
01023     return _xsd_media_type_convert ();
01024   }
01025 
01026   protected:
01027   _xsd_media_type
01028   _xsd_media_type_convert () const;
01029 
01030   public:
01031   static const char* const _xsd_media_type_literals_[3];
01032   static const _xsd_media_type _xsd_media_type_indexes_[3];
01033 };
01034 
01035 class point_type: public ::xml_schema::type
01036 {
01037   public:
01038 
01039   struct _xsd_point_type
01040   {
01041     typedef ::xml_schema::type base_;
01042   };
01043 
01044   // x
01045   // 
01046   public:
01047   struct x
01048   {
01049     typedef ::xml_schema::double_ type;
01050     typedef ::xsd::cxx::tree::traits< type, char > traits;
01051   };
01052 
01053   const x::type&
01054   x () const;
01055 
01056   x::type&
01057   x ();
01058 
01059   void
01060   x (const x::type&);
01061 
01062   // y
01063   // 
01064   public:
01065   struct y
01066   {
01067     typedef ::xml_schema::double_ type;
01068     typedef ::xsd::cxx::tree::traits< type, char > traits;
01069   };
01070 
01071   const y::type&
01072   y () const;
01073 
01074   y::type&
01075   y ();
01076 
01077   void
01078   y (const y::type&);
01079 
01080   // z
01081   // 
01082   public:
01083   struct z
01084   {
01085     typedef ::xml_schema::double_ type;
01086     typedef ::xsd::cxx::tree::traits< type, char > traits;
01087   };
01088 
01089   const z::type&
01090   z () const;
01091 
01092   z::type&
01093   z ();
01094 
01095   void
01096   z (const z::type&);
01097 
01098   // Constructors.
01099   //
01100   public:
01101   point_type (const x::type&,
01102               const y::type&,
01103               const z::type&);
01104 
01105   point_type (const ::xercesc::DOMElement&,
01106               ::xml_schema::flags = 0,
01107               ::xml_schema::type* = 0);
01108 
01109   point_type (const point_type&,
01110               ::xml_schema::flags = 0,
01111               ::xml_schema::type* = 0);
01112 
01113   virtual point_type*
01114   _clone (::xml_schema::flags = 0,
01115           ::xml_schema::type* = 0) const;
01116 
01117   // Implementation.
01118   //
01119   private:
01120   void
01121   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
01122 
01123   ::xsd::cxx::tree::one< x::type > _xsd_x_;
01124   ::xsd::cxx::tree::one< y::type > _xsd_y_;
01125   ::xsd::cxx::tree::one< z::type > _xsd_z_;
01126 };
01127 
01128 class box_type: public ::xml_schema::type
01129 {
01130   public:
01131 
01132   struct _xsd_box_type
01133   {
01134     typedef ::xml_schema::type base_;
01135   };
01136 
01137   // LowerCoordinates
01138   // 
01139   public:
01140   struct LowerCoordinates
01141   {
01142     typedef ::point_type type;
01143     typedef ::xsd::cxx::tree::traits< type, char > traits;
01144   };
01145 
01146   const LowerCoordinates::type&
01147   LowerCoordinates () const;
01148 
01149   LowerCoordinates::type&
01150   LowerCoordinates ();
01151 
01152   void
01153   LowerCoordinates (const LowerCoordinates::type&);
01154 
01155   void
01156   LowerCoordinates (::std::auto_ptr< LowerCoordinates::type >);
01157 
01158   // UpperCoordinates
01159   // 
01160   public:
01161   struct UpperCoordinates
01162   {
01163     typedef ::point_type type;
01164     typedef ::xsd::cxx::tree::traits< type, char > traits;
01165   };
01166 
01167   const UpperCoordinates::type&
01168   UpperCoordinates () const;
01169 
01170   UpperCoordinates::type&
01171   UpperCoordinates ();
01172 
01173   void
01174   UpperCoordinates (const UpperCoordinates::type&);
01175 
01176   void
01177   UpperCoordinates (::std::auto_ptr< UpperCoordinates::type >);
01178 
01179   // Constructors.
01180   //
01181   public:
01182   box_type (const LowerCoordinates::type&,
01183             const UpperCoordinates::type&);
01184 
01185   box_type (const ::xercesc::DOMElement&,
01186             ::xml_schema::flags = 0,
01187             ::xml_schema::type* = 0);
01188 
01189   box_type (const box_type&,
01190             ::xml_schema::flags = 0,
01191             ::xml_schema::type* = 0);
01192 
01193   virtual box_type*
01194   _clone (::xml_schema::flags = 0,
01195           ::xml_schema::type* = 0) const;
01196 
01197   // Implementation.
01198   //
01199   private:
01200   void
01201   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
01202 
01203   ::xsd::cxx::tree::one< LowerCoordinates::type > _xsd_LowerCoordinates_;
01204   ::xsd::cxx::tree::one< UpperCoordinates::type > _xsd_UpperCoordinates_;
01205 };
01206 
01207 class stimulus_type: public ::xml_schema::type
01208 {
01209   public:
01210 
01211   struct _xsd_stimulus_type
01212   {
01213     typedef ::xml_schema::type base_;
01214   };
01215 
01216   // Strength
01217   // 
01218   public:
01219   struct Strength
01220   {
01221     typedef ::stimulus_strength_type type;
01222     typedef ::xsd::cxx::tree::traits< type, char > traits;
01223   };
01224 
01225   const Strength::type&
01226   Strength () const;
01227 
01228   Strength::type&
01229   Strength ();
01230 
01231   void
01232   Strength (const Strength::type&);
01233 
01234   void
01235   Strength (::std::auto_ptr< Strength::type >);
01236 
01237   // Duration
01238   // 
01239   public:
01240   struct Duration
01241   {
01242     typedef ::time_type type;
01243     typedef ::xsd::cxx::tree::traits< type, char > traits;
01244   };
01245 
01246   const Duration::type&
01247   Duration () const;
01248 
01249   Duration::type&
01250   Duration ();
01251 
01252   void
01253   Duration (const Duration::type&);
01254 
01255   void
01256   Duration (::std::auto_ptr< Duration::type >);
01257 
01258   // Delay
01259   // 
01260   public:
01261   struct Delay
01262   {
01263     typedef ::time_type type;
01264     typedef ::xsd::cxx::tree::traits< type, char > traits;
01265   };
01266 
01267   const Delay::type&
01268   Delay () const;
01269 
01270   Delay::type&
01271   Delay ();
01272 
01273   void
01274   Delay (const Delay::type&);
01275 
01276   void
01277   Delay (::std::auto_ptr< Delay::type >);
01278 
01279   // Location
01280   // 
01281   public:
01282   struct Location
01283   {
01284     typedef ::location_type type;
01285     typedef ::xsd::cxx::tree::traits< type, char > traits;
01286   };
01287 
01288   const Location::type&
01289   Location () const;
01290 
01291   Location::type&
01292   Location ();
01293 
01294   void
01295   Location (const Location::type&);
01296 
01297   void
01298   Location (::std::auto_ptr< Location::type >);
01299 
01300   // Constructors.
01301   //
01302   public:
01303   stimulus_type (const Strength::type&,
01304                  const Duration::type&,
01305                  const Delay::type&,
01306                  const Location::type&);
01307 
01308   stimulus_type (const ::xercesc::DOMElement&,
01309                  ::xml_schema::flags = 0,
01310                  ::xml_schema::type* = 0);
01311 
01312   stimulus_type (const stimulus_type&,
01313                  ::xml_schema::flags = 0,
01314                  ::xml_schema::type* = 0);
01315 
01316   virtual stimulus_type*
01317   _clone (::xml_schema::flags = 0,
01318           ::xml_schema::type* = 0) const;
01319 
01320   // Implementation.
01321   //
01322   private:
01323   void
01324   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
01325 
01326   ::xsd::cxx::tree::one< Strength::type > _xsd_Strength_;
01327   ::xsd::cxx::tree::one< Duration::type > _xsd_Duration_;
01328   ::xsd::cxx::tree::one< Delay::type > _xsd_Delay_;
01329   ::xsd::cxx::tree::one< Location::type > _xsd_Location_;
01330 };
01331 
01332 class cell_heterogeneity_type: public ::xml_schema::type
01333 {
01334   public:
01335 
01336   struct _xsd_cell_heterogeneity_type
01337   {
01338     typedef ::xml_schema::type base_;
01339   };
01340 
01341   // ScaleFactorGks
01342   // 
01343   public:
01344   struct ScaleFactorGks
01345   {
01346     typedef ::dimensionless_type type;
01347     typedef ::xsd::cxx::tree::traits< type, char > traits;
01348   };
01349 
01350   const ScaleFactorGks::type&
01351   ScaleFactorGks () const;
01352 
01353   ScaleFactorGks::type&
01354   ScaleFactorGks ();
01355 
01356   void
01357   ScaleFactorGks (const ScaleFactorGks::type&);
01358 
01359   void
01360   ScaleFactorGks (::std::auto_ptr< ScaleFactorGks::type >);
01361 
01362   // ScaleFactorIto
01363   // 
01364   public:
01365   struct ScaleFactorIto
01366   {
01367     typedef ::dimensionless_type type;
01368     typedef ::xsd::cxx::tree::traits< type, char > traits;
01369   };
01370 
01371   const ScaleFactorIto::type&
01372   ScaleFactorIto () const;
01373 
01374   ScaleFactorIto::type&
01375   ScaleFactorIto ();
01376 
01377   void
01378   ScaleFactorIto (const ScaleFactorIto::type&);
01379 
01380   void
01381   ScaleFactorIto (::std::auto_ptr< ScaleFactorIto::type >);
01382 
01383   // ScaleFactorGkr
01384   // 
01385   public:
01386   struct ScaleFactorGkr
01387   {
01388     typedef ::dimensionless_type type;
01389     typedef ::xsd::cxx::tree::traits< type, char > traits;
01390   };
01391 
01392   const ScaleFactorGkr::type&
01393   ScaleFactorGkr () const;
01394 
01395   ScaleFactorGkr::type&
01396   ScaleFactorGkr ();
01397 
01398   void
01399   ScaleFactorGkr (const ScaleFactorGkr::type&);
01400 
01401   void
01402   ScaleFactorGkr (::std::auto_ptr< ScaleFactorGkr::type >);
01403 
01404   // Location
01405   // 
01406   public:
01407   struct Location
01408   {
01409     typedef ::location_type type;
01410     typedef ::xsd::cxx::tree::traits< type, char > traits;
01411   };
01412 
01413   const Location::type&
01414   Location () const;
01415 
01416   Location::type&
01417   Location ();
01418 
01419   void
01420   Location (const Location::type&);
01421 
01422   void
01423   Location (::std::auto_ptr< Location::type >);
01424 
01425   // Constructors.
01426   //
01427   public:
01428   cell_heterogeneity_type (const ScaleFactorGks::type&,
01429                            const ScaleFactorIto::type&,
01430                            const ScaleFactorGkr::type&,
01431                            const Location::type&);
01432 
01433   cell_heterogeneity_type (const ::xercesc::DOMElement&,
01434                            ::xml_schema::flags = 0,
01435                            ::xml_schema::type* = 0);
01436 
01437   cell_heterogeneity_type (const cell_heterogeneity_type&,
01438                            ::xml_schema::flags = 0,
01439                            ::xml_schema::type* = 0);
01440 
01441   virtual cell_heterogeneity_type*
01442   _clone (::xml_schema::flags = 0,
01443           ::xml_schema::type* = 0) const;
01444 
01445   // Implementation.
01446   //
01447   private:
01448   void
01449   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
01450 
01451   ::xsd::cxx::tree::one< ScaleFactorGks::type > _xsd_ScaleFactorGks_;
01452   ::xsd::cxx::tree::one< ScaleFactorIto::type > _xsd_ScaleFactorIto_;
01453   ::xsd::cxx::tree::one< ScaleFactorGkr::type > _xsd_ScaleFactorGkr_;
01454   ::xsd::cxx::tree::one< Location::type > _xsd_Location_;
01455 };
01456 
01457 class conductivity_heterogeneity_type: public ::xml_schema::type
01458 {
01459   public:
01460 
01461   struct _xsd_conductivity_heterogeneity_type
01462   {
01463     typedef ::xml_schema::type base_;
01464   };
01465 
01466   // IntracellularConductivities
01467   // 
01468   public:
01469   struct IntracellularConductivities
01470   {
01471     typedef ::conductivities_type type;
01472     typedef ::xsd::cxx::tree::traits< type, char > traits;
01473     typedef ::xsd::cxx::tree::optional< type > container;
01474   };
01475 
01476   const IntracellularConductivities::container&
01477   IntracellularConductivities () const;
01478 
01479   IntracellularConductivities::container&
01480   IntracellularConductivities ();
01481 
01482   void
01483   IntracellularConductivities (const IntracellularConductivities::type&);
01484 
01485   void
01486   IntracellularConductivities (const IntracellularConductivities::container&);
01487 
01488   void
01489   IntracellularConductivities (::std::auto_ptr< IntracellularConductivities::type >);
01490 
01491   // ExtracellularConductivities
01492   // 
01493   public:
01494   struct ExtracellularConductivities
01495   {
01496     typedef ::conductivities_type type;
01497     typedef ::xsd::cxx::tree::traits< type, char > traits;
01498     typedef ::xsd::cxx::tree::optional< type > container;
01499   };
01500 
01501   const ExtracellularConductivities::container&
01502   ExtracellularConductivities () const;
01503 
01504   ExtracellularConductivities::container&
01505   ExtracellularConductivities ();
01506 
01507   void
01508   ExtracellularConductivities (const ExtracellularConductivities::type&);
01509 
01510   void
01511   ExtracellularConductivities (const ExtracellularConductivities::container&);
01512 
01513   void
01514   ExtracellularConductivities (::std::auto_ptr< ExtracellularConductivities::type >);
01515 
01516   // Location
01517   // 
01518   public:
01519   struct Location
01520   {
01521     typedef ::location_type type;
01522     typedef ::xsd::cxx::tree::traits< type, char > traits;
01523   };
01524 
01525   const Location::type&
01526   Location () const;
01527 
01528   Location::type&
01529   Location ();
01530 
01531   void
01532   Location (const Location::type&);
01533 
01534   void
01535   Location (::std::auto_ptr< Location::type >);
01536 
01537   // Constructors.
01538   //
01539   public:
01540   conductivity_heterogeneity_type (const Location::type&);
01541 
01542   conductivity_heterogeneity_type (const ::xercesc::DOMElement&,
01543                                    ::xml_schema::flags = 0,
01544                                    ::xml_schema::type* = 0);
01545 
01546   conductivity_heterogeneity_type (const conductivity_heterogeneity_type&,
01547                                    ::xml_schema::flags = 0,
01548                                    ::xml_schema::type* = 0);
01549 
01550   virtual conductivity_heterogeneity_type*
01551   _clone (::xml_schema::flags = 0,
01552           ::xml_schema::type* = 0) const;
01553 
01554   // Implementation.
01555   //
01556   private:
01557   void
01558   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
01559 
01560   ::xsd::cxx::tree::optional< IntracellularConductivities::type > _xsd_IntracellularConductivities_;
01561   ::xsd::cxx::tree::optional< ExtracellularConductivities::type > _xsd_ExtracellularConductivities_;
01562   ::xsd::cxx::tree::one< Location::type > _xsd_Location_;
01563 };
01564 
01565 class slab_type: public ::xml_schema::type
01566 {
01567   public:
01568 
01569   struct _xsd_slab_type
01570   {
01571     typedef ::xml_schema::type base_;
01572   };
01573 
01574   // x
01575   // 
01576   public:
01577   struct x
01578   {
01579     typedef ::xml_schema::double_ type;
01580     typedef ::xsd::cxx::tree::traits< type, char > traits;
01581   };
01582 
01583   const x::type&
01584   x () const;
01585 
01586   x::type&
01587   x ();
01588 
01589   void
01590   x (const x::type&);
01591 
01592   // y
01593   // 
01594   public:
01595   struct y
01596   {
01597     typedef ::xml_schema::double_ type;
01598     typedef ::xsd::cxx::tree::traits< type, char > traits;
01599   };
01600 
01601   const y::type&
01602   y () const;
01603 
01604   y::type&
01605   y ();
01606 
01607   void
01608   y (const y::type&);
01609 
01610   // z
01611   // 
01612   public:
01613   struct z
01614   {
01615     typedef ::xml_schema::double_ type;
01616     typedef ::xsd::cxx::tree::traits< type, char > traits;
01617   };
01618 
01619   const z::type&
01620   z () const;
01621 
01622   z::type&
01623   z ();
01624 
01625   void
01626   z (const z::type&);
01627 
01628   // inter_node_space
01629   // 
01630   public:
01631   struct inter_node_space
01632   {
01633     typedef ::xml_schema::double_ type;
01634     typedef ::xsd::cxx::tree::traits< type, char > traits;
01635   };
01636 
01637   const inter_node_space::type&
01638   inter_node_space () const;
01639 
01640   inter_node_space::type&
01641   inter_node_space ();
01642 
01643   void
01644   inter_node_space (const inter_node_space::type&);
01645 
01646   // Constructors.
01647   //
01648   public:
01649   slab_type (const x::type&,
01650              const y::type&,
01651              const z::type&,
01652              const inter_node_space::type&);
01653 
01654   slab_type (const ::xercesc::DOMElement&,
01655              ::xml_schema::flags = 0,
01656              ::xml_schema::type* = 0);
01657 
01658   slab_type (const slab_type&,
01659              ::xml_schema::flags = 0,
01660              ::xml_schema::type* = 0);
01661 
01662   virtual slab_type*
01663   _clone (::xml_schema::flags = 0,
01664           ::xml_schema::type* = 0) const;
01665 
01666   // Implementation.
01667   //
01668   private:
01669   void
01670   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
01671 
01672   ::xsd::cxx::tree::one< x::type > _xsd_x_;
01673   ::xsd::cxx::tree::one< y::type > _xsd_y_;
01674   ::xsd::cxx::tree::one< z::type > _xsd_z_;
01675   ::xsd::cxx::tree::one< inter_node_space::type > _xsd_inter_node_space_;
01676 };
01677 
01678 class sheet_type: public ::xml_schema::type
01679 {
01680   public:
01681 
01682   struct _xsd_sheet_type
01683   {
01684     typedef ::xml_schema::type base_;
01685   };
01686 
01687   // x
01688   // 
01689   public:
01690   struct x
01691   {
01692     typedef ::xml_schema::double_ type;
01693     typedef ::xsd::cxx::tree::traits< type, char > traits;
01694   };
01695 
01696   const x::type&
01697   x () const;
01698 
01699   x::type&
01700   x ();
01701 
01702   void
01703   x (const x::type&);
01704 
01705   // y
01706   // 
01707   public:
01708   struct y
01709   {
01710     typedef ::xml_schema::double_ type;
01711     typedef ::xsd::cxx::tree::traits< type, char > traits;
01712   };
01713 
01714   const y::type&
01715   y () const;
01716 
01717   y::type&
01718   y ();
01719 
01720   void
01721   y (const y::type&);
01722 
01723   // inter_node_space
01724   // 
01725   public:
01726   struct inter_node_space
01727   {
01728     typedef ::xml_schema::double_ type;
01729     typedef ::xsd::cxx::tree::traits< type, char > traits;
01730   };
01731 
01732   const inter_node_space::type&
01733   inter_node_space () const;
01734 
01735   inter_node_space::type&
01736   inter_node_space ();
01737 
01738   void
01739   inter_node_space (const inter_node_space::type&);
01740 
01741   // Constructors.
01742   //
01743   public:
01744   sheet_type (const x::type&,
01745               const y::type&,
01746               const inter_node_space::type&);
01747 
01748   sheet_type (const ::xercesc::DOMElement&,
01749               ::xml_schema::flags = 0,
01750               ::xml_schema::type* = 0);
01751 
01752   sheet_type (const sheet_type&,
01753               ::xml_schema::flags = 0,
01754               ::xml_schema::type* = 0);
01755 
01756   virtual sheet_type*
01757   _clone (::xml_schema::flags = 0,
01758           ::xml_schema::type* = 0) const;
01759 
01760   // Implementation.
01761   //
01762   private:
01763   void
01764   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
01765 
01766   ::xsd::cxx::tree::one< x::type > _xsd_x_;
01767   ::xsd::cxx::tree::one< y::type > _xsd_y_;
01768   ::xsd::cxx::tree::one< inter_node_space::type > _xsd_inter_node_space_;
01769 };
01770 
01771 class fibre_type: public ::xml_schema::type
01772 {
01773   public:
01774 
01775   struct _xsd_fibre_type
01776   {
01777     typedef ::xml_schema::type base_;
01778   };
01779 
01780   // x
01781   // 
01782   public:
01783   struct x
01784   {
01785     typedef ::xml_schema::double_ type;
01786     typedef ::xsd::cxx::tree::traits< type, char > traits;
01787   };
01788 
01789   const x::type&
01790   x () const;
01791 
01792   x::type&
01793   x ();
01794 
01795   void
01796   x (const x::type&);
01797 
01798   // inter_node_space
01799   // 
01800   public:
01801   struct inter_node_space
01802   {
01803     typedef ::xml_schema::double_ type;
01804     typedef ::xsd::cxx::tree::traits< type, char > traits;
01805   };
01806 
01807   const inter_node_space::type&
01808   inter_node_space () const;
01809 
01810   inter_node_space::type&
01811   inter_node_space ();
01812 
01813   void
01814   inter_node_space (const inter_node_space::type&);
01815 
01816   // Constructors.
01817   //
01818   public:
01819   fibre_type (const x::type&,
01820               const inter_node_space::type&);
01821 
01822   fibre_type (const ::xercesc::DOMElement&,
01823               ::xml_schema::flags = 0,
01824               ::xml_schema::type* = 0);
01825 
01826   fibre_type (const fibre_type&,
01827               ::xml_schema::flags = 0,
01828               ::xml_schema::type* = 0);
01829 
01830   virtual fibre_type*
01831   _clone (::xml_schema::flags = 0,
01832           ::xml_schema::type* = 0) const;
01833 
01834   // Implementation.
01835   //
01836   private:
01837   void
01838   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
01839 
01840   ::xsd::cxx::tree::one< x::type > _xsd_x_;
01841   ::xsd::cxx::tree::one< inter_node_space::type > _xsd_inter_node_space_;
01842 };
01843 
01844 class load_mesh_type: public ::xml_schema::type
01845 {
01846   public:
01847 
01848   struct _xsd_load_mesh_type
01849   {
01850     typedef ::xml_schema::type base_;
01851   };
01852 
01853   // name
01854   // 
01855   public:
01856   struct name
01857   {
01858     typedef ::xml_schema::string type;
01859     typedef ::xsd::cxx::tree::traits< type, char > traits;
01860   };
01861 
01862   const name::type&
01863   name () const;
01864 
01865   name::type&
01866   name ();
01867 
01868   void
01869   name (const name::type&);
01870 
01871   void
01872   name (::std::auto_ptr< name::type >);
01873 
01874   // conductivity_media
01875   // 
01876   public:
01877   struct conductivity_media
01878   {
01879     typedef ::media_type type;
01880     typedef ::xsd::cxx::tree::traits< type, char > traits;
01881   };
01882 
01883   const conductivity_media::type&
01884   conductivity_media () const;
01885 
01886   conductivity_media::type&
01887   conductivity_media ();
01888 
01889   void
01890   conductivity_media (const conductivity_media::type&);
01891 
01892   void
01893   conductivity_media (::std::auto_ptr< conductivity_media::type >);
01894 
01895   // Constructors.
01896   //
01897   public:
01898   load_mesh_type (const name::type&,
01899                   const conductivity_media::type&);
01900 
01901   load_mesh_type (const ::xercesc::DOMElement&,
01902                   ::xml_schema::flags = 0,
01903                   ::xml_schema::type* = 0);
01904 
01905   load_mesh_type (const load_mesh_type&,
01906                   ::xml_schema::flags = 0,
01907                   ::xml_schema::type* = 0);
01908 
01909   virtual load_mesh_type*
01910   _clone (::xml_schema::flags = 0,
01911           ::xml_schema::type* = 0) const;
01912 
01913   // Implementation.
01914   //
01915   private:
01916   void
01917   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
01918 
01919   ::xsd::cxx::tree::one< name::type > _xsd_name_;
01920   ::xsd::cxx::tree::one< conductivity_media::type > _xsd_conductivity_media_;
01921 };
01922 
01923 class mesh_type: public ::xml_schema::type
01924 {
01925   public:
01926 
01927   struct _xsd_mesh_type
01928   {
01929     typedef ::xml_schema::type base_;
01930   };
01931 
01932   // Slab
01933   // 
01934   public:
01935   struct Slab
01936   {
01937     typedef ::slab_type type;
01938     typedef ::xsd::cxx::tree::traits< type, char > traits;
01939     typedef ::xsd::cxx::tree::optional< type > container;
01940   };
01941 
01942   const Slab::container&
01943   Slab () const;
01944 
01945   Slab::container&
01946   Slab ();
01947 
01948   void
01949   Slab (const Slab::type&);
01950 
01951   void
01952   Slab (const Slab::container&);
01953 
01954   void
01955   Slab (::std::auto_ptr< Slab::type >);
01956 
01957   // Sheet
01958   // 
01959   public:
01960   struct Sheet
01961   {
01962     typedef ::sheet_type type;
01963     typedef ::xsd::cxx::tree::traits< type, char > traits;
01964     typedef ::xsd::cxx::tree::optional< type > container;
01965   };
01966 
01967   const Sheet::container&
01968   Sheet () const;
01969 
01970   Sheet::container&
01971   Sheet ();
01972 
01973   void
01974   Sheet (const Sheet::type&);
01975 
01976   void
01977   Sheet (const Sheet::container&);
01978 
01979   void
01980   Sheet (::std::auto_ptr< Sheet::type >);
01981 
01982   // Fibre
01983   // 
01984   public:
01985   struct Fibre
01986   {
01987     typedef ::fibre_type type;
01988     typedef ::xsd::cxx::tree::traits< type, char > traits;
01989     typedef ::xsd::cxx::tree::optional< type > container;
01990   };
01991 
01992   const Fibre::container&
01993   Fibre () const;
01994 
01995   Fibre::container&
01996   Fibre ();
01997 
01998   void
01999   Fibre (const Fibre::type&);
02000 
02001   void
02002   Fibre (const Fibre::container&);
02003 
02004   void
02005   Fibre (::std::auto_ptr< Fibre::type >);
02006 
02007   // LoadMesh
02008   // 
02009   public:
02010   struct LoadMesh
02011   {
02012     typedef ::load_mesh_type type;
02013     typedef ::xsd::cxx::tree::traits< type, char > traits;
02014     typedef ::xsd::cxx::tree::optional< type > container;
02015   };
02016 
02017   const LoadMesh::container&
02018   LoadMesh () const;
02019 
02020   LoadMesh::container&
02021   LoadMesh ();
02022 
02023   void
02024   LoadMesh (const LoadMesh::type&);
02025 
02026   void
02027   LoadMesh (const LoadMesh::container&);
02028 
02029   void
02030   LoadMesh (::std::auto_ptr< LoadMesh::type >);
02031 
02032   // unit
02033   // 
02034   public:
02035   struct unit
02036   {
02037     typedef ::xml_schema::string type;
02038     typedef ::xsd::cxx::tree::traits< type, char > traits;
02039 
02040     static const type&
02041     default_value ();
02042 
02043     private:
02044     static const type default_value_;
02045   };
02046 
02047   const unit::type&
02048   unit () const;
02049 
02050   unit::type&
02051   unit ();
02052 
02053   void
02054   unit (const unit::type&);
02055 
02056   void
02057   unit (::std::auto_ptr< unit::type >);
02058 
02059   // Constructors.
02060   //
02061   public:
02062   mesh_type (const unit::type&);
02063 
02064   mesh_type (const ::xercesc::DOMElement&,
02065              ::xml_schema::flags = 0,
02066              ::xml_schema::type* = 0);
02067 
02068   mesh_type (const mesh_type&,
02069              ::xml_schema::flags = 0,
02070              ::xml_schema::type* = 0);
02071 
02072   virtual mesh_type*
02073   _clone (::xml_schema::flags = 0,
02074           ::xml_schema::type* = 0) const;
02075 
02076   // Implementation.
02077   //
02078   private:
02079   void
02080   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
02081 
02082   ::xsd::cxx::tree::optional< Slab::type > _xsd_Slab_;
02083   ::xsd::cxx::tree::optional< Sheet::type > _xsd_Sheet_;
02084   ::xsd::cxx::tree::optional< Fibre::type > _xsd_Fibre_;
02085   ::xsd::cxx::tree::optional< LoadMesh::type > _xsd_LoadMesh_;
02086   ::xsd::cxx::tree::one< unit::type > _xsd_unit_;
02087 };
02088 
02089 class conductivities_type: public ::xml_schema::type
02090 {
02091   public:
02092 
02093   struct _xsd_conductivities_type
02094   {
02095     typedef ::xml_schema::type base_;
02096   };
02097 
02098   // longi
02099   // 
02100   public:
02101   struct longi
02102   {
02103     typedef ::xml_schema::double_ type;
02104     typedef ::xsd::cxx::tree::traits< type, char > traits;
02105   };
02106 
02107   const longi::type&
02108   longi () const;
02109 
02110   longi::type&
02111   longi ();
02112 
02113   void
02114   longi (const longi::type&);
02115 
02116   // trans
02117   // 
02118   public:
02119   struct trans
02120   {
02121     typedef ::xml_schema::double_ type;
02122     typedef ::xsd::cxx::tree::traits< type, char > traits;
02123   };
02124 
02125   const trans::type&
02126   trans () const;
02127 
02128   trans::type&
02129   trans ();
02130 
02131   void
02132   trans (const trans::type&);
02133 
02134   // normal
02135   // 
02136   public:
02137   struct normal
02138   {
02139     typedef ::xml_schema::double_ type;
02140     typedef ::xsd::cxx::tree::traits< type, char > traits;
02141   };
02142 
02143   const normal::type&
02144   normal () const;
02145 
02146   normal::type&
02147   normal ();
02148 
02149   void
02150   normal (const normal::type&);
02151 
02152   // unit
02153   // 
02154   public:
02155   struct unit
02156   {
02157     typedef ::xml_schema::string type;
02158     typedef ::xsd::cxx::tree::traits< type, char > traits;
02159 
02160     static const type&
02161     default_value ();
02162 
02163     private:
02164     static const type default_value_;
02165   };
02166 
02167   const unit::type&
02168   unit () const;
02169 
02170   unit::type&
02171   unit ();
02172 
02173   void
02174   unit (const unit::type&);
02175 
02176   void
02177   unit (::std::auto_ptr< unit::type >);
02178 
02179   // Constructors.
02180   //
02181   public:
02182   conductivities_type (const longi::type&,
02183                        const trans::type&,
02184                        const normal::type&,
02185                        const unit::type&);
02186 
02187   conductivities_type (const ::xercesc::DOMElement&,
02188                        ::xml_schema::flags = 0,
02189                        ::xml_schema::type* = 0);
02190 
02191   conductivities_type (const conductivities_type&,
02192                        ::xml_schema::flags = 0,
02193                        ::xml_schema::type* = 0);
02194 
02195   virtual conductivities_type*
02196   _clone (::xml_schema::flags = 0,
02197           ::xml_schema::type* = 0) const;
02198 
02199   // Implementation.
02200   //
02201   private:
02202   void
02203   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
02204 
02205   ::xsd::cxx::tree::one< longi::type > _xsd_longi_;
02206   ::xsd::cxx::tree::one< trans::type > _xsd_trans_;
02207   ::xsd::cxx::tree::one< normal::type > _xsd_normal_;
02208   ::xsd::cxx::tree::one< unit::type > _xsd_unit_;
02209 };
02210 
02211 class time_steps_type: public ::xml_schema::type
02212 {
02213   public:
02214 
02215   struct _xsd_time_steps_type
02216   {
02217     typedef ::xml_schema::type base_;
02218   };
02219 
02220   // ode
02221   // 
02222   public:
02223   struct ode
02224   {
02225     typedef ::xml_schema::double_ type;
02226     typedef ::xsd::cxx::tree::traits< type, char > traits;
02227   };
02228 
02229   const ode::type&
02230   ode () const;
02231 
02232   ode::type&
02233   ode ();
02234 
02235   void
02236   ode (const ode::type&);
02237 
02238   // pde
02239   // 
02240   public:
02241   struct pde
02242   {
02243     typedef ::xml_schema::double_ type;
02244     typedef ::xsd::cxx::tree::traits< type, char > traits;
02245   };
02246 
02247   const pde::type&
02248   pde () const;
02249 
02250   pde::type&
02251   pde ();
02252 
02253   void
02254   pde (const pde::type&);
02255 
02256   // printing
02257   // 
02258   public:
02259   struct printing
02260   {
02261     typedef ::xml_schema::double_ type;
02262     typedef ::xsd::cxx::tree::traits< type, char > traits;
02263   };
02264 
02265   const printing::type&
02266   printing () const;
02267 
02268   printing::type&
02269   printing ();
02270 
02271   void
02272   printing (const printing::type&);
02273 
02274   // unit
02275   // 
02276   public:
02277   struct unit
02278   {
02279     typedef ::xml_schema::string type;
02280     typedef ::xsd::cxx::tree::traits< type, char > traits;
02281 
02282     static const type&
02283     default_value ();
02284 
02285     private:
02286     static const type default_value_;
02287   };
02288 
02289   const unit::type&
02290   unit () const;
02291 
02292   unit::type&
02293   unit ();
02294 
02295   void
02296   unit (const unit::type&);
02297 
02298   void
02299   unit (::std::auto_ptr< unit::type >);
02300 
02301   // Constructors.
02302   //
02303   public:
02304   time_steps_type (const ode::type&,
02305                    const pde::type&,
02306                    const printing::type&,
02307                    const unit::type&);
02308 
02309   time_steps_type (const ::xercesc::DOMElement&,
02310                    ::xml_schema::flags = 0,
02311                    ::xml_schema::type* = 0);
02312 
02313   time_steps_type (const time_steps_type&,
02314                    ::xml_schema::flags = 0,
02315                    ::xml_schema::type* = 0);
02316 
02317   virtual time_steps_type*
02318   _clone (::xml_schema::flags = 0,
02319           ::xml_schema::type* = 0) const;
02320 
02321   // Implementation.
02322   //
02323   private:
02324   void
02325   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
02326 
02327   ::xsd::cxx::tree::one< ode::type > _xsd_ode_;
02328   ::xsd::cxx::tree::one< pde::type > _xsd_pde_;
02329   ::xsd::cxx::tree::one< printing::type > _xsd_printing_;
02330   ::xsd::cxx::tree::one< unit::type > _xsd_unit_;
02331 };
02332 
02333 class ksp_use_type: public ::xml_schema::string
02334 {
02335   public:
02336   enum _xsd_ksp_use_type
02337   {
02338     relative,
02339     absolute
02340   };
02341 
02342   ksp_use_type (_xsd_ksp_use_type);
02343 
02344   ksp_use_type (const ::xml_schema::string&);
02345 
02346   ksp_use_type (const ::xercesc::DOMElement&,
02347                 ::xml_schema::flags = 0,
02348                 ::xml_schema::type* = 0);
02349 
02350   ksp_use_type (const ::xercesc::DOMAttr&,
02351                 ::xml_schema::flags = 0,
02352                 ::xml_schema::type* = 0);
02353 
02354   ksp_use_type (const ::std::basic_string< char >&,
02355                 const ::xercesc::DOMElement*,
02356                 ::xml_schema::flags = 0,
02357                 ::xml_schema::type* = 0);
02358 
02359   ksp_use_type (const ksp_use_type&,
02360                 ::xml_schema::flags = 0,
02361                 ::xml_schema::type* = 0);
02362 
02363   virtual ksp_use_type*
02364   _clone (::xml_schema::flags = 0,
02365           ::xml_schema::type* = 0) const;
02366 
02367   ksp_use_type&
02368   operator= (_xsd_ksp_use_type);
02369 
02370   virtual
02371   operator _xsd_ksp_use_type () const
02372   {
02373     return _xsd_ksp_use_type_convert ();
02374   }
02375 
02376   protected:
02377   _xsd_ksp_use_type
02378   _xsd_ksp_use_type_convert () const;
02379 
02380   public:
02381   static const char* const _xsd_ksp_use_type_literals_[2];
02382   static const _xsd_ksp_use_type _xsd_ksp_use_type_indexes_[2];
02383 };
02384 
02385 class ksp_tolerances_type: public ::xml_schema::type
02386 {
02387   public:
02388 
02389   struct _xsd_ksp_tolerances_type
02390   {
02391     typedef ::xml_schema::type base_;
02392   };
02393 
02394   // KSPRelative
02395   // 
02396   public:
02397   struct KSPRelative
02398   {
02399     typedef ::xml_schema::double_ type;
02400     typedef ::xsd::cxx::tree::traits< type, char > traits;
02401     typedef ::xsd::cxx::tree::optional< type > container;
02402   };
02403 
02404   const KSPRelative::container&
02405   KSPRelative () const;
02406 
02407   KSPRelative::container&
02408   KSPRelative ();
02409 
02410   void
02411   KSPRelative (const KSPRelative::type&);
02412 
02413   void
02414   KSPRelative (const KSPRelative::container&);
02415 
02416   // KSPAbsolute
02417   // 
02418   public:
02419   struct KSPAbsolute
02420   {
02421     typedef ::xml_schema::double_ type;
02422     typedef ::xsd::cxx::tree::traits< type, char > traits;
02423     typedef ::xsd::cxx::tree::optional< type > container;
02424   };
02425 
02426   const KSPAbsolute::container&
02427   KSPAbsolute () const;
02428 
02429   KSPAbsolute::container&
02430   KSPAbsolute ();
02431 
02432   void
02433   KSPAbsolute (const KSPAbsolute::type&);
02434 
02435   void
02436   KSPAbsolute (const KSPAbsolute::container&);
02437 
02438   // Constructors.
02439   //
02440   public:
02441   ksp_tolerances_type ();
02442 
02443   ksp_tolerances_type (const ::xercesc::DOMElement&,
02444                        ::xml_schema::flags = 0,
02445                        ::xml_schema::type* = 0);
02446 
02447   ksp_tolerances_type (const ksp_tolerances_type&,
02448                        ::xml_schema::flags = 0,
02449                        ::xml_schema::type* = 0);
02450 
02451   virtual ksp_tolerances_type*
02452   _clone (::xml_schema::flags = 0,
02453           ::xml_schema::type* = 0) const;
02454 
02455   // Implementation.
02456   //
02457   private:
02458   void
02459   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
02460 
02461   ::xsd::cxx::tree::optional< KSPRelative::type > _xsd_KSPRelative_;
02462   ::xsd::cxx::tree::optional< KSPAbsolute::type > _xsd_KSPAbsolute_;
02463 };
02464 
02465 class ksp_solver_type: public ::xml_schema::string
02466 {
02467   public:
02468   enum _xsd_ksp_solver_type
02469   {
02470     cg,
02471     symmlq,
02472     gmres
02473   };
02474 
02475   ksp_solver_type (_xsd_ksp_solver_type);
02476 
02477   ksp_solver_type (const ::xml_schema::string&);
02478 
02479   ksp_solver_type (const ::xercesc::DOMElement&,
02480                    ::xml_schema::flags = 0,
02481                    ::xml_schema::type* = 0);
02482 
02483   ksp_solver_type (const ::xercesc::DOMAttr&,
02484                    ::xml_schema::flags = 0,
02485                    ::xml_schema::type* = 0);
02486 
02487   ksp_solver_type (const ::std::basic_string< char >&,
02488                    const ::xercesc::DOMElement*,
02489                    ::xml_schema::flags = 0,
02490                    ::xml_schema::type* = 0);
02491 
02492   ksp_solver_type (const ksp_solver_type&,
02493                    ::xml_schema::flags = 0,
02494                    ::xml_schema::type* = 0);
02495 
02496   virtual ksp_solver_type*
02497   _clone (::xml_schema::flags = 0,
02498           ::xml_schema::type* = 0) const;
02499 
02500   ksp_solver_type&
02501   operator= (_xsd_ksp_solver_type);
02502 
02503   virtual
02504   operator _xsd_ksp_solver_type () const
02505   {
02506     return _xsd_ksp_solver_type_convert ();
02507   }
02508 
02509   protected:
02510   _xsd_ksp_solver_type
02511   _xsd_ksp_solver_type_convert () const;
02512 
02513   public:
02514   static const char* const _xsd_ksp_solver_type_literals_[3];
02515   static const _xsd_ksp_solver_type _xsd_ksp_solver_type_indexes_[3];
02516 };
02517 
02518 class ksp_preconditioner_type: public ::xml_schema::string
02519 {
02520   public:
02521   enum _xsd_ksp_preconditioner_type
02522   {
02523     ilu,
02524     jacobi,
02525     bjacobi,
02526     hypre,
02527     none
02528   };
02529 
02530   ksp_preconditioner_type (_xsd_ksp_preconditioner_type);
02531 
02532   ksp_preconditioner_type (const ::xml_schema::string&);
02533 
02534   ksp_preconditioner_type (const ::xercesc::DOMElement&,
02535                            ::xml_schema::flags = 0,
02536                            ::xml_schema::type* = 0);
02537 
02538   ksp_preconditioner_type (const ::xercesc::DOMAttr&,
02539                            ::xml_schema::flags = 0,
02540                            ::xml_schema::type* = 0);
02541 
02542   ksp_preconditioner_type (const ::std::basic_string< char >&,
02543                            const ::xercesc::DOMElement*,
02544                            ::xml_schema::flags = 0,
02545                            ::xml_schema::type* = 0);
02546 
02547   ksp_preconditioner_type (const ksp_preconditioner_type&,
02548                            ::xml_schema::flags = 0,
02549                            ::xml_schema::type* = 0);
02550 
02551   virtual ksp_preconditioner_type*
02552   _clone (::xml_schema::flags = 0,
02553           ::xml_schema::type* = 0) const;
02554 
02555   ksp_preconditioner_type&
02556   operator= (_xsd_ksp_preconditioner_type);
02557 
02558   virtual
02559   operator _xsd_ksp_preconditioner_type () const
02560   {
02561     return _xsd_ksp_preconditioner_type_convert ();
02562   }
02563 
02564   protected:
02565   _xsd_ksp_preconditioner_type
02566   _xsd_ksp_preconditioner_type_convert () const;
02567 
02568   public:
02569   static const char* const _xsd_ksp_preconditioner_type_literals_[5];
02570   static const _xsd_ksp_preconditioner_type _xsd_ksp_preconditioner_type_indexes_[5];
02571 };
02572 
02573 class simulation_type: public ::xml_schema::type
02574 {
02575   public:
02576 
02577   struct _xsd_simulation_type
02578   {
02579     typedef ::xml_schema::type base_;
02580   };
02581 
02582   // SpaceDimension
02583   // 
02584   public:
02585   struct SpaceDimension
02586   {
02587     typedef ::xml_schema::integer type;
02588     typedef ::xsd::cxx::tree::traits< type, char > traits;
02589     typedef ::xsd::cxx::tree::optional< type > container;
02590   };
02591 
02592   const SpaceDimension::container&
02593   SpaceDimension () const;
02594 
02595   SpaceDimension::container&
02596   SpaceDimension ();
02597 
02598   void
02599   SpaceDimension (const SpaceDimension::type&);
02600 
02601   void
02602   SpaceDimension (const SpaceDimension::container&);
02603 
02604   // SimulationDuration
02605   // 
02606   public:
02607   struct SimulationDuration
02608   {
02609     typedef ::time_type type;
02610     typedef ::xsd::cxx::tree::traits< type, char > traits;
02611     typedef ::xsd::cxx::tree::optional< type > container;
02612   };
02613 
02614   const SimulationDuration::container&
02615   SimulationDuration () const;
02616 
02617   SimulationDuration::container&
02618   SimulationDuration ();
02619 
02620   void
02621   SimulationDuration (const SimulationDuration::type&);
02622 
02623   void
02624   SimulationDuration (const SimulationDuration::container&);
02625 
02626   void
02627   SimulationDuration (::std::auto_ptr< SimulationDuration::type >);
02628 
02629   // Domain
02630   // 
02631   public:
02632   struct Domain
02633   {
02634     typedef ::domain_type type;
02635     typedef ::xsd::cxx::tree::traits< type, char > traits;
02636     typedef ::xsd::cxx::tree::optional< type > container;
02637   };
02638 
02639   const Domain::container&
02640   Domain () const;
02641 
02642   Domain::container&
02643   Domain ();
02644 
02645   void
02646   Domain (const Domain::type&);
02647 
02648   void
02649   Domain (const Domain::container&);
02650 
02651   void
02652   Domain (::std::auto_ptr< Domain::type >);
02653 
02654   // Mesh
02655   // 
02656   public:
02657   struct Mesh
02658   {
02659     typedef ::mesh_type type;
02660     typedef ::xsd::cxx::tree::traits< type, char > traits;
02661     typedef ::xsd::cxx::tree::optional< type > container;
02662   };
02663 
02664   const Mesh::container&
02665   Mesh () const;
02666 
02667   Mesh::container&
02668   Mesh ();
02669 
02670   void
02671   Mesh (const Mesh::type&);
02672 
02673   void
02674   Mesh (const Mesh::container&);
02675 
02676   void
02677   Mesh (::std::auto_ptr< Mesh::type >);
02678 
02679   // IonicModels
02680   // 
02681   public:
02682   struct IonicModels
02683   {
02684     typedef ::ionic_models_type type;
02685     typedef ::xsd::cxx::tree::traits< type, char > traits;
02686     typedef ::xsd::cxx::tree::optional< type > container;
02687   };
02688 
02689   const IonicModels::container&
02690   IonicModels () const;
02691 
02692   IonicModels::container&
02693   IonicModels ();
02694 
02695   void
02696   IonicModels (const IonicModels::type&);
02697 
02698   void
02699   IonicModels (const IonicModels::container&);
02700 
02701   void
02702   IonicModels (::std::auto_ptr< IonicModels::type >);
02703 
02704   // Stimuli
02705   // 
02706   public:
02707   struct Stimuli
02708   {
02709     struct _xsd_Stimuli_
02710     {
02711       class Stimuli: public ::xml_schema::type
02712       {
02713         public:
02714 
02715         struct _xsd_Stimuli
02716         {
02717           typedef ::xml_schema::type base_;
02718         };
02719 
02720         // Stimulus
02721         // 
02722         public:
02723         struct Stimulus
02724         {
02725           typedef ::stimulus_type type;
02726           typedef ::xsd::cxx::tree::traits< type, char > traits;
02727           typedef ::xsd::cxx::tree::sequence< type > container;
02728           typedef container::iterator iterator;
02729           typedef container::const_iterator const_iterator;
02730         };
02731 
02732         const Stimulus::container&
02733         Stimulus () const;
02734 
02735         Stimulus::container&
02736         Stimulus ();
02737 
02738         void
02739         Stimulus (const Stimulus::container&);
02740 
02741         // Constructors.
02742         //
02743         public:
02744         Stimuli ();
02745 
02746         Stimuli (const ::xercesc::DOMElement&,
02747                  ::xml_schema::flags = 0,
02748                  ::xml_schema::type* = 0);
02749 
02750         Stimuli (const Stimuli&,
02751                  ::xml_schema::flags = 0,
02752                  ::xml_schema::type* = 0);
02753 
02754         virtual Stimuli*
02755         _clone (::xml_schema::flags = 0,
02756                 ::xml_schema::type* = 0) const;
02757 
02758         // Implementation.
02759         //
02760         private:
02761         void
02762         parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
02763 
02764         ::xsd::cxx::tree::sequence< Stimulus::type > _xsd_Stimulus_;
02765       };
02766     };
02767 
02768     typedef _xsd_Stimuli_::Stimuli type;
02769     typedef ::xsd::cxx::tree::traits< type, char > traits;
02770     typedef ::xsd::cxx::tree::optional< type > container;
02771   };
02772 
02773   const Stimuli::container&
02774   Stimuli () const;
02775 
02776   Stimuli::container&
02777   Stimuli ();
02778 
02779   void
02780   Stimuli (const Stimuli::type&);
02781 
02782   void
02783   Stimuli (const Stimuli::container&);
02784 
02785   void
02786   Stimuli (::std::auto_ptr< Stimuli::type >);
02787 
02788   // CellHeterogeneities
02789   // 
02790   public:
02791   struct CellHeterogeneities
02792   {
02793     struct _xsd_CellHeterogeneities_
02794     {
02795       class CellHeterogeneities: public ::xml_schema::type
02796       {
02797         public:
02798 
02799         struct _xsd_CellHeterogeneities
02800         {
02801           typedef ::xml_schema::type base_;
02802         };
02803 
02804         // CellHeterogeneity
02805         // 
02806         public:
02807         struct CellHeterogeneity
02808         {
02809           typedef ::cell_heterogeneity_type type;
02810           typedef ::xsd::cxx::tree::traits< type, char > traits;
02811           typedef ::xsd::cxx::tree::sequence< type > container;
02812           typedef container::iterator iterator;
02813           typedef container::const_iterator const_iterator;
02814         };
02815 
02816         const CellHeterogeneity::container&
02817         CellHeterogeneity () const;
02818 
02819         CellHeterogeneity::container&
02820         CellHeterogeneity ();
02821 
02822         void
02823         CellHeterogeneity (const CellHeterogeneity::container&);
02824 
02825         // Constructors.
02826         //
02827         public:
02828         CellHeterogeneities ();
02829 
02830         CellHeterogeneities (const ::xercesc::DOMElement&,
02831                              ::xml_schema::flags = 0,
02832                              ::xml_schema::type* = 0);
02833 
02834         CellHeterogeneities (const CellHeterogeneities&,
02835                              ::xml_schema::flags = 0,
02836                              ::xml_schema::type* = 0);
02837 
02838         virtual CellHeterogeneities*
02839         _clone (::xml_schema::flags = 0,
02840                 ::xml_schema::type* = 0) const;
02841 
02842         // Implementation.
02843         //
02844         private:
02845         void
02846         parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
02847 
02848         ::xsd::cxx::tree::sequence< CellHeterogeneity::type > _xsd_CellHeterogeneity_;
02849       };
02850     };
02851 
02852     typedef _xsd_CellHeterogeneities_::CellHeterogeneities type;
02853     typedef ::xsd::cxx::tree::traits< type, char > traits;
02854     typedef ::xsd::cxx::tree::optional< type > container;
02855   };
02856 
02857   const CellHeterogeneities::container&
02858   CellHeterogeneities () const;
02859 
02860   CellHeterogeneities::container&
02861   CellHeterogeneities ();
02862 
02863   void
02864   CellHeterogeneities (const CellHeterogeneities::type&);
02865 
02866   void
02867   CellHeterogeneities (const CellHeterogeneities::container&);
02868 
02869   void
02870   CellHeterogeneities (::std::auto_ptr< CellHeterogeneities::type >);
02871 
02872   // ConductivityHeterogeneities
02873   // 
02874   public:
02875   struct ConductivityHeterogeneities
02876   {
02877     struct _xsd_ConductivityHeterogeneities_
02878     {
02879       class ConductivityHeterogeneities: public ::xml_schema::type
02880       {
02881         public:
02882 
02883         struct _xsd_ConductivityHeterogeneities
02884         {
02885           typedef ::xml_schema::type base_;
02886         };
02887 
02888         // ConductivityHeterogeneity
02889         // 
02890         public:
02891         struct ConductivityHeterogeneity
02892         {
02893           typedef ::conductivity_heterogeneity_type type;
02894           typedef ::xsd::cxx::tree::traits< type, char > traits;
02895           typedef ::xsd::cxx::tree::sequence< type > container;
02896           typedef container::iterator iterator;
02897           typedef container::const_iterator const_iterator;
02898         };
02899 
02900         const ConductivityHeterogeneity::container&
02901         ConductivityHeterogeneity () const;
02902 
02903         ConductivityHeterogeneity::container&
02904         ConductivityHeterogeneity ();
02905 
02906         void
02907         ConductivityHeterogeneity (const ConductivityHeterogeneity::container&);
02908 
02909         // Constructors.
02910         //
02911         public:
02912         ConductivityHeterogeneities ();
02913 
02914         ConductivityHeterogeneities (const ::xercesc::DOMElement&,
02915                                      ::xml_schema::flags = 0,
02916                                      ::xml_schema::type* = 0);
02917 
02918         ConductivityHeterogeneities (const ConductivityHeterogeneities&,
02919                                      ::xml_schema::flags = 0,
02920                                      ::xml_schema::type* = 0);
02921 
02922         virtual ConductivityHeterogeneities*
02923         _clone (::xml_schema::flags = 0,
02924                 ::xml_schema::type* = 0) const;
02925 
02926         // Implementation.
02927         //
02928         private:
02929         void
02930         parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
02931 
02932         ::xsd::cxx::tree::sequence< ConductivityHeterogeneity::type > _xsd_ConductivityHeterogeneity_;
02933       };
02934     };
02935 
02936     typedef _xsd_ConductivityHeterogeneities_::ConductivityHeterogeneities type;
02937     typedef ::xsd::cxx::tree::traits< type, char > traits;
02938     typedef ::xsd::cxx::tree::optional< type > container;
02939   };
02940 
02941   const ConductivityHeterogeneities::container&
02942   ConductivityHeterogeneities () const;
02943 
02944   ConductivityHeterogeneities::container&
02945   ConductivityHeterogeneities ();
02946 
02947   void
02948   ConductivityHeterogeneities (const ConductivityHeterogeneities::type&);
02949 
02950   void
02951   ConductivityHeterogeneities (const ConductivityHeterogeneities::container&);
02952 
02953   void
02954   ConductivityHeterogeneities (::std::auto_ptr< ConductivityHeterogeneities::type >);
02955 
02956   // OutputDirectory
02957   // 
02958   public:
02959   struct OutputDirectory
02960   {
02961     typedef ::xml_schema::string type;
02962     typedef ::xsd::cxx::tree::traits< type, char > traits;
02963     typedef ::xsd::cxx::tree::optional< type > container;
02964   };
02965 
02966   const OutputDirectory::container&
02967   OutputDirectory () const;
02968 
02969   OutputDirectory::container&
02970   OutputDirectory ();
02971 
02972   void
02973   OutputDirectory (const OutputDirectory::type&);
02974 
02975   void
02976   OutputDirectory (const OutputDirectory::container&);
02977 
02978   void
02979   OutputDirectory (::std::auto_ptr< OutputDirectory::type >);
02980 
02981   // OutputFilenamePrefix
02982   // 
02983   public:
02984   struct OutputFilenamePrefix
02985   {
02986     typedef ::xml_schema::string type;
02987     typedef ::xsd::cxx::tree::traits< type, char > traits;
02988     typedef ::xsd::cxx::tree::optional< type > container;
02989   };
02990 
02991   const OutputFilenamePrefix::container&
02992   OutputFilenamePrefix () const;
02993 
02994   OutputFilenamePrefix::container&
02995   OutputFilenamePrefix ();
02996 
02997   void
02998   OutputFilenamePrefix (const OutputFilenamePrefix::type&);
02999 
03000   void
03001   OutputFilenamePrefix (const OutputFilenamePrefix::container&);
03002 
03003   void
03004   OutputFilenamePrefix (::std::auto_ptr< OutputFilenamePrefix::type >);
03005 
03006   // Constructors.
03007   //
03008   public:
03009   simulation_type ();
03010 
03011   simulation_type (const ::xercesc::DOMElement&,
03012                    ::xml_schema::flags = 0,
03013                    ::xml_schema::type* = 0);
03014 
03015   simulation_type (const simulation_type&,
03016                    ::xml_schema::flags = 0,
03017                    ::xml_schema::type* = 0);
03018 
03019   virtual simulation_type*
03020   _clone (::xml_schema::flags = 0,
03021           ::xml_schema::type* = 0) const;
03022 
03023   // Implementation.
03024   //
03025   private:
03026   void
03027   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
03028 
03029   ::xsd::cxx::tree::optional< SpaceDimension::type > _xsd_SpaceDimension_;
03030   ::xsd::cxx::tree::optional< SimulationDuration::type > _xsd_SimulationDuration_;
03031   ::xsd::cxx::tree::optional< Domain::type > _xsd_Domain_;
03032   ::xsd::cxx::tree::optional< Mesh::type > _xsd_Mesh_;
03033   ::xsd::cxx::tree::optional< IonicModels::type > _xsd_IonicModels_;
03034   ::xsd::cxx::tree::optional< Stimuli::type > _xsd_Stimuli_;
03035   ::xsd::cxx::tree::optional< CellHeterogeneities::type > _xsd_CellHeterogeneities_;
03036   ::xsd::cxx::tree::optional< ConductivityHeterogeneities::type > _xsd_ConductivityHeterogeneities_;
03037   ::xsd::cxx::tree::optional< OutputDirectory::type > _xsd_OutputDirectory_;
03038   ::xsd::cxx::tree::optional< OutputFilenamePrefix::type > _xsd_OutputFilenamePrefix_;
03039 };
03040 
03041 class physiological_type: public ::xml_schema::type
03042 {
03043   public:
03044 
03045   struct _xsd_physiological_type
03046   {
03047     typedef ::xml_schema::type base_;
03048   };
03049 
03050   // IntracellularConductivities
03051   // 
03052   public:
03053   struct IntracellularConductivities
03054   {
03055     typedef ::conductivities_type type;
03056     typedef ::xsd::cxx::tree::traits< type, char > traits;
03057     typedef ::xsd::cxx::tree::optional< type > container;
03058   };
03059 
03060   const IntracellularConductivities::container&
03061   IntracellularConductivities () const;
03062 
03063   IntracellularConductivities::container&
03064   IntracellularConductivities ();
03065 
03066   void
03067   IntracellularConductivities (const IntracellularConductivities::type&);
03068 
03069   void
03070   IntracellularConductivities (const IntracellularConductivities::container&);
03071 
03072   void
03073   IntracellularConductivities (::std::auto_ptr< IntracellularConductivities::type >);
03074 
03075   // ExtracellularConductivities
03076   // 
03077   public:
03078   struct ExtracellularConductivities
03079   {
03080     typedef ::conductivities_type type;
03081     typedef ::xsd::cxx::tree::traits< type, char > traits;
03082     typedef ::xsd::cxx::tree::optional< type > container;
03083   };
03084 
03085   const ExtracellularConductivities::container&
03086   ExtracellularConductivities () const;
03087 
03088   ExtracellularConductivities::container&
03089   ExtracellularConductivities ();
03090 
03091   void
03092   ExtracellularConductivities (const ExtracellularConductivities::type&);
03093 
03094   void
03095   ExtracellularConductivities (const ExtracellularConductivities::container&);
03096 
03097   void
03098   ExtracellularConductivities (::std::auto_ptr< ExtracellularConductivities::type >);
03099 
03100   // BathConductivity
03101   // 
03102   public:
03103   struct BathConductivity
03104   {
03105     typedef ::conductivity_type type;
03106     typedef ::xsd::cxx::tree::traits< type, char > traits;
03107     typedef ::xsd::cxx::tree::optional< type > container;
03108   };
03109 
03110   const BathConductivity::container&
03111   BathConductivity () const;
03112 
03113   BathConductivity::container&
03114   BathConductivity ();
03115 
03116   void
03117   BathConductivity (const BathConductivity::type&);
03118 
03119   void
03120   BathConductivity (const BathConductivity::container&);
03121 
03122   void
03123   BathConductivity (::std::auto_ptr< BathConductivity::type >);
03124 
03125   // SurfaceAreaToVolumeRatio
03126   // 
03127   public:
03128   struct SurfaceAreaToVolumeRatio
03129   {
03130     typedef ::inverse_length_type type;
03131     typedef ::xsd::cxx::tree::traits< type, char > traits;
03132     typedef ::xsd::cxx::tree::optional< type > container;
03133   };
03134 
03135   const SurfaceAreaToVolumeRatio::container&
03136   SurfaceAreaToVolumeRatio () const;
03137 
03138   SurfaceAreaToVolumeRatio::container&
03139   SurfaceAreaToVolumeRatio ();
03140 
03141   void
03142   SurfaceAreaToVolumeRatio (const SurfaceAreaToVolumeRatio::type&);
03143 
03144   void
03145   SurfaceAreaToVolumeRatio (const SurfaceAreaToVolumeRatio::container&);
03146 
03147   void
03148   SurfaceAreaToVolumeRatio (::std::auto_ptr< SurfaceAreaToVolumeRatio::type >);
03149 
03150   // Capacitance
03151   // 
03152   public:
03153   struct Capacitance
03154   {
03155     typedef ::capacitance_type type;
03156     typedef ::xsd::cxx::tree::traits< type, char > traits;
03157     typedef ::xsd::cxx::tree::optional< type > container;
03158   };
03159 
03160   const Capacitance::container&
03161   Capacitance () const;
03162 
03163   Capacitance::container&
03164   Capacitance ();
03165 
03166   void
03167   Capacitance (const Capacitance::type&);
03168 
03169   void
03170   Capacitance (const Capacitance::container&);
03171 
03172   void
03173   Capacitance (::std::auto_ptr< Capacitance::type >);
03174 
03175   // Constructors.
03176   //
03177   public:
03178   physiological_type ();
03179 
03180   physiological_type (const ::xercesc::DOMElement&,
03181                       ::xml_schema::flags = 0,
03182                       ::xml_schema::type* = 0);
03183 
03184   physiological_type (const physiological_type&,
03185                       ::xml_schema::flags = 0,
03186                       ::xml_schema::type* = 0);
03187 
03188   virtual physiological_type*
03189   _clone (::xml_schema::flags = 0,
03190           ::xml_schema::type* = 0) const;
03191 
03192   // Implementation.
03193   //
03194   private:
03195   void
03196   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
03197 
03198   ::xsd::cxx::tree::optional< IntracellularConductivities::type > _xsd_IntracellularConductivities_;
03199   ::xsd::cxx::tree::optional< ExtracellularConductivities::type > _xsd_ExtracellularConductivities_;
03200   ::xsd::cxx::tree::optional< BathConductivity::type > _xsd_BathConductivity_;
03201   ::xsd::cxx::tree::optional< SurfaceAreaToVolumeRatio::type > _xsd_SurfaceAreaToVolumeRatio_;
03202   ::xsd::cxx::tree::optional< Capacitance::type > _xsd_Capacitance_;
03203 };
03204 
03205 class numerical_type: public ::xml_schema::type
03206 {
03207   public:
03208 
03209   struct _xsd_numerical_type
03210   {
03211     typedef ::xml_schema::type base_;
03212   };
03213 
03214   // TimeSteps
03215   // 
03216   public:
03217   struct TimeSteps
03218   {
03219     typedef ::time_steps_type type;
03220     typedef ::xsd::cxx::tree::traits< type, char > traits;
03221     typedef ::xsd::cxx::tree::optional< type > container;
03222   };
03223 
03224   const TimeSteps::container&
03225   TimeSteps () const;
03226 
03227   TimeSteps::container&
03228   TimeSteps ();
03229 
03230   void
03231   TimeSteps (const TimeSteps::type&);
03232 
03233   void
03234   TimeSteps (const TimeSteps::container&);
03235 
03236   void
03237   TimeSteps (::std::auto_ptr< TimeSteps::type >);
03238 
03239   // KSPTolerances
03240   // 
03241   public:
03242   struct KSPTolerances
03243   {
03244     typedef ::ksp_tolerances_type type;
03245     typedef ::xsd::cxx::tree::traits< type, char > traits;
03246     typedef ::xsd::cxx::tree::optional< type > container;
03247   };
03248 
03249   const KSPTolerances::container&
03250   KSPTolerances () const;
03251 
03252   KSPTolerances::container&
03253   KSPTolerances ();
03254 
03255   void
03256   KSPTolerances (const KSPTolerances::type&);
03257 
03258   void
03259   KSPTolerances (const KSPTolerances::container&);
03260 
03261   void
03262   KSPTolerances (::std::auto_ptr< KSPTolerances::type >);
03263 
03264   // KSPSolver
03265   // 
03266   public:
03267   struct KSPSolver
03268   {
03269     typedef ::ksp_solver_type type;
03270     typedef ::xsd::cxx::tree::traits< type, char > traits;
03271     typedef ::xsd::cxx::tree::optional< type > container;
03272   };
03273 
03274   const KSPSolver::container&
03275   KSPSolver () const;
03276 
03277   KSPSolver::container&
03278   KSPSolver ();
03279 
03280   void
03281   KSPSolver (const KSPSolver::type&);
03282 
03283   void
03284   KSPSolver (const KSPSolver::container&);
03285 
03286   void
03287   KSPSolver (::std::auto_ptr< KSPSolver::type >);
03288 
03289   // KSPPreconditioner
03290   // 
03291   public:
03292   struct KSPPreconditioner
03293   {
03294     typedef ::ksp_preconditioner_type type;
03295     typedef ::xsd::cxx::tree::traits< type, char > traits;
03296     typedef ::xsd::cxx::tree::optional< type > container;
03297   };
03298 
03299   const KSPPreconditioner::container&
03300   KSPPreconditioner () const;
03301 
03302   KSPPreconditioner::container&
03303   KSPPreconditioner ();
03304 
03305   void
03306   KSPPreconditioner (const KSPPreconditioner::type&);
03307 
03308   void
03309   KSPPreconditioner (const KSPPreconditioner::container&);
03310 
03311   void
03312   KSPPreconditioner (::std::auto_ptr< KSPPreconditioner::type >);
03313 
03314   // Constructors.
03315   //
03316   public:
03317   numerical_type ();
03318 
03319   numerical_type (const ::xercesc::DOMElement&,
03320                   ::xml_schema::flags = 0,
03321                   ::xml_schema::type* = 0);
03322 
03323   numerical_type (const numerical_type&,
03324                   ::xml_schema::flags = 0,
03325                   ::xml_schema::type* = 0);
03326 
03327   virtual numerical_type*
03328   _clone (::xml_schema::flags = 0,
03329           ::xml_schema::type* = 0) const;
03330 
03331   // Implementation.
03332   //
03333   private:
03334   void
03335   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
03336 
03337   ::xsd::cxx::tree::optional< TimeSteps::type > _xsd_TimeSteps_;
03338   ::xsd::cxx::tree::optional< KSPTolerances::type > _xsd_KSPTolerances_;
03339   ::xsd::cxx::tree::optional< KSPSolver::type > _xsd_KSPSolver_;
03340   ::xsd::cxx::tree::optional< KSPPreconditioner::type > _xsd_KSPPreconditioner_;
03341 };
03342 
03343 class chaste_parameters_type: public ::xml_schema::type
03344 {
03345   public:
03346 
03347   struct _xsd_chaste_parameters_type
03348   {
03349     typedef ::xml_schema::type base_;
03350   };
03351 
03352   // Simulation
03353   // 
03354   public:
03355   struct Simulation
03356   {
03357     typedef ::simulation_type type;
03358     typedef ::xsd::cxx::tree::traits< type, char > traits;
03359   };
03360 
03361   const Simulation::type&
03362   Simulation () const;
03363 
03364   Simulation::type&
03365   Simulation ();
03366 
03367   void
03368   Simulation (const Simulation::type&);
03369 
03370   void
03371   Simulation (::std::auto_ptr< Simulation::type >);
03372 
03373   // Physiological
03374   // 
03375   public:
03376   struct Physiological
03377   {
03378     typedef ::physiological_type type;
03379     typedef ::xsd::cxx::tree::traits< type, char > traits;
03380   };
03381 
03382   const Physiological::type&
03383   Physiological () const;
03384 
03385   Physiological::type&
03386   Physiological ();
03387 
03388   void
03389   Physiological (const Physiological::type&);
03390 
03391   void
03392   Physiological (::std::auto_ptr< Physiological::type >);
03393 
03394   // Numerical
03395   // 
03396   public:
03397   struct Numerical
03398   {
03399     typedef ::numerical_type type;
03400     typedef ::xsd::cxx::tree::traits< type, char > traits;
03401   };
03402 
03403   const Numerical::type&
03404   Numerical () const;
03405 
03406   Numerical::type&
03407   Numerical ();
03408 
03409   void
03410   Numerical (const Numerical::type&);
03411 
03412   void
03413   Numerical (::std::auto_ptr< Numerical::type >);
03414 
03415   // Constructors.
03416   //
03417   public:
03418   chaste_parameters_type (const Simulation::type&,
03419                           const Physiological::type&,
03420                           const Numerical::type&);
03421 
03422   chaste_parameters_type (const ::xercesc::DOMElement&,
03423                           ::xml_schema::flags = 0,
03424                           ::xml_schema::type* = 0);
03425 
03426   chaste_parameters_type (const chaste_parameters_type&,
03427                           ::xml_schema::flags = 0,
03428                           ::xml_schema::type* = 0);
03429 
03430   virtual chaste_parameters_type*
03431   _clone (::xml_schema::flags = 0,
03432           ::xml_schema::type* = 0) const;
03433 
03434   // Implementation.
03435   //
03436   private:
03437   void
03438   parse (const ::xercesc::DOMElement&, ::xml_schema::flags);
03439 
03440   ::xsd::cxx::tree::one< Simulation::type > _xsd_Simulation_;
03441   ::xsd::cxx::tree::one< Physiological::type > _xsd_Physiological_;
03442   ::xsd::cxx::tree::one< Numerical::type > _xsd_Numerical_;
03443 };
03444 
03445 #include <iosfwd>
03446 
03447 #include <xercesc/dom/DOMDocument.hpp>
03448 #include <xercesc/dom/DOMInputSource.hpp>
03449 #include <xercesc/dom/DOMErrorHandler.hpp>
03450 
03451 // Read from a URI or a local file.
03452 //
03453 
03454 ::std::auto_ptr< ::chaste_parameters_type >
03455 ChasteParameters (const ::std::basic_string< char >&,
03456                   ::xml_schema::flags = 0,
03457                   const ::xsd::cxx::tree::properties< char >& = ::xsd::cxx::tree::properties< char > ());
03458 
03459 ::std::auto_ptr< ::chaste_parameters_type >
03460 ChasteParameters (const ::std::basic_string< char >&,
03461                   ::xsd::cxx::xml::error_handler< char >&,
03462                   ::xml_schema::flags = 0,
03463                   const ::xsd::cxx::tree::properties< char >& = ::xsd::cxx::tree::properties< char > ());
03464 
03465 ::std::auto_ptr< ::chaste_parameters_type >
03466 ChasteParameters (const ::std::basic_string< char >&,
03467                   ::xercesc::DOMErrorHandler&,
03468                   ::xml_schema::flags = 0,
03469                   const ::xsd::cxx::tree::properties< char >& = ::xsd::cxx::tree::properties< char > ());
03470 
03471 
03472 // Read from std::istream.
03473 //
03474 
03475 ::std::auto_ptr< ::chaste_parameters_type >
03476 ChasteParameters (::std::istream&,
03477                   ::xml_schema::flags = 0,
03478                   const ::xsd::cxx::tree::properties< char >& = ::xsd::cxx::tree::properties< char > ());
03479 
03480 ::std::auto_ptr< ::chaste_parameters_type >
03481 ChasteParameters (::std::istream&,
03482                   ::xsd::cxx::xml::error_handler< char >&,
03483                   ::xml_schema::flags = 0,
03484                   const ::xsd::cxx::tree::properties< char >& = ::xsd::cxx::tree::properties< char > ());
03485 
03486 ::std::auto_ptr< ::chaste_parameters_type >
03487 ChasteParameters (::std::istream&,
03488                   ::xercesc::DOMErrorHandler&,
03489                   ::xml_schema::flags = 0,
03490                   const ::xsd::cxx::tree::properties< char >& = ::xsd::cxx::tree::properties< char > ());
03491 
03492 
03493 ::std::auto_ptr< ::chaste_parameters_type >
03494 ChasteParameters (::std::istream&,
03495                   const ::std::basic_string< char >& id,
03496                   ::xml_schema::flags = 0,
03497                   const ::xsd::cxx::tree::properties< char >& = ::xsd::cxx::tree::properties< char > ());
03498 
03499 ::std::auto_ptr< ::chaste_parameters_type >
03500 ChasteParameters (::std::istream&,
03501                   const ::std::basic_string< char >& id,
03502                   ::xsd::cxx::xml::error_handler< char >&,
03503                   ::xml_schema::flags = 0,
03504                   const ::xsd::cxx::tree::properties< char >& = ::xsd::cxx::tree::properties< char > ());
03505 
03506 ::std::auto_ptr< ::chaste_parameters_type >
03507 ChasteParameters (::std::istream&,
03508                   const ::std::basic_string< char >& id,
03509                   ::xercesc::DOMErrorHandler&,
03510                   ::xml_schema::flags = 0,
03511                   const ::xsd::cxx::tree::properties< char >& = ::xsd::cxx::tree::properties< char > ());
03512 
03513 
03514 // Read from InputSource.
03515 //
03516 
03517 ::std::auto_ptr< ::chaste_parameters_type >
03518 ChasteParameters (const ::xercesc::DOMInputSource&,
03519                   ::xml_schema::flags = 0,
03520                   const ::xsd::cxx::tree::properties< char >& = ::xsd::cxx::tree::properties< char > ());
03521 
03522 ::std::auto_ptr< ::chaste_parameters_type >
03523 ChasteParameters (const ::xercesc::DOMInputSource&,
03524                   ::xsd::cxx::xml::error_handler< char >&,
03525                   ::xml_schema::flags = 0,
03526                   const ::xsd::cxx::tree::properties< char >& = ::xsd::cxx::tree::properties< char > ());
03527 
03528 ::std::auto_ptr< ::chaste_parameters_type >
03529 ChasteParameters (const ::xercesc::DOMInputSource&,
03530                   ::xercesc::DOMErrorHandler&,
03531                   ::xml_schema::flags = 0,
03532                   const ::xsd::cxx::tree::properties< char >& = ::xsd::cxx::tree::properties< char > ());
03533 
03534 
03535 // Read from DOM.
03536 //
03537 
03538 ::std::auto_ptr< ::chaste_parameters_type >
03539 ChasteParameters (const ::xercesc::DOMDocument&,
03540                   ::xml_schema::flags = 0,
03541                   const ::xsd::cxx::tree::properties< char >& = ::xsd::cxx::tree::properties< char > ());
03542 
03543 
03544 #include <iosfwd> // std::ostream&
03545 
03546 #include <xercesc/dom/DOMDocument.hpp>
03547 #include <xercesc/dom/DOMErrorHandler.hpp>
03548 #include <xercesc/framework/XMLFormatter.hpp>
03549 
03550 #include <xsd/cxx/xml/dom/auto-ptr.hxx>
03551 
03552 void
03553 operator<< (::xercesc::DOMElement&,
03554             const time_type&);
03555 
03556 void
03557 operator<< (::xercesc::DOMElement&,
03558             const dimensionless_type&);
03559 
03560 void
03561 operator<< (::xercesc::DOMElement&,
03562             const conductivity_type&);
03563 
03564 void
03565 operator<< (::xercesc::DOMElement&,
03566             const stimulus_strength_type&);
03567 
03568 void
03569 operator<< (::xercesc::DOMElement&,
03570             const inverse_length_type&);
03571 
03572 void
03573 operator<< (::xercesc::DOMElement&,
03574             const capacitance_type&);
03575 
03576 void
03577 operator<< (::xercesc::DOMElement&,
03578             const location_type&);
03579 
03580 void
03581 operator<< (::xercesc::DOMElement&,
03582             domain_type);
03583 
03584 void
03585 operator<< (::xercesc::DOMAttr&,
03586             domain_type);
03587 
03588 void
03589 operator<< (::xsd::cxx::tree::list_stream< char >&,
03590             domain_type);
03591 
03592 void
03593 operator<< (::xercesc::DOMElement&,
03594             ionic_models_available_type);
03595 
03596 void
03597 operator<< (::xercesc::DOMAttr&,
03598             ionic_models_available_type);
03599 
03600 void
03601 operator<< (::xsd::cxx::tree::list_stream< char >&,
03602             ionic_models_available_type);
03603 
03604 void
03605 operator<< (::xercesc::DOMElement&,
03606             const ionic_model_region_type&);
03607 
03608 void
03609 operator<< (::xercesc::DOMElement&,
03610             const ionic_models_type&);
03611 
03612 void
03613 operator<< (::xercesc::DOMElement&,
03614             media_type);
03615 
03616 void
03617 operator<< (::xercesc::DOMAttr&,
03618             media_type);
03619 
03620 void
03621 operator<< (::xsd::cxx::tree::list_stream< char >&,
03622             media_type);
03623 
03624 void
03625 operator<< (::xercesc::DOMElement&,
03626             const point_type&);
03627 
03628 void
03629 operator<< (::xercesc::DOMElement&,
03630             const box_type&);
03631 
03632 void
03633 operator<< (::xercesc::DOMElement&,
03634             const stimulus_type&);
03635 
03636 void
03637 operator<< (::xercesc::DOMElement&,
03638             const cell_heterogeneity_type&);
03639 
03640 void
03641 operator<< (::xercesc::DOMElement&,
03642             const conductivity_heterogeneity_type&);
03643 
03644 void
03645 operator<< (::xercesc::DOMElement&,
03646             const slab_type&);
03647 
03648 void
03649 operator<< (::xercesc::DOMElement&,
03650             const sheet_type&);
03651 
03652 void
03653 operator<< (::xercesc::DOMElement&,
03654             const fibre_type&);
03655 
03656 void
03657 operator<< (::xercesc::DOMElement&,
03658             const load_mesh_type&);
03659 
03660 void
03661 operator<< (::xercesc::DOMElement&,
03662             const mesh_type&);
03663 
03664 void
03665 operator<< (::xercesc::DOMElement&,
03666             const conductivities_type&);
03667 
03668 void
03669 operator<< (::xercesc::DOMElement&,
03670             const time_steps_type&);
03671 
03672 void
03673 operator<< (::xercesc::DOMElement&,
03674             ksp_use_type);
03675 
03676 void
03677 operator<< (::xercesc::DOMAttr&,
03678             ksp_use_type);
03679 
03680 void
03681 operator<< (::xsd::cxx::tree::list_stream< char >&,
03682             ksp_use_type);
03683 
03684 void
03685 operator<< (::xercesc::DOMElement&,
03686             const ksp_tolerances_type&);
03687 
03688 void
03689 operator<< (::xercesc::DOMElement&,
03690             ksp_solver_type);
03691 
03692 void
03693 operator<< (::xercesc::DOMAttr&,
03694             ksp_solver_type);
03695 
03696 void
03697 operator<< (::xsd::cxx::tree::list_stream< char >&,
03698             ksp_solver_type);
03699 
03700 void
03701 operator<< (::xercesc::DOMElement&,
03702             ksp_preconditioner_type);
03703 
03704 void
03705 operator<< (::xercesc::DOMAttr&,
03706             ksp_preconditioner_type);
03707 
03708 void
03709 operator<< (::xsd::cxx::tree::list_stream< char >&,
03710             ksp_preconditioner_type);
03711 
03712 void
03713 operator<< (::xercesc::DOMElement&,
03714             const simulation_type::Stimuli::type&);
03715 
03716 void
03717 operator<< (::xercesc::DOMElement&,
03718             const simulation_type::CellHeterogeneities::type&);
03719 
03720 void
03721 operator<< (::xercesc::DOMElement&,
03722             const simulation_type::ConductivityHeterogeneities::type&);
03723 
03724 void
03725 operator<< (::xercesc::DOMElement&,
03726             const simulation_type&);
03727 
03728 void
03729 operator<< (::xercesc::DOMElement&,
03730             const physiological_type&);
03731 
03732 void
03733 operator<< (::xercesc::DOMElement&,
03734             const numerical_type&);
03735 
03736 void
03737 operator<< (::xercesc::DOMElement&,
03738             const chaste_parameters_type&);
03739 
03740 // Serialize to an existing DOM instance.
03741 //
03742 void
03743 ChasteParameters (::xercesc::DOMDocument&,
03744                   const ::chaste_parameters_type&,
03745                   ::xml_schema::flags = 0);
03746 
03747 
03748 // Serialize to a new DOM instance.
03749 //
03750 ::xsd::cxx::xml::dom::auto_ptr< ::xercesc::DOMDocument >
03751 ChasteParameters (const ::chaste_parameters_type&, 
03752                   const ::xsd::cxx::xml::dom::namespace_infomap< char >&,
03753                   ::xml_schema::flags = 0);
03754 
03755 
03756 // Serialize to XMLFormatTarget.
03757 //
03758 void
03759 ChasteParameters (::xercesc::XMLFormatTarget&,
03760                   const ::chaste_parameters_type&, 
03761                   const ::xsd::cxx::xml::dom::namespace_infomap< char >&,
03762                   const ::std::basic_string< char >& = "UTF-8",
03763                   ::xml_schema::flags = 0);
03764 
03765 
03766 void
03767 ChasteParameters (::xercesc::XMLFormatTarget&,
03768                   const ::chaste_parameters_type&, 
03769                   const ::xsd::cxx::xml::dom::namespace_infomap< char >&,
03770                   ::xsd::cxx::xml::error_handler< char >&,
03771                   const ::std::basic_string< char >& = "UTF-8",
03772                   ::xml_schema::flags = 0);
03773 
03774 void
03775 ChasteParameters (::xercesc::XMLFormatTarget&,
03776                   const ::chaste_parameters_type&, 
03777                   const ::xsd::cxx::xml::dom::namespace_infomap< char >&,
03778                   ::xercesc::DOMErrorHandler&,
03779                   const ::std::basic_string< char >& = "UTF-8",
03780                   ::xml_schema::flags = 0);
03781 
03782 
03783 // Serialize to std::ostream.
03784 //
03785 void
03786 ChasteParameters (::std::ostream&,
03787                   const ::chaste_parameters_type&, 
03788                   const ::xsd::cxx::xml::dom::namespace_infomap< char >&,
03789                   const ::std::basic_string< char >& = "UTF-8",
03790                   ::xml_schema::flags = 0);
03791 
03792 
03793 void
03794 ChasteParameters (::std::ostream&,
03795                   const ::chaste_parameters_type&, 
03796                   const ::xsd::cxx::xml::dom::namespace_infomap< char >&,
03797                   ::xsd::cxx::xml::error_handler< char >&,
03798                   const ::std::basic_string< char >& = "UTF-8",
03799                   ::xml_schema::flags = 0);
03800 
03801 void
03802 ChasteParameters (::std::ostream&,
03803                   const ::chaste_parameters_type&, 
03804                   const ::xsd::cxx::xml::dom::namespace_infomap< char >&,
03805                   ::xercesc::DOMErrorHandler&,
03806                   const ::std::basic_string< char >& = "UTF-8",
03807                   ::xml_schema::flags = 0);
03808 
03809 
03810 #include <xsd/cxx/post.hxx>
03811 
03812 // Begin epilogue.
03813 //
03814 #undef COVERAGE_IGNORE
03815 //
03816 // End epilogue.
03817 
03818 #endif // CHASTE_PARAMETERS_HPP

Generated on Wed Mar 18 12:51:51 2009 for Chaste by  doxygen 1.5.5