NeuroML C++ API  2.3.0
C++ API for NeuroML 2
NeuroML_v2.3.cxx
1 // Copyright (c) 2005-2014 Code Synthesis Tools CC
2 //
3 // This program was generated by CodeSynthesis XSD, an XML Schema to
4 // C++ data binding compiler.
5 //
6 // This program is free software; you can redistribute it and/or modify
7 // it under the terms of the GNU General Public License version 2 as
8 // published by the Free Software Foundation.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 //
19 // In addition, as a special exception, Code Synthesis Tools CC gives
20 // permission to link this program with the Xerces-C++ library (or with
21 // modified versions of Xerces-C++ that use the same license as Xerces-C++),
22 // and distribute linked combinations including the two. You must obey
23 // the GNU General Public License version 2 in all respects for all of
24 // the code used other than Xerces-C++. If you modify this copy of the
25 // program, you may extend this exception to your version of the program,
26 // but you are not obligated to do so. If you do not wish to do so, delete
27 // this exception statement from your version.
28 //
29 // Furthermore, Code Synthesis Tools CC makes a special exception for
30 // the Free/Libre and Open Source Software (FLOSS) which is described
31 // in the accompanying FLOSSE file.
32 //
33 
34 // Begin prologue.
35 //
36 // LCOV_EXCL_START
37 //
38 // End prologue.
39 
40 #include <xsd/cxx/pre.hxx>
41 
42 #include "NeuroML_v2.3.hxx"
43 
44 namespace neuroml2
45 {
46  // NmlId
47  //
48 
49 
50  // Nml2Quantity
51  //
52 
53 
54  // Nml2Quantity_none
55  //
56 
57 
58  // Nml2Quantity_voltage
59  //
60 
61 
62  // Nml2Quantity_length
63  //
64 
65 
66  // Nml2Quantity_resistance
67  //
68 
69 
70  // Nml2Quantity_resistivity
71  //
72 
73 
74  // Nml2Quantity_conductance
75  //
76 
77 
78  // Nml2Quantity_conductanceDensity
79  //
80 
81 
82  // Nml2Quantity_permeability
83  //
84 
85 
86  // Nml2Quantity_time
87  //
88 
89 
90  // Nml2Quantity_pertime
91  //
92 
93 
94  // Nml2Quantity_capacitance
95  //
96 
97 
98  // Nml2Quantity_specificCapacitance
99  //
100 
101 
102  // Nml2Quantity_concentration
103  //
104 
105 
106  // Nml2Quantity_current
107  //
108 
109 
110  // Nml2Quantity_currentDensity
111  //
112 
113 
114  // Nml2Quantity_temperature
115  //
116 
117 
118  // Nml2Quantity_rhoFactor
119  //
120 
121 
122  // Nml2Quantity_conductancePerVoltage
123  //
124 
125 
126  // MetaId
127  //
128 
129 
130  // NeuroLexId
131  //
132 
133 
134  // Nml2PopulationReferencePath
135  //
136 
137 
138  // NonNegativeInteger
139  //
140 
141 
142  // PositiveInteger
143  //
144 
145 
146  // DoubleGreaterThanZero
147  //
148 
149 
150  // ZeroOrOne
151  //
152 
154  ZeroOrOne (::xml_schema::double_ v): ::xsd::cxx::tree::fundamental_base< ::xml_schema::double_, char, ::xml_schema::simple_type, ::xsd::cxx::tree::schema_type::double_ > (v)
155  {
156  }
157 
159  ZeroOrOne (const ZeroOrOne& v,
160  ::xml_schema::flags f,
162  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::double_, char, ::xml_schema::simple_type, ::xsd::cxx::tree::schema_type::double_ > (v, f, c)
163  {
164  }
165 
166 
167  // Notes
168  //
169 
170 
171  // BaseWithoutId
172  //
173 
174 
175  // Property
176  //
177 
179  tag () const
180  {
181  return this->tag_.get ();
182  }
183 
185  tag ()
186  {
187  return this->tag_.get ();
188  }
189 
191  tag (const tag_type& x)
192  {
193  this->tag_.set (x);
194  }
195 
197  tag (::std::unique_ptr< tag_type > x)
198  {
199  this->tag_.set (std::move (x));
200  }
201 
203  value () const
204  {
205  return this->value_.get ();
206  }
207 
209  value ()
210  {
211  return this->value_.get ();
212  }
213 
215  value (const value_type& x)
216  {
217  this->value_.set (x);
218  }
219 
221  value (::std::unique_ptr< value_type > x)
222  {
223  this->value_.set (std::move (x));
224  }
225 
226 
227  // Annotation
228  //
229 
230 
231  // ComponentType
232  //
233 
235  Property () const
236  {
237  return this->Property_;
238  }
239 
241  Property ()
242  {
243  return this->Property_;
244  }
245 
247  Property (const Property_sequence& s)
248  {
249  this->Property_ = s;
250  }
251 
253  Parameter () const
254  {
255  return this->Parameter_;
256  }
257 
259  Parameter ()
260  {
261  return this->Parameter_;
262  }
263 
266  {
267  this->Parameter_ = s;
268  }
269 
271  DerivedParameter () const
272  {
273  return this->DerivedParameter_;
274  }
275 
278  {
279  return this->DerivedParameter_;
280  }
281 
284  {
285  this->DerivedParameter_ = s;
286  }
287 
289  Constant () const
290  {
291  return this->Constant_;
292  }
293 
295  Constant ()
296  {
297  return this->Constant_;
298  }
299 
301  Constant (const Constant_sequence& s)
302  {
303  this->Constant_ = s;
304  }
305 
307  Exposure () const
308  {
309  return this->Exposure_;
310  }
311 
313  Exposure ()
314  {
315  return this->Exposure_;
316  }
317 
319  Exposure (const Exposure_sequence& s)
320  {
321  this->Exposure_ = s;
322  }
323 
325  Requirement () const
326  {
327  return this->Requirement_;
328  }
329 
331  Requirement ()
332  {
333  return this->Requirement_;
334  }
335 
338  {
339  this->Requirement_ = s;
340  }
341 
343  InstanceRequirement () const
344  {
345  return this->InstanceRequirement_;
346  }
347 
350  {
351  return this->InstanceRequirement_;
352  }
353 
356  {
357  this->InstanceRequirement_ = s;
358  }
359 
361  Dynamics () const
362  {
363  return this->Dynamics_;
364  }
365 
367  Dynamics ()
368  {
369  return this->Dynamics_;
370  }
371 
373  Dynamics (const Dynamics_sequence& s)
374  {
375  this->Dynamics_ = s;
376  }
377 
379  name () const
380  {
381  return this->name_.get ();
382  }
383 
385  name ()
386  {
387  return this->name_.get ();
388  }
389 
391  name (const name_type& x)
392  {
393  this->name_.set (x);
394  }
395 
397  name (::std::unique_ptr< name_type > x)
398  {
399  this->name_.set (std::move (x));
400  }
401 
403  extends () const
404  {
405  return this->extends_;
406  }
407 
409  extends ()
410  {
411  return this->extends_;
412  }
413 
415  extends (const extends_type& x)
416  {
417  this->extends_.set (x);
418  }
419 
421  extends (const extends_optional& x)
422  {
423  this->extends_ = x;
424  }
425 
427  extends (::std::unique_ptr< extends_type > x)
428  {
429  this->extends_.set (std::move (x));
430  }
431 
433  description () const
434  {
435  return this->description_;
436  }
437 
439  description ()
440  {
441  return this->description_;
442  }
443 
446  {
447  this->description_.set (x);
448  }
449 
452  {
453  this->description_ = x;
454  }
455 
457  description (::std::unique_ptr< description_type > x)
458  {
459  this->description_.set (std::move (x));
460  }
461 
462 
463  // Constant
464  //
465 
467  name () const
468  {
469  return this->name_.get ();
470  }
471 
473  name ()
474  {
475  return this->name_.get ();
476  }
477 
479  name (const name_type& x)
480  {
481  this->name_.set (x);
482  }
483 
485  name (::std::unique_ptr< name_type > x)
486  {
487  this->name_.set (std::move (x));
488  }
489 
491  dimension () const
492  {
493  return this->dimension_.get ();
494  }
495 
497  dimension ()
498  {
499  return this->dimension_.get ();
500  }
501 
503  dimension (const dimension_type& x)
504  {
505  this->dimension_.set (x);
506  }
507 
509  dimension (::std::unique_ptr< dimension_type > x)
510  {
511  this->dimension_.set (std::move (x));
512  }
513 
515  value () const
516  {
517  return this->value_.get ();
518  }
519 
521  value ()
522  {
523  return this->value_.get ();
524  }
525 
527  value (const value_type& x)
528  {
529  this->value_.set (x);
530  }
531 
533  value (::std::unique_ptr< value_type > x)
534  {
535  this->value_.set (std::move (x));
536  }
537 
539  description () const
540  {
541  return this->description_;
542  }
543 
545  description ()
546  {
547  return this->description_;
548  }
549 
552  {
553  this->description_.set (x);
554  }
555 
558  {
559  this->description_ = x;
560  }
561 
563  description (::std::unique_ptr< description_type > x)
564  {
565  this->description_.set (std::move (x));
566  }
567 
568 
569  // Exposure
570  //
571 
573  name () const
574  {
575  return this->name_.get ();
576  }
577 
579  name ()
580  {
581  return this->name_.get ();
582  }
583 
585  name (const name_type& x)
586  {
587  this->name_.set (x);
588  }
589 
591  name (::std::unique_ptr< name_type > x)
592  {
593  this->name_.set (std::move (x));
594  }
595 
597  dimension () const
598  {
599  return this->dimension_.get ();
600  }
601 
603  dimension ()
604  {
605  return this->dimension_.get ();
606  }
607 
609  dimension (const dimension_type& x)
610  {
611  this->dimension_.set (x);
612  }
613 
615  dimension (::std::unique_ptr< dimension_type > x)
616  {
617  this->dimension_.set (std::move (x));
618  }
619 
621  description () const
622  {
623  return this->description_;
624  }
625 
627  description ()
628  {
629  return this->description_;
630  }
631 
634  {
635  this->description_.set (x);
636  }
637 
640  {
641  this->description_ = x;
642  }
643 
645  description (::std::unique_ptr< description_type > x)
646  {
647  this->description_.set (std::move (x));
648  }
649 
650 
651  // NamedDimensionalType
652  //
653 
655  name () const
656  {
657  return this->name_.get ();
658  }
659 
661  name ()
662  {
663  return this->name_.get ();
664  }
665 
667  name (const name_type& x)
668  {
669  this->name_.set (x);
670  }
671 
673  name (::std::unique_ptr< name_type > x)
674  {
675  this->name_.set (std::move (x));
676  }
677 
679  dimension () const
680  {
681  return this->dimension_.get ();
682  }
683 
685  dimension ()
686  {
687  return this->dimension_.get ();
688  }
689 
691  dimension (const dimension_type& x)
692  {
693  this->dimension_.set (x);
694  }
695 
697  dimension (::std::unique_ptr< dimension_type > x)
698  {
699  this->dimension_.set (std::move (x));
700  }
701 
703  description () const
704  {
705  return this->description_;
706  }
707 
709  description ()
710  {
711  return this->description_;
712  }
713 
716  {
717  this->description_.set (x);
718  }
719 
722  {
723  this->description_ = x;
724  }
725 
727  description (::std::unique_ptr< description_type > x)
728  {
729  this->description_.set (std::move (x));
730  }
731 
732 
733  // NamedDimensionalVariable
734  //
735 
737  name () const
738  {
739  return this->name_.get ();
740  }
741 
743  name ()
744  {
745  return this->name_.get ();
746  }
747 
749  name (const name_type& x)
750  {
751  this->name_.set (x);
752  }
753 
755  name (::std::unique_ptr< name_type > x)
756  {
757  this->name_.set (std::move (x));
758  }
759 
761  dimension () const
762  {
763  return this->dimension_.get ();
764  }
765 
767  dimension ()
768  {
769  return this->dimension_.get ();
770  }
771 
773  dimension (const dimension_type& x)
774  {
775  this->dimension_.set (x);
776  }
777 
779  dimension (::std::unique_ptr< dimension_type > x)
780  {
781  this->dimension_.set (std::move (x));
782  }
783 
785  description () const
786  {
787  return this->description_;
788  }
789 
791  description ()
792  {
793  return this->description_;
794  }
795 
798  {
799  this->description_.set (x);
800  }
801 
804  {
805  this->description_ = x;
806  }
807 
809  description (::std::unique_ptr< description_type > x)
810  {
811  this->description_.set (std::move (x));
812  }
813 
815  exposure () const
816  {
817  return this->exposure_;
818  }
819 
821  exposure ()
822  {
823  return this->exposure_;
824  }
825 
827  exposure (const exposure_type& x)
828  {
829  this->exposure_.set (x);
830  }
831 
833  exposure (const exposure_optional& x)
834  {
835  this->exposure_ = x;
836  }
837 
839  exposure (::std::unique_ptr< exposure_type > x)
840  {
841  this->exposure_.set (std::move (x));
842  }
843 
844 
845  // Parameter
846  //
847 
848 
849  // DerivedParameter
850  //
851 
853  value () const
854  {
855  return this->value_.get ();
856  }
857 
859  value ()
860  {
861  return this->value_.get ();
862  }
863 
865  value (const value_type& x)
866  {
867  this->value_.set (x);
868  }
869 
871  value (::std::unique_ptr< value_type > x)
872  {
873  this->value_.set (std::move (x));
874  }
875 
876 
877  // LEMS_Property
878  //
879 
881  defaultValue () const
882  {
883  return this->defaultValue_;
884  }
885 
887  defaultValue ()
888  {
889  return this->defaultValue_;
890  }
891 
894  {
895  this->defaultValue_.set (x);
896  }
897 
900  {
901  this->defaultValue_ = x;
902  }
903 
904 
905  // Requirement
906  //
907 
908 
909  // InstanceRequirement
910  //
911 
913  name () const
914  {
915  return this->name_.get ();
916  }
917 
919  name ()
920  {
921  return this->name_.get ();
922  }
923 
925  name (const name_type& x)
926  {
927  this->name_.set (x);
928  }
929 
931  name (::std::unique_ptr< name_type > x)
932  {
933  this->name_.set (std::move (x));
934  }
935 
937  type () const
938  {
939  return this->type_.get ();
940  }
941 
943  type ()
944  {
945  return this->type_.get ();
946  }
947 
949  type (const type_type& x)
950  {
951  this->type_.set (x);
952  }
953 
955  type (::std::unique_ptr< type_type > x)
956  {
957  this->type_.set (std::move (x));
958  }
959 
960 
961  // Dynamics
962  //
963 
965  StateVariable () const
966  {
967  return this->StateVariable_;
968  }
969 
972  {
973  return this->StateVariable_;
974  }
975 
978  {
979  this->StateVariable_ = s;
980  }
981 
983  DerivedVariable () const
984  {
985  return this->DerivedVariable_;
986  }
987 
990  {
991  return this->DerivedVariable_;
992  }
993 
996  {
997  this->DerivedVariable_ = s;
998  }
999 
1002  {
1003  return this->ConditionalDerivedVariable_;
1004  }
1005 
1008  {
1009  return this->ConditionalDerivedVariable_;
1010  }
1011 
1014  {
1015  this->ConditionalDerivedVariable_ = s;
1016  }
1017 
1019  TimeDerivative () const
1020  {
1021  return this->TimeDerivative_;
1022  }
1023 
1025  TimeDerivative ()
1026  {
1027  return this->TimeDerivative_;
1028  }
1029 
1032  {
1033  this->TimeDerivative_ = s;
1034  }
1035 
1037  OnStart () const
1038  {
1039  return this->OnStart_;
1040  }
1041 
1043  OnStart ()
1044  {
1045  return this->OnStart_;
1046  }
1047 
1049  OnStart (const OnStart_type& x)
1050  {
1051  this->OnStart_.set (x);
1052  }
1053 
1055  OnStart (const OnStart_optional& x)
1056  {
1057  this->OnStart_ = x;
1058  }
1059 
1061  OnStart (::std::unique_ptr< OnStart_type > x)
1062  {
1063  this->OnStart_.set (std::move (x));
1064  }
1065 
1067  OnEvent () const
1068  {
1069  return this->OnEvent_;
1070  }
1071 
1073  OnEvent ()
1074  {
1075  return this->OnEvent_;
1076  }
1077 
1079  OnEvent (const OnEvent_sequence& s)
1080  {
1081  this->OnEvent_ = s;
1082  }
1083 
1085  OnCondition () const
1086  {
1087  return this->OnCondition_;
1088  }
1089 
1091  OnCondition ()
1092  {
1093  return this->OnCondition_;
1094  }
1095 
1098  {
1099  this->OnCondition_ = s;
1100  }
1101 
1103  Regime () const
1104  {
1105  return this->Regime_;
1106  }
1107 
1109  Regime ()
1110  {
1111  return this->Regime_;
1112  }
1113 
1115  Regime (const Regime_sequence& s)
1116  {
1117  this->Regime_ = s;
1118  }
1119 
1120 
1121  // DerivedVariable
1122  //
1123 
1125  value () const
1126  {
1127  return this->value_;
1128  }
1129 
1131  value ()
1132  {
1133  return this->value_;
1134  }
1135 
1137  value (const value_type& x)
1138  {
1139  this->value_.set (x);
1140  }
1141 
1143  value (const value_optional& x)
1144  {
1145  this->value_ = x;
1146  }
1147 
1149  value (::std::unique_ptr< value_type > x)
1150  {
1151  this->value_.set (std::move (x));
1152  }
1153 
1155  select () const
1156  {
1157  return this->select_;
1158  }
1159 
1161  select ()
1162  {
1163  return this->select_;
1164  }
1165 
1167  select (const select_type& x)
1168  {
1169  this->select_.set (x);
1170  }
1171 
1173  select (const select_optional& x)
1174  {
1175  this->select_ = x;
1176  }
1177 
1179  select (::std::unique_ptr< select_type > x)
1180  {
1181  this->select_.set (std::move (x));
1182  }
1183 
1184 
1185  // StateVariable
1186  //
1187 
1188 
1189  // ConditionalDerivedVariable
1190  //
1191 
1193  Case () const
1194  {
1195  return this->Case_;
1196  }
1197 
1199  Case ()
1200  {
1201  return this->Case_;
1202  }
1203 
1205  Case (const Case_sequence& s)
1206  {
1207  this->Case_ = s;
1208  }
1209 
1210 
1211  // Case
1212  //
1213 
1215  condition () const
1216  {
1217  return this->condition_;
1218  }
1219 
1221  condition ()
1222  {
1223  return this->condition_;
1224  }
1225 
1226  void Case::
1227  condition (const condition_type& x)
1228  {
1229  this->condition_.set (x);
1230  }
1231 
1232  void Case::
1233  condition (const condition_optional& x)
1234  {
1235  this->condition_ = x;
1236  }
1237 
1238  void Case::
1239  condition (::std::unique_ptr< condition_type > x)
1240  {
1241  this->condition_.set (std::move (x));
1242  }
1243 
1245  value () const
1246  {
1247  return this->value_.get ();
1248  }
1249 
1251  value ()
1252  {
1253  return this->value_.get ();
1254  }
1255 
1256  void Case::
1257  value (const value_type& x)
1258  {
1259  this->value_.set (x);
1260  }
1261 
1262  void Case::
1263  value (::std::unique_ptr< value_type > x)
1264  {
1265  this->value_.set (std::move (x));
1266  }
1267 
1268 
1269  // TimeDerivative
1270  //
1271 
1273  variable () const
1274  {
1275  return this->variable_.get ();
1276  }
1277 
1279  variable ()
1280  {
1281  return this->variable_.get ();
1282  }
1283 
1285  variable (const variable_type& x)
1286  {
1287  this->variable_.set (x);
1288  }
1289 
1291  variable (::std::unique_ptr< variable_type > x)
1292  {
1293  this->variable_.set (std::move (x));
1294  }
1295 
1297  value () const
1298  {
1299  return this->value_.get ();
1300  }
1301 
1303  value ()
1304  {
1305  return this->value_.get ();
1306  }
1307 
1309  value (const value_type& x)
1310  {
1311  this->value_.set (x);
1312  }
1313 
1315  value (::std::unique_ptr< value_type > x)
1316  {
1317  this->value_.set (std::move (x));
1318  }
1319 
1320 
1321  // OnStart
1322  //
1323 
1325  StateAssignment () const
1326  {
1327  return this->StateAssignment_;
1328  }
1329 
1332  {
1333  return this->StateAssignment_;
1334  }
1335 
1338  {
1339  this->StateAssignment_ = s;
1340  }
1341 
1342 
1343  // StateAssignment
1344  //
1345 
1347  variable () const
1348  {
1349  return this->variable_.get ();
1350  }
1351 
1353  variable ()
1354  {
1355  return this->variable_.get ();
1356  }
1357 
1359  variable (const variable_type& x)
1360  {
1361  this->variable_.set (x);
1362  }
1363 
1365  variable (::std::unique_ptr< variable_type > x)
1366  {
1367  this->variable_.set (std::move (x));
1368  }
1369 
1371  value () const
1372  {
1373  return this->value_.get ();
1374  }
1375 
1377  value ()
1378  {
1379  return this->value_.get ();
1380  }
1381 
1383  value (const value_type& x)
1384  {
1385  this->value_.set (x);
1386  }
1387 
1389  value (::std::unique_ptr< value_type > x)
1390  {
1391  this->value_.set (std::move (x));
1392  }
1393 
1394 
1395  // OnEvent
1396  //
1397 
1399  StateAssignment () const
1400  {
1401  return this->StateAssignment_;
1402  }
1403 
1406  {
1407  return this->StateAssignment_;
1408  }
1409 
1412  {
1413  this->StateAssignment_ = s;
1414  }
1415 
1417  EventOut () const
1418  {
1419  return this->EventOut_;
1420  }
1421 
1423  EventOut ()
1424  {
1425  return this->EventOut_;
1426  }
1427 
1429  EventOut (const EventOut_sequence& s)
1430  {
1431  this->EventOut_ = s;
1432  }
1433 
1435  port () const
1436  {
1437  return this->port_.get ();
1438  }
1439 
1441  port ()
1442  {
1443  return this->port_.get ();
1444  }
1445 
1447  port (const port_type& x)
1448  {
1449  this->port_.set (x);
1450  }
1451 
1453  port (::std::unique_ptr< port_type > x)
1454  {
1455  this->port_.set (std::move (x));
1456  }
1457 
1458 
1459  // EventOut
1460  //
1461 
1463  port () const
1464  {
1465  return this->port_.get ();
1466  }
1467 
1469  port ()
1470  {
1471  return this->port_.get ();
1472  }
1473 
1475  port (const port_type& x)
1476  {
1477  this->port_.set (x);
1478  }
1479 
1481  port (::std::unique_ptr< port_type > x)
1482  {
1483  this->port_.set (std::move (x));
1484  }
1485 
1486 
1487  // OnCondition
1488  //
1489 
1491  StateAssignment () const
1492  {
1493  return this->StateAssignment_;
1494  }
1495 
1498  {
1499  return this->StateAssignment_;
1500  }
1501 
1504  {
1505  this->StateAssignment_ = s;
1506  }
1507 
1509  EventOut () const
1510  {
1511  return this->EventOut_;
1512  }
1513 
1515  EventOut ()
1516  {
1517  return this->EventOut_;
1518  }
1519 
1521  EventOut (const EventOut_sequence& s)
1522  {
1523  this->EventOut_ = s;
1524  }
1525 
1527  Transition () const
1528  {
1529  return this->Transition_;
1530  }
1531 
1533  Transition ()
1534  {
1535  return this->Transition_;
1536  }
1537 
1539  Transition (const Transition_type& x)
1540  {
1541  this->Transition_.set (x);
1542  }
1543 
1546  {
1547  this->Transition_ = x;
1548  }
1549 
1551  Transition (::std::unique_ptr< Transition_type > x)
1552  {
1553  this->Transition_.set (std::move (x));
1554  }
1555 
1557  test () const
1558  {
1559  return this->test_.get ();
1560  }
1561 
1563  test ()
1564  {
1565  return this->test_.get ();
1566  }
1567 
1569  test (const test_type& x)
1570  {
1571  this->test_.set (x);
1572  }
1573 
1575  test (::std::unique_ptr< test_type > x)
1576  {
1577  this->test_.set (std::move (x));
1578  }
1579 
1580 
1581  // Transition
1582  //
1583 
1585  regime () const
1586  {
1587  return this->regime_.get ();
1588  }
1589 
1591  regime ()
1592  {
1593  return this->regime_.get ();
1594  }
1595 
1597  regime (const regime_type& x)
1598  {
1599  this->regime_.set (x);
1600  }
1601 
1603  regime (::std::unique_ptr< regime_type > x)
1604  {
1605  this->regime_.set (std::move (x));
1606  }
1607 
1608 
1609  // Regime
1610  //
1611 
1613  TimeDerivative () const
1614  {
1615  return this->TimeDerivative_;
1616  }
1617 
1619  TimeDerivative ()
1620  {
1621  return this->TimeDerivative_;
1622  }
1623 
1626  {
1627  this->TimeDerivative_ = s;
1628  }
1629 
1631  OnEntry () const
1632  {
1633  return this->OnEntry_;
1634  }
1635 
1637  OnEntry ()
1638  {
1639  return this->OnEntry_;
1640  }
1641 
1643  OnEntry (const OnEntry_type& x)
1644  {
1645  this->OnEntry_.set (x);
1646  }
1647 
1649  OnEntry (const OnEntry_optional& x)
1650  {
1651  this->OnEntry_ = x;
1652  }
1653 
1655  OnEntry (::std::unique_ptr< OnEntry_type > x)
1656  {
1657  this->OnEntry_.set (std::move (x));
1658  }
1659 
1661  OnCondition () const
1662  {
1663  return this->OnCondition_;
1664  }
1665 
1667  OnCondition ()
1668  {
1669  return this->OnCondition_;
1670  }
1671 
1674  {
1675  this->OnCondition_ = s;
1676  }
1677 
1679  name () const
1680  {
1681  return this->name_.get ();
1682  }
1683 
1685  name ()
1686  {
1687  return this->name_.get ();
1688  }
1689 
1691  name (const name_type& x)
1692  {
1693  this->name_.set (x);
1694  }
1695 
1697  name (::std::unique_ptr< name_type > x)
1698  {
1699  this->name_.set (std::move (x));
1700  }
1701 
1703  initial () const
1704  {
1705  return this->initial_;
1706  }
1707 
1709  initial ()
1710  {
1711  return this->initial_;
1712  }
1713 
1715  initial (const initial_type& x)
1716  {
1717  this->initial_.set (x);
1718  }
1719 
1721  initial (const initial_optional& x)
1722  {
1723  this->initial_ = x;
1724  }
1725 
1727  initial (::std::unique_ptr< initial_type > x)
1728  {
1729  this->initial_.set (std::move (x));
1730  }
1731 
1732 
1733  // OnEntry
1734  //
1735 
1737  StateAssignment () const
1738  {
1739  return this->StateAssignment_;
1740  }
1741 
1744  {
1745  return this->StateAssignment_;
1746  }
1747 
1750  {
1751  this->StateAssignment_ = s;
1752  }
1753 
1754 
1755  // TrueOrFalse
1756  //
1757 
1759  TrueOrFalse (value v)
1760  : ::xml_schema::string (_xsd_TrueOrFalse_literals_[v])
1761  {
1762  }
1763 
1765  TrueOrFalse (const char* v)
1766  : ::xml_schema::string (v)
1767  {
1768  }
1769 
1772  : ::xml_schema::string (v)
1773  {
1774  }
1775 
1778  : ::xml_schema::string (v)
1779  {
1780  }
1781 
1783  TrueOrFalse (const TrueOrFalse& v,
1784  ::xml_schema::flags f,
1785  ::xml_schema::container* c)
1786  : ::xml_schema::string (v, f, c)
1787  {
1788  }
1789 
1791  operator= (value v)
1792  {
1793  static_cast< ::xml_schema::string& > (*this) =
1794  ::xml_schema::string (_xsd_TrueOrFalse_literals_[v]);
1795 
1796  return *this;
1797  }
1798 
1799 
1800  // ZeroToOne
1801  //
1802 
1803 
1804  // Base
1805  //
1806 
1808  id () const
1809  {
1810  return this->id_.get ();
1811  }
1812 
1814  id ()
1815  {
1816  return this->id_.get ();
1817  }
1818 
1819  void Base::
1820  id (const id_type& x)
1821  {
1822  this->id_.set (x);
1823  }
1824 
1825  void Base::
1826  id (::std::unique_ptr< id_type > x)
1827  {
1828  this->id_.set (std::move (x));
1829  }
1830 
1831 
1832  // Standalone
1833  //
1834 
1836  notes () const
1837  {
1838  return this->notes_;
1839  }
1840 
1842  notes ()
1843  {
1844  return this->notes_;
1845  }
1846 
1848  notes (const notes_type& x)
1849  {
1850  this->notes_.set (x);
1851  }
1852 
1854  notes (const notes_optional& x)
1855  {
1856  this->notes_ = x;
1857  }
1858 
1860  notes (::std::unique_ptr< notes_type > x)
1861  {
1862  this->notes_.set (std::move (x));
1863  }
1864 
1866  property () const
1867  {
1868  return this->property_;
1869  }
1870 
1872  property ()
1873  {
1874  return this->property_;
1875  }
1876 
1878  property (const property_sequence& s)
1879  {
1880  this->property_ = s;
1881  }
1882 
1884  annotation () const
1885  {
1886  return this->annotation_;
1887  }
1888 
1890  annotation ()
1891  {
1892  return this->annotation_;
1893  }
1894 
1896  annotation (const annotation_type& x)
1897  {
1898  this->annotation_.set (x);
1899  }
1900 
1903  {
1904  this->annotation_ = x;
1905  }
1906 
1908  annotation (::std::unique_ptr< annotation_type > x)
1909  {
1910  this->annotation_.set (std::move (x));
1911  }
1912 
1914  metaid () const
1915  {
1916  return this->metaid_;
1917  }
1918 
1920  metaid ()
1921  {
1922  return this->metaid_;
1923  }
1924 
1926  metaid (const metaid_type& x)
1927  {
1928  this->metaid_.set (x);
1929  }
1930 
1932  metaid (const metaid_optional& x)
1933  {
1934  this->metaid_ = x;
1935  }
1936 
1938  metaid (::std::unique_ptr< metaid_type > x)
1939  {
1940  this->metaid_.set (std::move (x));
1941  }
1942 
1943 
1944  // NeuroMLDocument_base
1945  //
1946 
1948  include () const
1949  {
1950  return this->include_;
1951  }
1952 
1954  include ()
1955  {
1956  return this->include_;
1957  }
1958 
1960  include (const include_sequence& s)
1961  {
1962  this->include_ = s;
1963  }
1964 
1966  extracellularProperties () const
1967  {
1968  return this->extracellularProperties_;
1969  }
1970 
1973  {
1974  return this->extracellularProperties_;
1975  }
1976 
1979  {
1980  this->extracellularProperties_ = s;
1981  }
1982 
1984  intracellularProperties () const
1985  {
1986  return this->intracellularProperties_;
1987  }
1988 
1991  {
1992  return this->intracellularProperties_;
1993  }
1994 
1997  {
1998  this->intracellularProperties_ = s;
1999  }
2000 
2002  morphology () const
2003  {
2004  return this->morphology_;
2005  }
2006 
2008  morphology ()
2009  {
2010  return this->morphology_;
2011  }
2012 
2015  {
2016  this->morphology_ = s;
2017  }
2018 
2020  ionChannel () const
2021  {
2022  return this->ionChannel_;
2023  }
2024 
2026  ionChannel ()
2027  {
2028  return this->ionChannel_;
2029  }
2030 
2033  {
2034  this->ionChannel_ = s;
2035  }
2036 
2038  ionChannelHH () const
2039  {
2040  return this->ionChannelHH_;
2041  }
2042 
2044  ionChannelHH ()
2045  {
2046  return this->ionChannelHH_;
2047  }
2048 
2051  {
2052  this->ionChannelHH_ = s;
2053  }
2054 
2056  ionChannelVShift () const
2057  {
2058  return this->ionChannelVShift_;
2059  }
2060 
2063  {
2064  return this->ionChannelVShift_;
2065  }
2066 
2069  {
2070  this->ionChannelVShift_ = s;
2071  }
2072 
2074  ionChannelKS () const
2075  {
2076  return this->ionChannelKS_;
2077  }
2078 
2080  ionChannelKS ()
2081  {
2082  return this->ionChannelKS_;
2083  }
2084 
2087  {
2088  this->ionChannelKS_ = s;
2089  }
2090 
2093  {
2094  return this->decayingPoolConcentrationModel_;
2095  }
2096 
2099  {
2100  return this->decayingPoolConcentrationModel_;
2101  }
2102 
2105  {
2106  this->decayingPoolConcentrationModel_ = s;
2107  }
2108 
2111  {
2112  return this->fixedFactorConcentrationModel_;
2113  }
2114 
2117  {
2118  return this->fixedFactorConcentrationModel_;
2119  }
2120 
2123  {
2124  this->fixedFactorConcentrationModel_ = s;
2125  }
2126 
2128  alphaCurrentSynapse () const
2129  {
2130  return this->alphaCurrentSynapse_;
2131  }
2132 
2135  {
2136  return this->alphaCurrentSynapse_;
2137  }
2138 
2141  {
2142  this->alphaCurrentSynapse_ = s;
2143  }
2144 
2146  alphaSynapse () const
2147  {
2148  return this->alphaSynapse_;
2149  }
2150 
2152  alphaSynapse ()
2153  {
2154  return this->alphaSynapse_;
2155  }
2156 
2159  {
2160  this->alphaSynapse_ = s;
2161  }
2162 
2164  expOneSynapse () const
2165  {
2166  return this->expOneSynapse_;
2167  }
2168 
2170  expOneSynapse ()
2171  {
2172  return this->expOneSynapse_;
2173  }
2174 
2177  {
2178  this->expOneSynapse_ = s;
2179  }
2180 
2182  expTwoSynapse () const
2183  {
2184  return this->expTwoSynapse_;
2185  }
2186 
2188  expTwoSynapse ()
2189  {
2190  return this->expTwoSynapse_;
2191  }
2192 
2195  {
2196  this->expTwoSynapse_ = s;
2197  }
2198 
2200  expThreeSynapse () const
2201  {
2202  return this->expThreeSynapse_;
2203  }
2204 
2207  {
2208  return this->expThreeSynapse_;
2209  }
2210 
2213  {
2214  this->expThreeSynapse_ = s;
2215  }
2216 
2218  blockingPlasticSynapse () const
2219  {
2220  return this->blockingPlasticSynapse_;
2221  }
2222 
2225  {
2226  return this->blockingPlasticSynapse_;
2227  }
2228 
2231  {
2232  this->blockingPlasticSynapse_ = s;
2233  }
2234 
2236  doubleSynapse () const
2237  {
2238  return this->doubleSynapse_;
2239  }
2240 
2242  doubleSynapse ()
2243  {
2244  return this->doubleSynapse_;
2245  }
2246 
2249  {
2250  this->doubleSynapse_ = s;
2251  }
2252 
2254  gapJunction () const
2255  {
2256  return this->gapJunction_;
2257  }
2258 
2260  gapJunction ()
2261  {
2262  return this->gapJunction_;
2263  }
2264 
2267  {
2268  this->gapJunction_ = s;
2269  }
2270 
2272  silentSynapse () const
2273  {
2274  return this->silentSynapse_;
2275  }
2276 
2278  silentSynapse ()
2279  {
2280  return this->silentSynapse_;
2281  }
2282 
2285  {
2286  this->silentSynapse_ = s;
2287  }
2288 
2290  linearGradedSynapse () const
2291  {
2292  return this->linearGradedSynapse_;
2293  }
2294 
2297  {
2298  return this->linearGradedSynapse_;
2299  }
2300 
2303  {
2304  this->linearGradedSynapse_ = s;
2305  }
2306 
2308  gradedSynapse () const
2309  {
2310  return this->gradedSynapse_;
2311  }
2312 
2314  gradedSynapse ()
2315  {
2316  return this->gradedSynapse_;
2317  }
2318 
2321  {
2322  this->gradedSynapse_ = s;
2323  }
2324 
2326  biophysicalProperties () const
2327  {
2328  return this->biophysicalProperties_;
2329  }
2330 
2333  {
2334  return this->biophysicalProperties_;
2335  }
2336 
2339  {
2340  this->biophysicalProperties_ = s;
2341  }
2342 
2344  cell () const
2345  {
2346  return this->cell_;
2347  }
2348 
2350  cell ()
2351  {
2352  return this->cell_;
2353  }
2354 
2356  cell (const cell_sequence& s)
2357  {
2358  this->cell_ = s;
2359  }
2360 
2362  cell2CaPools () const
2363  {
2364  return this->cell2CaPools_;
2365  }
2366 
2368  cell2CaPools ()
2369  {
2370  return this->cell2CaPools_;
2371  }
2372 
2375  {
2376  this->cell2CaPools_ = s;
2377  }
2378 
2380  baseCell () const
2381  {
2382  return this->baseCell_;
2383  }
2384 
2386  baseCell ()
2387  {
2388  return this->baseCell_;
2389  }
2390 
2392  baseCell (const baseCell_sequence& s)
2393  {
2394  this->baseCell_ = s;
2395  }
2396 
2398  iafTauCell () const
2399  {
2400  return this->iafTauCell_;
2401  }
2402 
2404  iafTauCell ()
2405  {
2406  return this->iafTauCell_;
2407  }
2408 
2411  {
2412  this->iafTauCell_ = s;
2413  }
2414 
2416  iafTauRefCell () const
2417  {
2418  return this->iafTauRefCell_;
2419  }
2420 
2422  iafTauRefCell ()
2423  {
2424  return this->iafTauRefCell_;
2425  }
2426 
2429  {
2430  this->iafTauRefCell_ = s;
2431  }
2432 
2434  iafCell () const
2435  {
2436  return this->iafCell_;
2437  }
2438 
2440  iafCell ()
2441  {
2442  return this->iafCell_;
2443  }
2444 
2446  iafCell (const iafCell_sequence& s)
2447  {
2448  this->iafCell_ = s;
2449  }
2450 
2452  iafRefCell () const
2453  {
2454  return this->iafRefCell_;
2455  }
2456 
2458  iafRefCell ()
2459  {
2460  return this->iafRefCell_;
2461  }
2462 
2465  {
2466  this->iafRefCell_ = s;
2467  }
2468 
2470  izhikevichCell () const
2471  {
2472  return this->izhikevichCell_;
2473  }
2474 
2476  izhikevichCell ()
2477  {
2478  return this->izhikevichCell_;
2479  }
2480 
2483  {
2484  this->izhikevichCell_ = s;
2485  }
2486 
2488  izhikevich2007Cell () const
2489  {
2490  return this->izhikevich2007Cell_;
2491  }
2492 
2495  {
2496  return this->izhikevich2007Cell_;
2497  }
2498 
2501  {
2502  this->izhikevich2007Cell_ = s;
2503  }
2504 
2506  adExIaFCell () const
2507  {
2508  return this->adExIaFCell_;
2509  }
2510 
2512  adExIaFCell ()
2513  {
2514  return this->adExIaFCell_;
2515  }
2516 
2519  {
2520  this->adExIaFCell_ = s;
2521  }
2522 
2524  fitzHughNagumoCell () const
2525  {
2526  return this->fitzHughNagumoCell_;
2527  }
2528 
2531  {
2532  return this->fitzHughNagumoCell_;
2533  }
2534 
2537  {
2538  this->fitzHughNagumoCell_ = s;
2539  }
2540 
2542  fitzHughNagumo1969Cell () const
2543  {
2544  return this->fitzHughNagumo1969Cell_;
2545  }
2546 
2549  {
2550  return this->fitzHughNagumo1969Cell_;
2551  }
2552 
2555  {
2556  this->fitzHughNagumo1969Cell_ = s;
2557  }
2558 
2560  pinskyRinzelCA3Cell () const
2561  {
2562  return this->pinskyRinzelCA3Cell_;
2563  }
2564 
2567  {
2568  return this->pinskyRinzelCA3Cell_;
2569  }
2570 
2573  {
2574  this->pinskyRinzelCA3Cell_ = s;
2575  }
2576 
2578  hindmarshRose1984Cell () const
2579  {
2580  return this->hindmarshRose1984Cell_;
2581  }
2582 
2585  {
2586  return this->hindmarshRose1984Cell_;
2587  }
2588 
2591  {
2592  this->hindmarshRose1984Cell_ = s;
2593  }
2594 
2596  pulseGenerator () const
2597  {
2598  return this->pulseGenerator_;
2599  }
2600 
2602  pulseGenerator ()
2603  {
2604  return this->pulseGenerator_;
2605  }
2606 
2609  {
2610  this->pulseGenerator_ = s;
2611  }
2612 
2614  pulseGeneratorDL () const
2615  {
2616  return this->pulseGeneratorDL_;
2617  }
2618 
2621  {
2622  return this->pulseGeneratorDL_;
2623  }
2624 
2627  {
2628  this->pulseGeneratorDL_ = s;
2629  }
2630 
2632  sineGenerator () const
2633  {
2634  return this->sineGenerator_;
2635  }
2636 
2638  sineGenerator ()
2639  {
2640  return this->sineGenerator_;
2641  }
2642 
2645  {
2646  this->sineGenerator_ = s;
2647  }
2648 
2650  sineGeneratorDL () const
2651  {
2652  return this->sineGeneratorDL_;
2653  }
2654 
2657  {
2658  return this->sineGeneratorDL_;
2659  }
2660 
2663  {
2664  this->sineGeneratorDL_ = s;
2665  }
2666 
2668  rampGenerator () const
2669  {
2670  return this->rampGenerator_;
2671  }
2672 
2674  rampGenerator ()
2675  {
2676  return this->rampGenerator_;
2677  }
2678 
2681  {
2682  this->rampGenerator_ = s;
2683  }
2684 
2686  rampGeneratorDL () const
2687  {
2688  return this->rampGeneratorDL_;
2689  }
2690 
2693  {
2694  return this->rampGeneratorDL_;
2695  }
2696 
2699  {
2700  this->rampGeneratorDL_ = s;
2701  }
2702 
2704  compoundInput () const
2705  {
2706  return this->compoundInput_;
2707  }
2708 
2710  compoundInput ()
2711  {
2712  return this->compoundInput_;
2713  }
2714 
2717  {
2718  this->compoundInput_ = s;
2719  }
2720 
2722  compoundInputDL () const
2723  {
2724  return this->compoundInputDL_;
2725  }
2726 
2729  {
2730  return this->compoundInputDL_;
2731  }
2732 
2735  {
2736  this->compoundInputDL_ = s;
2737  }
2738 
2740  voltageClamp () const
2741  {
2742  return this->voltageClamp_;
2743  }
2744 
2746  voltageClamp ()
2747  {
2748  return this->voltageClamp_;
2749  }
2750 
2753  {
2754  this->voltageClamp_ = s;
2755  }
2756 
2758  voltageClampTriple () const
2759  {
2760  return this->voltageClampTriple_;
2761  }
2762 
2765  {
2766  return this->voltageClampTriple_;
2767  }
2768 
2771  {
2772  this->voltageClampTriple_ = s;
2773  }
2774 
2776  spikeArray () const
2777  {
2778  return this->spikeArray_;
2779  }
2780 
2782  spikeArray ()
2783  {
2784  return this->spikeArray_;
2785  }
2786 
2789  {
2790  this->spikeArray_ = s;
2791  }
2792 
2794  timedSynapticInput () const
2795  {
2796  return this->timedSynapticInput_;
2797  }
2798 
2801  {
2802  return this->timedSynapticInput_;
2803  }
2804 
2807  {
2808  this->timedSynapticInput_ = s;
2809  }
2810 
2812  spikeGenerator () const
2813  {
2814  return this->spikeGenerator_;
2815  }
2816 
2818  spikeGenerator ()
2819  {
2820  return this->spikeGenerator_;
2821  }
2822 
2825  {
2826  this->spikeGenerator_ = s;
2827  }
2828 
2830  spikeGeneratorRandom () const
2831  {
2832  return this->spikeGeneratorRandom_;
2833  }
2834 
2837  {
2838  return this->spikeGeneratorRandom_;
2839  }
2840 
2843  {
2844  this->spikeGeneratorRandom_ = s;
2845  }
2846 
2848  spikeGeneratorPoisson () const
2849  {
2850  return this->spikeGeneratorPoisson_;
2851  }
2852 
2855  {
2856  return this->spikeGeneratorPoisson_;
2857  }
2858 
2861  {
2862  this->spikeGeneratorPoisson_ = s;
2863  }
2864 
2867  {
2868  return this->spikeGeneratorRefPoisson_;
2869  }
2870 
2873  {
2874  return this->spikeGeneratorRefPoisson_;
2875  }
2876 
2879  {
2880  this->spikeGeneratorRefPoisson_ = s;
2881  }
2882 
2884  poissonFiringSynapse () const
2885  {
2886  return this->poissonFiringSynapse_;
2887  }
2888 
2891  {
2892  return this->poissonFiringSynapse_;
2893  }
2894 
2897  {
2898  this->poissonFiringSynapse_ = s;
2899  }
2900 
2903  {
2904  return this->transientPoissonFiringSynapse_;
2905  }
2906 
2909  {
2910  return this->transientPoissonFiringSynapse_;
2911  }
2912 
2915  {
2916  this->transientPoissonFiringSynapse_ = s;
2917  }
2918 
2920  IF_curr_alpha () const
2921  {
2922  return this->IF_curr_alpha_;
2923  }
2924 
2926  IF_curr_alpha ()
2927  {
2928  return this->IF_curr_alpha_;
2929  }
2930 
2933  {
2934  this->IF_curr_alpha_ = s;
2935  }
2936 
2938  IF_curr_exp () const
2939  {
2940  return this->IF_curr_exp_;
2941  }
2942 
2944  IF_curr_exp ()
2945  {
2946  return this->IF_curr_exp_;
2947  }
2948 
2951  {
2952  this->IF_curr_exp_ = s;
2953  }
2954 
2956  IF_cond_alpha () const
2957  {
2958  return this->IF_cond_alpha_;
2959  }
2960 
2962  IF_cond_alpha ()
2963  {
2964  return this->IF_cond_alpha_;
2965  }
2966 
2969  {
2970  this->IF_cond_alpha_ = s;
2971  }
2972 
2974  IF_cond_exp () const
2975  {
2976  return this->IF_cond_exp_;
2977  }
2978 
2980  IF_cond_exp ()
2981  {
2982  return this->IF_cond_exp_;
2983  }
2984 
2987  {
2988  this->IF_cond_exp_ = s;
2989  }
2990 
2992  EIF_cond_exp_isfa_ista () const
2993  {
2994  return this->EIF_cond_exp_isfa_ista_;
2995  }
2996 
2999  {
3000  return this->EIF_cond_exp_isfa_ista_;
3001  }
3002 
3005  {
3006  this->EIF_cond_exp_isfa_ista_ = s;
3007  }
3008 
3011  {
3012  return this->EIF_cond_alpha_isfa_ista_;
3013  }
3014 
3017  {
3018  return this->EIF_cond_alpha_isfa_ista_;
3019  }
3020 
3023  {
3024  this->EIF_cond_alpha_isfa_ista_ = s;
3025  }
3026 
3028  HH_cond_exp () const
3029  {
3030  return this->HH_cond_exp_;
3031  }
3032 
3034  HH_cond_exp ()
3035  {
3036  return this->HH_cond_exp_;
3037  }
3038 
3041  {
3042  this->HH_cond_exp_ = s;
3043  }
3044 
3046  expCondSynapse () const
3047  {
3048  return this->expCondSynapse_;
3049  }
3050 
3052  expCondSynapse ()
3053  {
3054  return this->expCondSynapse_;
3055  }
3056 
3059  {
3060  this->expCondSynapse_ = s;
3061  }
3062 
3064  alphaCondSynapse () const
3065  {
3066  return this->alphaCondSynapse_;
3067  }
3068 
3071  {
3072  return this->alphaCondSynapse_;
3073  }
3074 
3077  {
3078  this->alphaCondSynapse_ = s;
3079  }
3080 
3082  expCurrSynapse () const
3083  {
3084  return this->expCurrSynapse_;
3085  }
3086 
3088  expCurrSynapse ()
3089  {
3090  return this->expCurrSynapse_;
3091  }
3092 
3095  {
3096  this->expCurrSynapse_ = s;
3097  }
3098 
3100  alphaCurrSynapse () const
3101  {
3102  return this->alphaCurrSynapse_;
3103  }
3104 
3107  {
3108  return this->alphaCurrSynapse_;
3109  }
3110 
3113  {
3114  this->alphaCurrSynapse_ = s;
3115  }
3116 
3118  SpikeSourcePoisson () const
3119  {
3120  return this->SpikeSourcePoisson_;
3121  }
3122 
3125  {
3126  return this->SpikeSourcePoisson_;
3127  }
3128 
3131  {
3132  this->SpikeSourcePoisson_ = s;
3133  }
3134 
3136  network () const
3137  {
3138  return this->network_;
3139  }
3140 
3142  network ()
3143  {
3144  return this->network_;
3145  }
3146 
3148  network (const network_sequence& s)
3149  {
3150  this->network_ = s;
3151  }
3152 
3154  ComponentType () const
3155  {
3156  return this->ComponentType_;
3157  }
3158 
3160  ComponentType ()
3161  {
3162  return this->ComponentType_;
3163  }
3164 
3167  {
3168  this->ComponentType_ = s;
3169  }
3170 
3171 
3172  // IncludeType
3173  //
3174 
3176  href () const
3177  {
3178  return this->href_.get ();
3179  }
3180 
3182  href ()
3183  {
3184  return this->href_.get ();
3185  }
3186 
3188  href (const href_type& x)
3189  {
3190  this->href_.set (x);
3191  }
3192 
3194  href (::std::unique_ptr< href_type > x)
3195  {
3196  this->href_.set (std::move (x));
3197  }
3198 
3199 
3200  // IonChannelScalable
3201  //
3202 
3204  q10ConductanceScaling () const
3205  {
3206  return this->q10ConductanceScaling_;
3207  }
3208 
3211  {
3212  return this->q10ConductanceScaling_;
3213  }
3214 
3217  {
3218  this->q10ConductanceScaling_ = s;
3219  }
3220 
3222  neuroLexId () const
3223  {
3224  return this->neuroLexId_;
3225  }
3226 
3228  neuroLexId ()
3229  {
3230  return this->neuroLexId_;
3231  }
3232 
3234  neuroLexId (const neuroLexId_type& x)
3235  {
3236  this->neuroLexId_.set (x);
3237  }
3238 
3241  {
3242  this->neuroLexId_ = x;
3243  }
3244 
3246  neuroLexId (::std::unique_ptr< neuroLexId_type > x)
3247  {
3248  this->neuroLexId_.set (std::move (x));
3249  }
3250 
3251 
3252  // IonChannelKS
3253  //
3254 
3256  gateKS () const
3257  {
3258  return this->gateKS_;
3259  }
3260 
3262  gateKS ()
3263  {
3264  return this->gateKS_;
3265  }
3266 
3268  gateKS (const gateKS_sequence& s)
3269  {
3270  this->gateKS_ = s;
3271  }
3272 
3274  species () const
3275  {
3276  return this->species_;
3277  }
3278 
3280  species ()
3281  {
3282  return this->species_;
3283  }
3284 
3286  species (const species_type& x)
3287  {
3288  this->species_.set (x);
3289  }
3290 
3292  species (const species_optional& x)
3293  {
3294  this->species_ = x;
3295  }
3296 
3298  species (::std::unique_ptr< species_type > x)
3299  {
3300  this->species_.set (std::move (x));
3301  }
3302 
3304  conductance () const
3305  {
3306  return this->conductance_;
3307  }
3308 
3310  conductance ()
3311  {
3312  return this->conductance_;
3313  }
3314 
3316  conductance (const conductance_type& x)
3317  {
3318  this->conductance_.set (x);
3319  }
3320 
3323  {
3324  this->conductance_ = x;
3325  }
3326 
3328  conductance (::std::unique_ptr< conductance_type > x)
3329  {
3330  this->conductance_.set (std::move (x));
3331  }
3332 
3334  neuroLexId () const
3335  {
3336  return this->neuroLexId_;
3337  }
3338 
3340  neuroLexId ()
3341  {
3342  return this->neuroLexId_;
3343  }
3344 
3346  neuroLexId (const neuroLexId_type& x)
3347  {
3348  this->neuroLexId_.set (x);
3349  }
3350 
3353  {
3354  this->neuroLexId_ = x;
3355  }
3356 
3358  neuroLexId (::std::unique_ptr< neuroLexId_type > x)
3359  {
3360  this->neuroLexId_.set (std::move (x));
3361  }
3362 
3363 
3364  // IonChannel
3365  //
3366 
3368  gate () const
3369  {
3370  return this->gate_;
3371  }
3372 
3374  gate ()
3375  {
3376  return this->gate_;
3377  }
3378 
3380  gate (const gate_sequence& s)
3381  {
3382  this->gate_ = s;
3383  }
3384 
3386  gateHHrates () const
3387  {
3388  return this->gateHHrates_;
3389  }
3390 
3392  gateHHrates ()
3393  {
3394  return this->gateHHrates_;
3395  }
3396 
3399  {
3400  this->gateHHrates_ = s;
3401  }
3402 
3404  gateHHratesTau () const
3405  {
3406  return this->gateHHratesTau_;
3407  }
3408 
3410  gateHHratesTau ()
3411  {
3412  return this->gateHHratesTau_;
3413  }
3414 
3417  {
3418  this->gateHHratesTau_ = s;
3419  }
3420 
3422  gateHHtauInf () const
3423  {
3424  return this->gateHHtauInf_;
3425  }
3426 
3428  gateHHtauInf ()
3429  {
3430  return this->gateHHtauInf_;
3431  }
3432 
3435  {
3436  this->gateHHtauInf_ = s;
3437  }
3438 
3440  gateHHratesInf () const
3441  {
3442  return this->gateHHratesInf_;
3443  }
3444 
3446  gateHHratesInf ()
3447  {
3448  return this->gateHHratesInf_;
3449  }
3450 
3453  {
3454  this->gateHHratesInf_ = s;
3455  }
3456 
3458  gateHHratesTauInf () const
3459  {
3460  return this->gateHHratesTauInf_;
3461  }
3462 
3465  {
3466  return this->gateHHratesTauInf_;
3467  }
3468 
3471  {
3472  this->gateHHratesTauInf_ = s;
3473  }
3474 
3476  gateHHInstantaneous () const
3477  {
3478  return this->gateHHInstantaneous_;
3479  }
3480 
3483  {
3484  return this->gateHHInstantaneous_;
3485  }
3486 
3489  {
3490  this->gateHHInstantaneous_ = s;
3491  }
3492 
3494  gateFractional () const
3495  {
3496  return this->gateFractional_;
3497  }
3498 
3500  gateFractional ()
3501  {
3502  return this->gateFractional_;
3503  }
3504 
3507  {
3508  this->gateFractional_ = s;
3509  }
3510 
3512  species () const
3513  {
3514  return this->species_;
3515  }
3516 
3518  species ()
3519  {
3520  return this->species_;
3521  }
3522 
3524  species (const species_type& x)
3525  {
3526  this->species_.set (x);
3527  }
3528 
3530  species (const species_optional& x)
3531  {
3532  this->species_ = x;
3533  }
3534 
3536  species (::std::unique_ptr< species_type > x)
3537  {
3538  this->species_.set (std::move (x));
3539  }
3540 
3542  type () const
3543  {
3544  return this->type_;
3545  }
3546 
3548  type ()
3549  {
3550  return this->type_;
3551  }
3552 
3554  type (const type_type& x)
3555  {
3556  this->type_.set (x);
3557  }
3558 
3560  type (const type_optional& x)
3561  {
3562  this->type_ = x;
3563  }
3564 
3566  type (::std::unique_ptr< type_type > x)
3567  {
3568  this->type_.set (std::move (x));
3569  }
3570 
3572  conductance () const
3573  {
3574  return this->conductance_;
3575  }
3576 
3578  conductance ()
3579  {
3580  return this->conductance_;
3581  }
3582 
3584  conductance (const conductance_type& x)
3585  {
3586  this->conductance_.set (x);
3587  }
3588 
3591  {
3592  this->conductance_ = x;
3593  }
3594 
3596  conductance (::std::unique_ptr< conductance_type > x)
3597  {
3598  this->conductance_.set (std::move (x));
3599  }
3600 
3601 
3602  // IonChannelHH
3603  //
3604 
3605 
3606  // IonChannelVShift
3607  //
3608 
3610  vShift () const
3611  {
3612  return this->vShift_.get ();
3613  }
3614 
3616  vShift ()
3617  {
3618  return this->vShift_.get ();
3619  }
3620 
3622  vShift (const vShift_type& x)
3623  {
3624  this->vShift_.set (x);
3625  }
3626 
3628  vShift (::std::unique_ptr< vShift_type > x)
3629  {
3630  this->vShift_.set (std::move (x));
3631  }
3632 
3633 
3634  // channelTypes
3635  //
3636 
3638  channelTypes (value v)
3639  : ::xml_schema::string (_xsd_channelTypes_literals_[v])
3640  {
3641  }
3642 
3644  channelTypes (const char* v)
3645  : ::xml_schema::string (v)
3646  {
3647  }
3648 
3651  : ::xml_schema::string (v)
3652  {
3653  }
3654 
3657  : ::xml_schema::string (v)
3658  {
3659  }
3660 
3662  channelTypes (const channelTypes& v,
3663  ::xml_schema::flags f,
3664  ::xml_schema::container* c)
3665  : ::xml_schema::string (v, f, c)
3666  {
3667  }
3668 
3670  operator= (value v)
3671  {
3672  static_cast< ::xml_schema::string& > (*this) =
3673  ::xml_schema::string (_xsd_channelTypes_literals_[v]);
3674 
3675  return *this;
3676  }
3677 
3678 
3679  // Q10ConductanceScaling
3680  //
3681 
3683  q10Factor () const
3684  {
3685  return this->q10Factor_.get ();
3686  }
3687 
3689  q10Factor ()
3690  {
3691  return this->q10Factor_.get ();
3692  }
3693 
3695  q10Factor (const q10Factor_type& x)
3696  {
3697  this->q10Factor_.set (x);
3698  }
3699 
3701  q10Factor (::std::unique_ptr< q10Factor_type > x)
3702  {
3703  this->q10Factor_.set (std::move (x));
3704  }
3705 
3707  experimentalTemp () const
3708  {
3709  return this->experimentalTemp_.get ();
3710  }
3711 
3714  {
3715  return this->experimentalTemp_.get ();
3716  }
3717 
3720  {
3721  this->experimentalTemp_.set (x);
3722  }
3723 
3725  experimentalTemp (::std::unique_ptr< experimentalTemp_type > x)
3726  {
3727  this->experimentalTemp_.set (std::move (x));
3728  }
3729 
3730 
3731  // gateTypes
3732  //
3733 
3735  gateTypes (value v)
3736  : ::xml_schema::string (_xsd_gateTypes_literals_[v])
3737  {
3738  }
3739 
3741  gateTypes (const char* v)
3742  : ::xml_schema::string (v)
3743  {
3744  }
3745 
3748  : ::xml_schema::string (v)
3749  {
3750  }
3751 
3754  : ::xml_schema::string (v)
3755  {
3756  }
3757 
3759  gateTypes (const gateTypes& v,
3760  ::xml_schema::flags f,
3761  ::xml_schema::container* c)
3762  : ::xml_schema::string (v, f, c)
3763  {
3764  }
3765 
3767  operator= (value v)
3768  {
3769  static_cast< ::xml_schema::string& > (*this) =
3770  ::xml_schema::string (_xsd_gateTypes_literals_[v]);
3771 
3772  return *this;
3773  }
3774 
3775 
3776  // ClosedState
3777  //
3778 
3779 
3780  // OpenState
3781  //
3782 
3783 
3784  // ForwardTransition
3785  //
3786 
3788  from () const
3789  {
3790  return this->from_.get ();
3791  }
3792 
3794  from ()
3795  {
3796  return this->from_.get ();
3797  }
3798 
3800  from (const from_type& x)
3801  {
3802  this->from_.set (x);
3803  }
3804 
3806  from (::std::unique_ptr< from_type > x)
3807  {
3808  this->from_.set (std::move (x));
3809  }
3810 
3812  to () const
3813  {
3814  return this->to_.get ();
3815  }
3816 
3818  to ()
3819  {
3820  return this->to_.get ();
3821  }
3822 
3824  to (const to_type& x)
3825  {
3826  this->to_.set (x);
3827  }
3828 
3830  to (::std::unique_ptr< to_type > x)
3831  {
3832  this->to_.set (std::move (x));
3833  }
3834 
3835 
3836  // ReverseTransition
3837  //
3838 
3840  from () const
3841  {
3842  return this->from_.get ();
3843  }
3844 
3846  from ()
3847  {
3848  return this->from_.get ();
3849  }
3850 
3852  from (const from_type& x)
3853  {
3854  this->from_.set (x);
3855  }
3856 
3858  from (::std::unique_ptr< from_type > x)
3859  {
3860  this->from_.set (std::move (x));
3861  }
3862 
3864  to () const
3865  {
3866  return this->to_.get ();
3867  }
3868 
3870  to ()
3871  {
3872  return this->to_.get ();
3873  }
3874 
3876  to (const to_type& x)
3877  {
3878  this->to_.set (x);
3879  }
3880 
3882  to (::std::unique_ptr< to_type > x)
3883  {
3884  this->to_.set (std::move (x));
3885  }
3886 
3887 
3888  // TauInfTransition
3889  //
3890 
3892  steadyState () const
3893  {
3894  return this->steadyState_.get ();
3895  }
3896 
3898  steadyState ()
3899  {
3900  return this->steadyState_.get ();
3901  }
3902 
3904  steadyState (const steadyState_type& x)
3905  {
3906  this->steadyState_.set (x);
3907  }
3908 
3910  steadyState (::std::unique_ptr< steadyState_type > x)
3911  {
3912  this->steadyState_.set (std::move (x));
3913  }
3914 
3916  timeCourse () const
3917  {
3918  return this->timeCourse_.get ();
3919  }
3920 
3922  timeCourse ()
3923  {
3924  return this->timeCourse_.get ();
3925  }
3926 
3928  timeCourse (const timeCourse_type& x)
3929  {
3930  this->timeCourse_.set (x);
3931  }
3932 
3934  timeCourse (::std::unique_ptr< timeCourse_type > x)
3935  {
3936  this->timeCourse_.set (std::move (x));
3937  }
3938 
3940  from () const
3941  {
3942  return this->from_.get ();
3943  }
3944 
3946  from ()
3947  {
3948  return this->from_.get ();
3949  }
3950 
3952  from (const from_type& x)
3953  {
3954  this->from_.set (x);
3955  }
3956 
3958  from (::std::unique_ptr< from_type > x)
3959  {
3960  this->from_.set (std::move (x));
3961  }
3962 
3964  to () const
3965  {
3966  return this->to_.get ();
3967  }
3968 
3970  to ()
3971  {
3972  return this->to_.get ();
3973  }
3974 
3976  to (const to_type& x)
3977  {
3978  this->to_.set (x);
3979  }
3980 
3982  to (::std::unique_ptr< to_type > x)
3983  {
3984  this->to_.set (std::move (x));
3985  }
3986 
3987 
3988  // GateKS
3989  //
3990 
3992  notes () const
3993  {
3994  return this->notes_;
3995  }
3996 
3998  notes ()
3999  {
4000  return this->notes_;
4001  }
4002 
4004  notes (const notes_type& x)
4005  {
4006  this->notes_.set (x);
4007  }
4008 
4010  notes (const notes_optional& x)
4011  {
4012  this->notes_ = x;
4013  }
4014 
4016  notes (::std::unique_ptr< notes_type > x)
4017  {
4018  this->notes_.set (std::move (x));
4019  }
4020 
4022  q10Settings () const
4023  {
4024  return this->q10Settings_;
4025  }
4026 
4028  q10Settings ()
4029  {
4030  return this->q10Settings_;
4031  }
4032 
4034  q10Settings (const q10Settings_type& x)
4035  {
4036  this->q10Settings_.set (x);
4037  }
4038 
4041  {
4042  this->q10Settings_ = x;
4043  }
4044 
4046  q10Settings (::std::unique_ptr< q10Settings_type > x)
4047  {
4048  this->q10Settings_.set (std::move (x));
4049  }
4050 
4052  closedState () const
4053  {
4054  return this->closedState_;
4055  }
4056 
4058  closedState ()
4059  {
4060  return this->closedState_;
4061  }
4062 
4065  {
4066  this->closedState_ = s;
4067  }
4068 
4070  openState () const
4071  {
4072  return this->openState_;
4073  }
4074 
4076  openState ()
4077  {
4078  return this->openState_;
4079  }
4080 
4082  openState (const openState_sequence& s)
4083  {
4084  this->openState_ = s;
4085  }
4086 
4088  forwardTransition () const
4089  {
4090  return this->forwardTransition_;
4091  }
4092 
4095  {
4096  return this->forwardTransition_;
4097  }
4098 
4101  {
4102  this->forwardTransition_ = s;
4103  }
4104 
4106  reverseTransition () const
4107  {
4108  return this->reverseTransition_;
4109  }
4110 
4113  {
4114  return this->reverseTransition_;
4115  }
4116 
4119  {
4120  this->reverseTransition_ = s;
4121  }
4122 
4124  tauInfTransition () const
4125  {
4126  return this->tauInfTransition_;
4127  }
4128 
4131  {
4132  return this->tauInfTransition_;
4133  }
4134 
4137  {
4138  this->tauInfTransition_ = s;
4139  }
4140 
4142  instances () const
4143  {
4144  return this->instances_.get ();
4145  }
4146 
4148  instances ()
4149  {
4150  return this->instances_.get ();
4151  }
4152 
4154  instances (const instances_type& x)
4155  {
4156  this->instances_.set (x);
4157  }
4158 
4160  instances (::std::unique_ptr< instances_type > x)
4161  {
4162  this->instances_.set (std::move (x));
4163  }
4164 
4165 
4166  // GateHHUndetermined
4167  //
4168 
4170  notes () const
4171  {
4172  return this->notes_;
4173  }
4174 
4176  notes ()
4177  {
4178  return this->notes_;
4179  }
4180 
4182  notes (const notes_type& x)
4183  {
4184  this->notes_.set (x);
4185  }
4186 
4188  notes (const notes_optional& x)
4189  {
4190  this->notes_ = x;
4191  }
4192 
4194  notes (::std::unique_ptr< notes_type > x)
4195  {
4196  this->notes_.set (std::move (x));
4197  }
4198 
4200  q10Settings () const
4201  {
4202  return this->q10Settings_;
4203  }
4204 
4206  q10Settings ()
4207  {
4208  return this->q10Settings_;
4209  }
4210 
4212  q10Settings (const q10Settings_type& x)
4213  {
4214  this->q10Settings_.set (x);
4215  }
4216 
4219  {
4220  this->q10Settings_ = x;
4221  }
4222 
4224  q10Settings (::std::unique_ptr< q10Settings_type > x)
4225  {
4226  this->q10Settings_.set (std::move (x));
4227  }
4228 
4230  forwardRate () const
4231  {
4232  return this->forwardRate_;
4233  }
4234 
4236  forwardRate ()
4237  {
4238  return this->forwardRate_;
4239  }
4240 
4242  forwardRate (const forwardRate_type& x)
4243  {
4244  this->forwardRate_.set (x);
4245  }
4246 
4249  {
4250  this->forwardRate_ = x;
4251  }
4252 
4254  forwardRate (::std::unique_ptr< forwardRate_type > x)
4255  {
4256  this->forwardRate_.set (std::move (x));
4257  }
4258 
4260  reverseRate () const
4261  {
4262  return this->reverseRate_;
4263  }
4264 
4266  reverseRate ()
4267  {
4268  return this->reverseRate_;
4269  }
4270 
4272  reverseRate (const reverseRate_type& x)
4273  {
4274  this->reverseRate_.set (x);
4275  }
4276 
4279  {
4280  this->reverseRate_ = x;
4281  }
4282 
4284  reverseRate (::std::unique_ptr< reverseRate_type > x)
4285  {
4286  this->reverseRate_.set (std::move (x));
4287  }
4288 
4290  timeCourse () const
4291  {
4292  return this->timeCourse_;
4293  }
4294 
4296  timeCourse ()
4297  {
4298  return this->timeCourse_;
4299  }
4300 
4302  timeCourse (const timeCourse_type& x)
4303  {
4304  this->timeCourse_.set (x);
4305  }
4306 
4309  {
4310  this->timeCourse_ = x;
4311  }
4312 
4314  timeCourse (::std::unique_ptr< timeCourse_type > x)
4315  {
4316  this->timeCourse_.set (std::move (x));
4317  }
4318 
4320  steadyState () const
4321  {
4322  return this->steadyState_;
4323  }
4324 
4326  steadyState ()
4327  {
4328  return this->steadyState_;
4329  }
4330 
4332  steadyState (const steadyState_type& x)
4333  {
4334  this->steadyState_.set (x);
4335  }
4336 
4339  {
4340  this->steadyState_ = x;
4341  }
4342 
4344  steadyState (::std::unique_ptr< steadyState_type > x)
4345  {
4346  this->steadyState_.set (std::move (x));
4347  }
4348 
4350  subGate () const
4351  {
4352  return this->subGate_;
4353  }
4354 
4356  subGate ()
4357  {
4358  return this->subGate_;
4359  }
4360 
4362  subGate (const subGate_sequence& s)
4363  {
4364  this->subGate_ = s;
4365  }
4366 
4368  instances () const
4369  {
4370  return this->instances_.get ();
4371  }
4372 
4374  instances ()
4375  {
4376  return this->instances_.get ();
4377  }
4378 
4380  instances (const instances_type& x)
4381  {
4382  this->instances_.set (x);
4383  }
4384 
4386  instances (::std::unique_ptr< instances_type > x)
4387  {
4388  this->instances_.set (std::move (x));
4389  }
4390 
4392  type () const
4393  {
4394  return this->type_.get ();
4395  }
4396 
4398  type ()
4399  {
4400  return this->type_.get ();
4401  }
4402 
4404  type (const type_type& x)
4405  {
4406  this->type_.set (x);
4407  }
4408 
4410  type (::std::unique_ptr< type_type > x)
4411  {
4412  this->type_.set (std::move (x));
4413  }
4414 
4415 
4416  // GateHHRates
4417  //
4418 
4420  notes () const
4421  {
4422  return this->notes_;
4423  }
4424 
4426  notes ()
4427  {
4428  return this->notes_;
4429  }
4430 
4432  notes (const notes_type& x)
4433  {
4434  this->notes_.set (x);
4435  }
4436 
4438  notes (const notes_optional& x)
4439  {
4440  this->notes_ = x;
4441  }
4442 
4444  notes (::std::unique_ptr< notes_type > x)
4445  {
4446  this->notes_.set (std::move (x));
4447  }
4448 
4450  q10Settings () const
4451  {
4452  return this->q10Settings_;
4453  }
4454 
4456  q10Settings ()
4457  {
4458  return this->q10Settings_;
4459  }
4460 
4462  q10Settings (const q10Settings_type& x)
4463  {
4464  this->q10Settings_.set (x);
4465  }
4466 
4469  {
4470  this->q10Settings_ = x;
4471  }
4472 
4474  q10Settings (::std::unique_ptr< q10Settings_type > x)
4475  {
4476  this->q10Settings_.set (std::move (x));
4477  }
4478 
4480  forwardRate () const
4481  {
4482  return this->forwardRate_.get ();
4483  }
4484 
4486  forwardRate ()
4487  {
4488  return this->forwardRate_.get ();
4489  }
4490 
4492  forwardRate (const forwardRate_type& x)
4493  {
4494  this->forwardRate_.set (x);
4495  }
4496 
4498  forwardRate (::std::unique_ptr< forwardRate_type > x)
4499  {
4500  this->forwardRate_.set (std::move (x));
4501  }
4502 
4504  reverseRate () const
4505  {
4506  return this->reverseRate_.get ();
4507  }
4508 
4510  reverseRate ()
4511  {
4512  return this->reverseRate_.get ();
4513  }
4514 
4516  reverseRate (const reverseRate_type& x)
4517  {
4518  this->reverseRate_.set (x);
4519  }
4520 
4522  reverseRate (::std::unique_ptr< reverseRate_type > x)
4523  {
4524  this->reverseRate_.set (std::move (x));
4525  }
4526 
4528  instances () const
4529  {
4530  return this->instances_.get ();
4531  }
4532 
4534  instances ()
4535  {
4536  return this->instances_.get ();
4537  }
4538 
4540  instances (const instances_type& x)
4541  {
4542  this->instances_.set (x);
4543  }
4544 
4546  instances (::std::unique_ptr< instances_type > x)
4547  {
4548  this->instances_.set (std::move (x));
4549  }
4550 
4551 
4552  // GateHHTauInf
4553  //
4554 
4556  notes () const
4557  {
4558  return this->notes_;
4559  }
4560 
4562  notes ()
4563  {
4564  return this->notes_;
4565  }
4566 
4568  notes (const notes_type& x)
4569  {
4570  this->notes_.set (x);
4571  }
4572 
4574  notes (const notes_optional& x)
4575  {
4576  this->notes_ = x;
4577  }
4578 
4580  notes (::std::unique_ptr< notes_type > x)
4581  {
4582  this->notes_.set (std::move (x));
4583  }
4584 
4586  q10Settings () const
4587  {
4588  return this->q10Settings_;
4589  }
4590 
4592  q10Settings ()
4593  {
4594  return this->q10Settings_;
4595  }
4596 
4598  q10Settings (const q10Settings_type& x)
4599  {
4600  this->q10Settings_.set (x);
4601  }
4602 
4605  {
4606  this->q10Settings_ = x;
4607  }
4608 
4610  q10Settings (::std::unique_ptr< q10Settings_type > x)
4611  {
4612  this->q10Settings_.set (std::move (x));
4613  }
4614 
4616  timeCourse () const
4617  {
4618  return this->timeCourse_.get ();
4619  }
4620 
4622  timeCourse ()
4623  {
4624  return this->timeCourse_.get ();
4625  }
4626 
4628  timeCourse (const timeCourse_type& x)
4629  {
4630  this->timeCourse_.set (x);
4631  }
4632 
4634  timeCourse (::std::unique_ptr< timeCourse_type > x)
4635  {
4636  this->timeCourse_.set (std::move (x));
4637  }
4638 
4640  steadyState () const
4641  {
4642  return this->steadyState_.get ();
4643  }
4644 
4646  steadyState ()
4647  {
4648  return this->steadyState_.get ();
4649  }
4650 
4652  steadyState (const steadyState_type& x)
4653  {
4654  this->steadyState_.set (x);
4655  }
4656 
4658  steadyState (::std::unique_ptr< steadyState_type > x)
4659  {
4660  this->steadyState_.set (std::move (x));
4661  }
4662 
4664  instances () const
4665  {
4666  return this->instances_.get ();
4667  }
4668 
4670  instances ()
4671  {
4672  return this->instances_.get ();
4673  }
4674 
4676  instances (const instances_type& x)
4677  {
4678  this->instances_.set (x);
4679  }
4680 
4682  instances (::std::unique_ptr< instances_type > x)
4683  {
4684  this->instances_.set (std::move (x));
4685  }
4686 
4687 
4688  // GateHHRatesTauInf
4689  //
4690 
4692  notes () const
4693  {
4694  return this->notes_;
4695  }
4696 
4698  notes ()
4699  {
4700  return this->notes_;
4701  }
4702 
4704  notes (const notes_type& x)
4705  {
4706  this->notes_.set (x);
4707  }
4708 
4710  notes (const notes_optional& x)
4711  {
4712  this->notes_ = x;
4713  }
4714 
4716  notes (::std::unique_ptr< notes_type > x)
4717  {
4718  this->notes_.set (std::move (x));
4719  }
4720 
4722  q10Settings () const
4723  {
4724  return this->q10Settings_;
4725  }
4726 
4728  q10Settings ()
4729  {
4730  return this->q10Settings_;
4731  }
4732 
4734  q10Settings (const q10Settings_type& x)
4735  {
4736  this->q10Settings_.set (x);
4737  }
4738 
4741  {
4742  this->q10Settings_ = x;
4743  }
4744 
4746  q10Settings (::std::unique_ptr< q10Settings_type > x)
4747  {
4748  this->q10Settings_.set (std::move (x));
4749  }
4750 
4752  forwardRate () const
4753  {
4754  return this->forwardRate_.get ();
4755  }
4756 
4758  forwardRate ()
4759  {
4760  return this->forwardRate_.get ();
4761  }
4762 
4764  forwardRate (const forwardRate_type& x)
4765  {
4766  this->forwardRate_.set (x);
4767  }
4768 
4770  forwardRate (::std::unique_ptr< forwardRate_type > x)
4771  {
4772  this->forwardRate_.set (std::move (x));
4773  }
4774 
4776  reverseRate () const
4777  {
4778  return this->reverseRate_.get ();
4779  }
4780 
4782  reverseRate ()
4783  {
4784  return this->reverseRate_.get ();
4785  }
4786 
4788  reverseRate (const reverseRate_type& x)
4789  {
4790  this->reverseRate_.set (x);
4791  }
4792 
4794  reverseRate (::std::unique_ptr< reverseRate_type > x)
4795  {
4796  this->reverseRate_.set (std::move (x));
4797  }
4798 
4800  timeCourse () const
4801  {
4802  return this->timeCourse_.get ();
4803  }
4804 
4806  timeCourse ()
4807  {
4808  return this->timeCourse_.get ();
4809  }
4810 
4812  timeCourse (const timeCourse_type& x)
4813  {
4814  this->timeCourse_.set (x);
4815  }
4816 
4818  timeCourse (::std::unique_ptr< timeCourse_type > x)
4819  {
4820  this->timeCourse_.set (std::move (x));
4821  }
4822 
4824  steadyState () const
4825  {
4826  return this->steadyState_.get ();
4827  }
4828 
4830  steadyState ()
4831  {
4832  return this->steadyState_.get ();
4833  }
4834 
4836  steadyState (const steadyState_type& x)
4837  {
4838  this->steadyState_.set (x);
4839  }
4840 
4842  steadyState (::std::unique_ptr< steadyState_type > x)
4843  {
4844  this->steadyState_.set (std::move (x));
4845  }
4846 
4848  instances () const
4849  {
4850  return this->instances_.get ();
4851  }
4852 
4854  instances ()
4855  {
4856  return this->instances_.get ();
4857  }
4858 
4860  instances (const instances_type& x)
4861  {
4862  this->instances_.set (x);
4863  }
4864 
4866  instances (::std::unique_ptr< instances_type > x)
4867  {
4868  this->instances_.set (std::move (x));
4869  }
4870 
4871 
4872  // GateHHRatesTau
4873  //
4874 
4876  notes () const
4877  {
4878  return this->notes_;
4879  }
4880 
4882  notes ()
4883  {
4884  return this->notes_;
4885  }
4886 
4888  notes (const notes_type& x)
4889  {
4890  this->notes_.set (x);
4891  }
4892 
4894  notes (const notes_optional& x)
4895  {
4896  this->notes_ = x;
4897  }
4898 
4900  notes (::std::unique_ptr< notes_type > x)
4901  {
4902  this->notes_.set (std::move (x));
4903  }
4904 
4906  q10Settings () const
4907  {
4908  return this->q10Settings_;
4909  }
4910 
4912  q10Settings ()
4913  {
4914  return this->q10Settings_;
4915  }
4916 
4918  q10Settings (const q10Settings_type& x)
4919  {
4920  this->q10Settings_.set (x);
4921  }
4922 
4925  {
4926  this->q10Settings_ = x;
4927  }
4928 
4930  q10Settings (::std::unique_ptr< q10Settings_type > x)
4931  {
4932  this->q10Settings_.set (std::move (x));
4933  }
4934 
4936  forwardRate () const
4937  {
4938  return this->forwardRate_.get ();
4939  }
4940 
4942  forwardRate ()
4943  {
4944  return this->forwardRate_.get ();
4945  }
4946 
4948  forwardRate (const forwardRate_type& x)
4949  {
4950  this->forwardRate_.set (x);
4951  }
4952 
4954  forwardRate (::std::unique_ptr< forwardRate_type > x)
4955  {
4956  this->forwardRate_.set (std::move (x));
4957  }
4958 
4960  reverseRate () const
4961  {
4962  return this->reverseRate_.get ();
4963  }
4964 
4966  reverseRate ()
4967  {
4968  return this->reverseRate_.get ();
4969  }
4970 
4972  reverseRate (const reverseRate_type& x)
4973  {
4974  this->reverseRate_.set (x);
4975  }
4976 
4978  reverseRate (::std::unique_ptr< reverseRate_type > x)
4979  {
4980  this->reverseRate_.set (std::move (x));
4981  }
4982 
4984  timeCourse () const
4985  {
4986  return this->timeCourse_.get ();
4987  }
4988 
4990  timeCourse ()
4991  {
4992  return this->timeCourse_.get ();
4993  }
4994 
4996  timeCourse (const timeCourse_type& x)
4997  {
4998  this->timeCourse_.set (x);
4999  }
5000 
5002  timeCourse (::std::unique_ptr< timeCourse_type > x)
5003  {
5004  this->timeCourse_.set (std::move (x));
5005  }
5006 
5008  instances () const
5009  {
5010  return this->instances_.get ();
5011  }
5012 
5014  instances ()
5015  {
5016  return this->instances_.get ();
5017  }
5018 
5020  instances (const instances_type& x)
5021  {
5022  this->instances_.set (x);
5023  }
5024 
5026  instances (::std::unique_ptr< instances_type > x)
5027  {
5028  this->instances_.set (std::move (x));
5029  }
5030 
5031 
5032  // GateHHRatesInf
5033  //
5034 
5036  notes () const
5037  {
5038  return this->notes_;
5039  }
5040 
5042  notes ()
5043  {
5044  return this->notes_;
5045  }
5046 
5048  notes (const notes_type& x)
5049  {
5050  this->notes_.set (x);
5051  }
5052 
5054  notes (const notes_optional& x)
5055  {
5056  this->notes_ = x;
5057  }
5058 
5060  notes (::std::unique_ptr< notes_type > x)
5061  {
5062  this->notes_.set (std::move (x));
5063  }
5064 
5066  q10Settings () const
5067  {
5068  return this->q10Settings_;
5069  }
5070 
5072  q10Settings ()
5073  {
5074  return this->q10Settings_;
5075  }
5076 
5078  q10Settings (const q10Settings_type& x)
5079  {
5080  this->q10Settings_.set (x);
5081  }
5082 
5085  {
5086  this->q10Settings_ = x;
5087  }
5088 
5090  q10Settings (::std::unique_ptr< q10Settings_type > x)
5091  {
5092  this->q10Settings_.set (std::move (x));
5093  }
5094 
5096  forwardRate () const
5097  {
5098  return this->forwardRate_.get ();
5099  }
5100 
5102  forwardRate ()
5103  {
5104  return this->forwardRate_.get ();
5105  }
5106 
5108  forwardRate (const forwardRate_type& x)
5109  {
5110  this->forwardRate_.set (x);
5111  }
5112 
5114  forwardRate (::std::unique_ptr< forwardRate_type > x)
5115  {
5116  this->forwardRate_.set (std::move (x));
5117  }
5118 
5120  reverseRate () const
5121  {
5122  return this->reverseRate_.get ();
5123  }
5124 
5126  reverseRate ()
5127  {
5128  return this->reverseRate_.get ();
5129  }
5130 
5132  reverseRate (const reverseRate_type& x)
5133  {
5134  this->reverseRate_.set (x);
5135  }
5136 
5138  reverseRate (::std::unique_ptr< reverseRate_type > x)
5139  {
5140  this->reverseRate_.set (std::move (x));
5141  }
5142 
5144  steadyState () const
5145  {
5146  return this->steadyState_.get ();
5147  }
5148 
5150  steadyState ()
5151  {
5152  return this->steadyState_.get ();
5153  }
5154 
5156  steadyState (const steadyState_type& x)
5157  {
5158  this->steadyState_.set (x);
5159  }
5160 
5162  steadyState (::std::unique_ptr< steadyState_type > x)
5163  {
5164  this->steadyState_.set (std::move (x));
5165  }
5166 
5168  instances () const
5169  {
5170  return this->instances_.get ();
5171  }
5172 
5174  instances ()
5175  {
5176  return this->instances_.get ();
5177  }
5178 
5180  instances (const instances_type& x)
5181  {
5182  this->instances_.set (x);
5183  }
5184 
5186  instances (::std::unique_ptr< instances_type > x)
5187  {
5188  this->instances_.set (std::move (x));
5189  }
5190 
5191 
5192  // GateHHInstantaneous
5193  //
5194 
5196  notes () const
5197  {
5198  return this->notes_;
5199  }
5200 
5202  notes ()
5203  {
5204  return this->notes_;
5205  }
5206 
5208  notes (const notes_type& x)
5209  {
5210  this->notes_.set (x);
5211  }
5212 
5214  notes (const notes_optional& x)
5215  {
5216  this->notes_ = x;
5217  }
5218 
5220  notes (::std::unique_ptr< notes_type > x)
5221  {
5222  this->notes_.set (std::move (x));
5223  }
5224 
5226  steadyState () const
5227  {
5228  return this->steadyState_.get ();
5229  }
5230 
5232  steadyState ()
5233  {
5234  return this->steadyState_.get ();
5235  }
5236 
5238  steadyState (const steadyState_type& x)
5239  {
5240  this->steadyState_.set (x);
5241  }
5242 
5244  steadyState (::std::unique_ptr< steadyState_type > x)
5245  {
5246  this->steadyState_.set (std::move (x));
5247  }
5248 
5250  instances () const
5251  {
5252  return this->instances_.get ();
5253  }
5254 
5256  instances ()
5257  {
5258  return this->instances_.get ();
5259  }
5260 
5262  instances (const instances_type& x)
5263  {
5264  this->instances_.set (x);
5265  }
5266 
5268  instances (::std::unique_ptr< instances_type > x)
5269  {
5270  this->instances_.set (std::move (x));
5271  }
5272 
5273 
5274  // GateFractional
5275  //
5276 
5278  notes () const
5279  {
5280  return this->notes_;
5281  }
5282 
5284  notes ()
5285  {
5286  return this->notes_;
5287  }
5288 
5290  notes (const notes_type& x)
5291  {
5292  this->notes_.set (x);
5293  }
5294 
5296  notes (const notes_optional& x)
5297  {
5298  this->notes_ = x;
5299  }
5300 
5302  notes (::std::unique_ptr< notes_type > x)
5303  {
5304  this->notes_.set (std::move (x));
5305  }
5306 
5308  q10Settings () const
5309  {
5310  return this->q10Settings_;
5311  }
5312 
5314  q10Settings ()
5315  {
5316  return this->q10Settings_;
5317  }
5318 
5320  q10Settings (const q10Settings_type& x)
5321  {
5322  this->q10Settings_.set (x);
5323  }
5324 
5327  {
5328  this->q10Settings_ = x;
5329  }
5330 
5332  q10Settings (::std::unique_ptr< q10Settings_type > x)
5333  {
5334  this->q10Settings_.set (std::move (x));
5335  }
5336 
5338  subGate () const
5339  {
5340  return this->subGate_;
5341  }
5342 
5344  subGate ()
5345  {
5346  return this->subGate_;
5347  }
5348 
5350  subGate (const subGate_sequence& s)
5351  {
5352  this->subGate_ = s;
5353  }
5354 
5356  instances () const
5357  {
5358  return this->instances_.get ();
5359  }
5360 
5362  instances ()
5363  {
5364  return this->instances_.get ();
5365  }
5366 
5368  instances (const instances_type& x)
5369  {
5370  this->instances_.set (x);
5371  }
5372 
5374  instances (::std::unique_ptr< instances_type > x)
5375  {
5376  this->instances_.set (std::move (x));
5377  }
5378 
5379 
5380  // GateFractionalSubgate
5381  //
5382 
5384  notes () const
5385  {
5386  return this->notes_;
5387  }
5388 
5390  notes ()
5391  {
5392  return this->notes_;
5393  }
5394 
5396  notes (const notes_type& x)
5397  {
5398  this->notes_.set (x);
5399  }
5400 
5402  notes (const notes_optional& x)
5403  {
5404  this->notes_ = x;
5405  }
5406 
5408  notes (::std::unique_ptr< notes_type > x)
5409  {
5410  this->notes_.set (std::move (x));
5411  }
5412 
5414  q10Settings () const
5415  {
5416  return this->q10Settings_;
5417  }
5418 
5420  q10Settings ()
5421  {
5422  return this->q10Settings_;
5423  }
5424 
5426  q10Settings (const q10Settings_type& x)
5427  {
5428  this->q10Settings_.set (x);
5429  }
5430 
5433  {
5434  this->q10Settings_ = x;
5435  }
5436 
5438  q10Settings (::std::unique_ptr< q10Settings_type > x)
5439  {
5440  this->q10Settings_.set (std::move (x));
5441  }
5442 
5444  steadyState () const
5445  {
5446  return this->steadyState_.get ();
5447  }
5448 
5450  steadyState ()
5451  {
5452  return this->steadyState_.get ();
5453  }
5454 
5456  steadyState (const steadyState_type& x)
5457  {
5458  this->steadyState_.set (x);
5459  }
5460 
5462  steadyState (::std::unique_ptr< steadyState_type > x)
5463  {
5464  this->steadyState_.set (std::move (x));
5465  }
5466 
5468  timeCourse () const
5469  {
5470  return this->timeCourse_.get ();
5471  }
5472 
5474  timeCourse ()
5475  {
5476  return this->timeCourse_.get ();
5477  }
5478 
5480  timeCourse (const timeCourse_type& x)
5481  {
5482  this->timeCourse_.set (x);
5483  }
5484 
5486  timeCourse (::std::unique_ptr< timeCourse_type > x)
5487  {
5488  this->timeCourse_.set (std::move (x));
5489  }
5490 
5492  fractionalConductance () const
5493  {
5494  return this->fractionalConductance_.get ();
5495  }
5496 
5499  {
5500  return this->fractionalConductance_.get ();
5501  }
5502 
5505  {
5506  this->fractionalConductance_.set (x);
5507  }
5508 
5510  fractionalConductance (::std::unique_ptr< fractionalConductance_type > x)
5511  {
5512  this->fractionalConductance_.set (std::move (x));
5513  }
5514 
5515 
5516  // Q10Settings
5517  //
5518 
5520  type () const
5521  {
5522  return this->type_.get ();
5523  }
5524 
5526  type ()
5527  {
5528  return this->type_.get ();
5529  }
5530 
5532  type (const type_type& x)
5533  {
5534  this->type_.set (x);
5535  }
5536 
5538  type (::std::unique_ptr< type_type > x)
5539  {
5540  this->type_.set (std::move (x));
5541  }
5542 
5544  fixedQ10 () const
5545  {
5546  return this->fixedQ10_;
5547  }
5548 
5550  fixedQ10 ()
5551  {
5552  return this->fixedQ10_;
5553  }
5554 
5556  fixedQ10 (const fixedQ10_type& x)
5557  {
5558  this->fixedQ10_.set (x);
5559  }
5560 
5562  fixedQ10 (const fixedQ10_optional& x)
5563  {
5564  this->fixedQ10_ = x;
5565  }
5566 
5568  fixedQ10 (::std::unique_ptr< fixedQ10_type > x)
5569  {
5570  this->fixedQ10_.set (std::move (x));
5571  }
5572 
5574  q10Factor () const
5575  {
5576  return this->q10Factor_;
5577  }
5578 
5580  q10Factor ()
5581  {
5582  return this->q10Factor_;
5583  }
5584 
5586  q10Factor (const q10Factor_type& x)
5587  {
5588  this->q10Factor_.set (x);
5589  }
5590 
5592  q10Factor (const q10Factor_optional& x)
5593  {
5594  this->q10Factor_ = x;
5595  }
5596 
5598  q10Factor (::std::unique_ptr< q10Factor_type > x)
5599  {
5600  this->q10Factor_.set (std::move (x));
5601  }
5602 
5604  experimentalTemp () const
5605  {
5606  return this->experimentalTemp_;
5607  }
5608 
5611  {
5612  return this->experimentalTemp_;
5613  }
5614 
5617  {
5618  this->experimentalTemp_.set (x);
5619  }
5620 
5623  {
5624  this->experimentalTemp_ = x;
5625  }
5626 
5628  experimentalTemp (::std::unique_ptr< experimentalTemp_type > x)
5629  {
5630  this->experimentalTemp_.set (std::move (x));
5631  }
5632 
5633 
5634  // HHRate
5635  //
5636 
5638  type () const
5639  {
5640  return this->type_.get ();
5641  }
5642 
5644  type ()
5645  {
5646  return this->type_.get ();
5647  }
5648 
5650  type (const type_type& x)
5651  {
5652  this->type_.set (x);
5653  }
5654 
5656  type (::std::unique_ptr< type_type > x)
5657  {
5658  this->type_.set (std::move (x));
5659  }
5660 
5662  rate () const
5663  {
5664  return this->rate_;
5665  }
5666 
5668  rate ()
5669  {
5670  return this->rate_;
5671  }
5672 
5674  rate (const rate_type& x)
5675  {
5676  this->rate_.set (x);
5677  }
5678 
5680  rate (const rate_optional& x)
5681  {
5682  this->rate_ = x;
5683  }
5684 
5686  rate (::std::unique_ptr< rate_type > x)
5687  {
5688  this->rate_.set (std::move (x));
5689  }
5690 
5692  midpoint () const
5693  {
5694  return this->midpoint_;
5695  }
5696 
5698  midpoint ()
5699  {
5700  return this->midpoint_;
5701  }
5702 
5704  midpoint (const midpoint_type& x)
5705  {
5706  this->midpoint_.set (x);
5707  }
5708 
5710  midpoint (const midpoint_optional& x)
5711  {
5712  this->midpoint_ = x;
5713  }
5714 
5716  midpoint (::std::unique_ptr< midpoint_type > x)
5717  {
5718  this->midpoint_.set (std::move (x));
5719  }
5720 
5722  scale () const
5723  {
5724  return this->scale_;
5725  }
5726 
5728  scale ()
5729  {
5730  return this->scale_;
5731  }
5732 
5734  scale (const scale_type& x)
5735  {
5736  this->scale_.set (x);
5737  }
5738 
5740  scale (const scale_optional& x)
5741  {
5742  this->scale_ = x;
5743  }
5744 
5746  scale (::std::unique_ptr< scale_type > x)
5747  {
5748  this->scale_.set (std::move (x));
5749  }
5750 
5751 
5752  // HHVariable
5753  //
5754 
5756  type () const
5757  {
5758  return this->type_.get ();
5759  }
5760 
5762  type ()
5763  {
5764  return this->type_.get ();
5765  }
5766 
5768  type (const type_type& x)
5769  {
5770  this->type_.set (x);
5771  }
5772 
5774  type (::std::unique_ptr< type_type > x)
5775  {
5776  this->type_.set (std::move (x));
5777  }
5778 
5780  rate () const
5781  {
5782  return this->rate_;
5783  }
5784 
5786  rate ()
5787  {
5788  return this->rate_;
5789  }
5790 
5792  rate (const rate_type& x)
5793  {
5794  this->rate_.set (x);
5795  }
5796 
5798  rate (const rate_optional& x)
5799  {
5800  this->rate_ = x;
5801  }
5802 
5804  midpoint () const
5805  {
5806  return this->midpoint_;
5807  }
5808 
5810  midpoint ()
5811  {
5812  return this->midpoint_;
5813  }
5814 
5816  midpoint (const midpoint_type& x)
5817  {
5818  this->midpoint_.set (x);
5819  }
5820 
5822  midpoint (const midpoint_optional& x)
5823  {
5824  this->midpoint_ = x;
5825  }
5826 
5828  midpoint (::std::unique_ptr< midpoint_type > x)
5829  {
5830  this->midpoint_.set (std::move (x));
5831  }
5832 
5834  scale () const
5835  {
5836  return this->scale_;
5837  }
5838 
5840  scale ()
5841  {
5842  return this->scale_;
5843  }
5844 
5846  scale (const scale_type& x)
5847  {
5848  this->scale_.set (x);
5849  }
5850 
5852  scale (const scale_optional& x)
5853  {
5854  this->scale_ = x;
5855  }
5856 
5858  scale (::std::unique_ptr< scale_type > x)
5859  {
5860  this->scale_.set (std::move (x));
5861  }
5862 
5863 
5864  // HHTime
5865  //
5866 
5868  type () const
5869  {
5870  return this->type_.get ();
5871  }
5872 
5874  type ()
5875  {
5876  return this->type_.get ();
5877  }
5878 
5880  type (const type_type& x)
5881  {
5882  this->type_.set (x);
5883  }
5884 
5886  type (::std::unique_ptr< type_type > x)
5887  {
5888  this->type_.set (std::move (x));
5889  }
5890 
5892  rate () const
5893  {
5894  return this->rate_;
5895  }
5896 
5898  rate ()
5899  {
5900  return this->rate_;
5901  }
5902 
5904  rate (const rate_type& x)
5905  {
5906  this->rate_.set (x);
5907  }
5908 
5910  rate (const rate_optional& x)
5911  {
5912  this->rate_ = x;
5913  }
5914 
5916  rate (::std::unique_ptr< rate_type > x)
5917  {
5918  this->rate_.set (std::move (x));
5919  }
5920 
5922  midpoint () const
5923  {
5924  return this->midpoint_;
5925  }
5926 
5928  midpoint ()
5929  {
5930  return this->midpoint_;
5931  }
5932 
5934  midpoint (const midpoint_type& x)
5935  {
5936  this->midpoint_.set (x);
5937  }
5938 
5940  midpoint (const midpoint_optional& x)
5941  {
5942  this->midpoint_ = x;
5943  }
5944 
5946  midpoint (::std::unique_ptr< midpoint_type > x)
5947  {
5948  this->midpoint_.set (std::move (x));
5949  }
5950 
5952  scale () const
5953  {
5954  return this->scale_;
5955  }
5956 
5958  scale ()
5959  {
5960  return this->scale_;
5961  }
5962 
5964  scale (const scale_type& x)
5965  {
5966  this->scale_.set (x);
5967  }
5968 
5970  scale (const scale_optional& x)
5971  {
5972  this->scale_ = x;
5973  }
5974 
5976  scale (::std::unique_ptr< scale_type > x)
5977  {
5978  this->scale_.set (std::move (x));
5979  }
5980 
5982  tau () const
5983  {
5984  return this->tau_;
5985  }
5986 
5988  tau ()
5989  {
5990  return this->tau_;
5991  }
5992 
5994  tau (const tau_type& x)
5995  {
5996  this->tau_.set (x);
5997  }
5998 
6000  tau (const tau_optional& x)
6001  {
6002  this->tau_ = x;
6003  }
6004 
6006  tau (::std::unique_ptr< tau_type > x)
6007  {
6008  this->tau_.set (std::move (x));
6009  }
6010 
6011 
6012  // DecayingPoolConcentrationModel
6013  //
6014 
6016  ion () const
6017  {
6018  return this->ion_.get ();
6019  }
6020 
6022  ion ()
6023  {
6024  return this->ion_.get ();
6025  }
6026 
6028  ion (const ion_type& x)
6029  {
6030  this->ion_.set (x);
6031  }
6032 
6034  ion (::std::unique_ptr< ion_type > x)
6035  {
6036  this->ion_.set (std::move (x));
6037  }
6038 
6040  restingConc () const
6041  {
6042  return this->restingConc_.get ();
6043  }
6044 
6046  restingConc ()
6047  {
6048  return this->restingConc_.get ();
6049  }
6050 
6052  restingConc (const restingConc_type& x)
6053  {
6054  this->restingConc_.set (x);
6055  }
6056 
6058  restingConc (::std::unique_ptr< restingConc_type > x)
6059  {
6060  this->restingConc_.set (std::move (x));
6061  }
6062 
6064  decayConstant () const
6065  {
6066  return this->decayConstant_.get ();
6067  }
6068 
6070  decayConstant ()
6071  {
6072  return this->decayConstant_.get ();
6073  }
6074 
6077  {
6078  this->decayConstant_.set (x);
6079  }
6080 
6082  decayConstant (::std::unique_ptr< decayConstant_type > x)
6083  {
6084  this->decayConstant_.set (std::move (x));
6085  }
6086 
6088  shellThickness () const
6089  {
6090  return this->shellThickness_.get ();
6091  }
6092 
6094  shellThickness ()
6095  {
6096  return this->shellThickness_.get ();
6097  }
6098 
6101  {
6102  this->shellThickness_.set (x);
6103  }
6104 
6106  shellThickness (::std::unique_ptr< shellThickness_type > x)
6107  {
6108  this->shellThickness_.set (std::move (x));
6109  }
6110 
6111 
6112  // FixedFactorConcentrationModel
6113  //
6114 
6116  ion () const
6117  {
6118  return this->ion_.get ();
6119  }
6120 
6122  ion ()
6123  {
6124  return this->ion_.get ();
6125  }
6126 
6128  ion (const ion_type& x)
6129  {
6130  this->ion_.set (x);
6131  }
6132 
6134  ion (::std::unique_ptr< ion_type > x)
6135  {
6136  this->ion_.set (std::move (x));
6137  }
6138 
6140  restingConc () const
6141  {
6142  return this->restingConc_.get ();
6143  }
6144 
6146  restingConc ()
6147  {
6148  return this->restingConc_.get ();
6149  }
6150 
6152  restingConc (const restingConc_type& x)
6153  {
6154  this->restingConc_.set (x);
6155  }
6156 
6158  restingConc (::std::unique_ptr< restingConc_type > x)
6159  {
6160  this->restingConc_.set (std::move (x));
6161  }
6162 
6164  decayConstant () const
6165  {
6166  return this->decayConstant_.get ();
6167  }
6168 
6170  decayConstant ()
6171  {
6172  return this->decayConstant_.get ();
6173  }
6174 
6177  {
6178  this->decayConstant_.set (x);
6179  }
6180 
6182  decayConstant (::std::unique_ptr< decayConstant_type > x)
6183  {
6184  this->decayConstant_.set (std::move (x));
6185  }
6186 
6188  rho () const
6189  {
6190  return this->rho_.get ();
6191  }
6192 
6194  rho ()
6195  {
6196  return this->rho_.get ();
6197  }
6198 
6200  rho (const rho_type& x)
6201  {
6202  this->rho_.set (x);
6203  }
6204 
6206  rho (::std::unique_ptr< rho_type > x)
6207  {
6208  this->rho_.set (std::move (x));
6209  }
6210 
6211 
6212  // BaseSynapse
6213  //
6214 
6216  neuroLexId () const
6217  {
6218  return this->neuroLexId_;
6219  }
6220 
6222  neuroLexId ()
6223  {
6224  return this->neuroLexId_;
6225  }
6226 
6228  neuroLexId (const neuroLexId_type& x)
6229  {
6230  this->neuroLexId_.set (x);
6231  }
6232 
6235  {
6236  this->neuroLexId_ = x;
6237  }
6238 
6240  neuroLexId (::std::unique_ptr< neuroLexId_type > x)
6241  {
6242  this->neuroLexId_.set (std::move (x));
6243  }
6244 
6245 
6246  // BaseVoltageDepSynapse
6247  //
6248 
6249 
6250  // BaseCurrentBasedSynapse
6251  //
6252 
6253 
6254  // BaseConductanceBasedSynapse
6255  //
6256 
6258  gbase () const
6259  {
6260  return this->gbase_.get ();
6261  }
6262 
6264  gbase ()
6265  {
6266  return this->gbase_.get ();
6267  }
6268 
6270  gbase (const gbase_type& x)
6271  {
6272  this->gbase_.set (x);
6273  }
6274 
6276  gbase (::std::unique_ptr< gbase_type > x)
6277  {
6278  this->gbase_.set (std::move (x));
6279  }
6280 
6282  erev () const
6283  {
6284  return this->erev_.get ();
6285  }
6286 
6288  erev ()
6289  {
6290  return this->erev_.get ();
6291  }
6292 
6294  erev (const erev_type& x)
6295  {
6296  this->erev_.set (x);
6297  }
6298 
6300  erev (::std::unique_ptr< erev_type > x)
6301  {
6302  this->erev_.set (std::move (x));
6303  }
6304 
6305 
6306  // BaseConductanceBasedSynapseTwo
6307  //
6308 
6310  gbase1 () const
6311  {
6312  return this->gbase1_.get ();
6313  }
6314 
6316  gbase1 ()
6317  {
6318  return this->gbase1_.get ();
6319  }
6320 
6322  gbase1 (const gbase1_type& x)
6323  {
6324  this->gbase1_.set (x);
6325  }
6326 
6328  gbase1 (::std::unique_ptr< gbase1_type > x)
6329  {
6330  this->gbase1_.set (std::move (x));
6331  }
6332 
6334  gbase2 () const
6335  {
6336  return this->gbase2_.get ();
6337  }
6338 
6340  gbase2 ()
6341  {
6342  return this->gbase2_.get ();
6343  }
6344 
6346  gbase2 (const gbase2_type& x)
6347  {
6348  this->gbase2_.set (x);
6349  }
6350 
6352  gbase2 (::std::unique_ptr< gbase2_type > x)
6353  {
6354  this->gbase2_.set (std::move (x));
6355  }
6356 
6358  erev () const
6359  {
6360  return this->erev_.get ();
6361  }
6362 
6364  erev ()
6365  {
6366  return this->erev_.get ();
6367  }
6368 
6370  erev (const erev_type& x)
6371  {
6372  this->erev_.set (x);
6373  }
6374 
6376  erev (::std::unique_ptr< erev_type > x)
6377  {
6378  this->erev_.set (std::move (x));
6379  }
6380 
6381 
6382  // GapJunction
6383  //
6384 
6386  conductance () const
6387  {
6388  return this->conductance_.get ();
6389  }
6390 
6392  conductance ()
6393  {
6394  return this->conductance_.get ();
6395  }
6396 
6398  conductance (const conductance_type& x)
6399  {
6400  this->conductance_.set (x);
6401  }
6402 
6404  conductance (::std::unique_ptr< conductance_type > x)
6405  {
6406  this->conductance_.set (std::move (x));
6407  }
6408 
6409 
6410  // SilentSynapse
6411  //
6412 
6413 
6414  // LinearGradedSynapse
6415  //
6416 
6418  conductance () const
6419  {
6420  return this->conductance_.get ();
6421  }
6422 
6424  conductance ()
6425  {
6426  return this->conductance_.get ();
6427  }
6428 
6430  conductance (const conductance_type& x)
6431  {
6432  this->conductance_.set (x);
6433  }
6434 
6436  conductance (::std::unique_ptr< conductance_type > x)
6437  {
6438  this->conductance_.set (std::move (x));
6439  }
6440 
6441 
6442  // GradedSynapse
6443  //
6444 
6446  conductance () const
6447  {
6448  return this->conductance_.get ();
6449  }
6450 
6452  conductance ()
6453  {
6454  return this->conductance_.get ();
6455  }
6456 
6458  conductance (const conductance_type& x)
6459  {
6460  this->conductance_.set (x);
6461  }
6462 
6464  conductance (::std::unique_ptr< conductance_type > x)
6465  {
6466  this->conductance_.set (std::move (x));
6467  }
6468 
6470  delta () const
6471  {
6472  return this->delta_.get ();
6473  }
6474 
6476  delta ()
6477  {
6478  return this->delta_.get ();
6479  }
6480 
6482  delta (const delta_type& x)
6483  {
6484  this->delta_.set (x);
6485  }
6486 
6488  delta (::std::unique_ptr< delta_type > x)
6489  {
6490  this->delta_.set (std::move (x));
6491  }
6492 
6494  Vth () const
6495  {
6496  return this->Vth_.get ();
6497  }
6498 
6500  Vth ()
6501  {
6502  return this->Vth_.get ();
6503  }
6504 
6506  Vth (const Vth_type& x)
6507  {
6508  this->Vth_.set (x);
6509  }
6510 
6512  Vth (::std::unique_ptr< Vth_type > x)
6513  {
6514  this->Vth_.set (std::move (x));
6515  }
6516 
6518  k () const
6519  {
6520  return this->k_.get ();
6521  }
6522 
6524  k ()
6525  {
6526  return this->k_.get ();
6527  }
6528 
6530  k (const k_type& x)
6531  {
6532  this->k_.set (x);
6533  }
6534 
6536  k (::std::unique_ptr< k_type > x)
6537  {
6538  this->k_.set (std::move (x));
6539  }
6540 
6542  erev () const
6543  {
6544  return this->erev_.get ();
6545  }
6546 
6548  erev ()
6549  {
6550  return this->erev_.get ();
6551  }
6552 
6554  erev (const erev_type& x)
6555  {
6556  this->erev_.set (x);
6557  }
6558 
6560  erev (::std::unique_ptr< erev_type > x)
6561  {
6562  this->erev_.set (std::move (x));
6563  }
6564 
6565 
6566  // AlphaCurrentSynapse
6567  //
6568 
6570  tau () const
6571  {
6572  return this->tau_.get ();
6573  }
6574 
6576  tau ()
6577  {
6578  return this->tau_.get ();
6579  }
6580 
6582  tau (const tau_type& x)
6583  {
6584  this->tau_.set (x);
6585  }
6586 
6588  tau (::std::unique_ptr< tau_type > x)
6589  {
6590  this->tau_.set (std::move (x));
6591  }
6592 
6594  ibase () const
6595  {
6596  return this->ibase_.get ();
6597  }
6598 
6600  ibase ()
6601  {
6602  return this->ibase_.get ();
6603  }
6604 
6606  ibase (const ibase_type& x)
6607  {
6608  this->ibase_.set (x);
6609  }
6610 
6612  ibase (::std::unique_ptr< ibase_type > x)
6613  {
6614  this->ibase_.set (std::move (x));
6615  }
6616 
6617 
6618  // AlphaSynapse
6619  //
6620 
6622  tau () const
6623  {
6624  return this->tau_.get ();
6625  }
6626 
6628  tau ()
6629  {
6630  return this->tau_.get ();
6631  }
6632 
6634  tau (const tau_type& x)
6635  {
6636  this->tau_.set (x);
6637  }
6638 
6640  tau (::std::unique_ptr< tau_type > x)
6641  {
6642  this->tau_.set (std::move (x));
6643  }
6644 
6645 
6646  // ExpOneSynapse
6647  //
6648 
6650  tauDecay () const
6651  {
6652  return this->tauDecay_.get ();
6653  }
6654 
6656  tauDecay ()
6657  {
6658  return this->tauDecay_.get ();
6659  }
6660 
6662  tauDecay (const tauDecay_type& x)
6663  {
6664  this->tauDecay_.set (x);
6665  }
6666 
6668  tauDecay (::std::unique_ptr< tauDecay_type > x)
6669  {
6670  this->tauDecay_.set (std::move (x));
6671  }
6672 
6673 
6674  // ExpTwoSynapse
6675  //
6676 
6678  tauDecay () const
6679  {
6680  return this->tauDecay_.get ();
6681  }
6682 
6684  tauDecay ()
6685  {
6686  return this->tauDecay_.get ();
6687  }
6688 
6690  tauDecay (const tauDecay_type& x)
6691  {
6692  this->tauDecay_.set (x);
6693  }
6694 
6696  tauDecay (::std::unique_ptr< tauDecay_type > x)
6697  {
6698  this->tauDecay_.set (std::move (x));
6699  }
6700 
6702  tauRise () const
6703  {
6704  return this->tauRise_.get ();
6705  }
6706 
6708  tauRise ()
6709  {
6710  return this->tauRise_.get ();
6711  }
6712 
6714  tauRise (const tauRise_type& x)
6715  {
6716  this->tauRise_.set (x);
6717  }
6718 
6720  tauRise (::std::unique_ptr< tauRise_type > x)
6721  {
6722  this->tauRise_.set (std::move (x));
6723  }
6724 
6725 
6726  // ExpThreeSynapse
6727  //
6728 
6730  tauDecay1 () const
6731  {
6732  return this->tauDecay1_.get ();
6733  }
6734 
6736  tauDecay1 ()
6737  {
6738  return this->tauDecay1_.get ();
6739  }
6740 
6742  tauDecay1 (const tauDecay1_type& x)
6743  {
6744  this->tauDecay1_.set (x);
6745  }
6746 
6748  tauDecay1 (::std::unique_ptr< tauDecay1_type > x)
6749  {
6750  this->tauDecay1_.set (std::move (x));
6751  }
6752 
6754  tauDecay2 () const
6755  {
6756  return this->tauDecay2_.get ();
6757  }
6758 
6760  tauDecay2 ()
6761  {
6762  return this->tauDecay2_.get ();
6763  }
6764 
6766  tauDecay2 (const tauDecay2_type& x)
6767  {
6768  this->tauDecay2_.set (x);
6769  }
6770 
6772  tauDecay2 (::std::unique_ptr< tauDecay2_type > x)
6773  {
6774  this->tauDecay2_.set (std::move (x));
6775  }
6776 
6778  tauRise () const
6779  {
6780  return this->tauRise_.get ();
6781  }
6782 
6784  tauRise ()
6785  {
6786  return this->tauRise_.get ();
6787  }
6788 
6790  tauRise (const tauRise_type& x)
6791  {
6792  this->tauRise_.set (x);
6793  }
6794 
6796  tauRise (::std::unique_ptr< tauRise_type > x)
6797  {
6798  this->tauRise_.set (std::move (x));
6799  }
6800 
6801 
6802  // DoubleSynapse
6803  //
6804 
6806  synapse1 () const
6807  {
6808  return this->synapse1_.get ();
6809  }
6810 
6812  synapse1 ()
6813  {
6814  return this->synapse1_.get ();
6815  }
6816 
6818  synapse1 (const synapse1_type& x)
6819  {
6820  this->synapse1_.set (x);
6821  }
6822 
6824  synapse1 (::std::unique_ptr< synapse1_type > x)
6825  {
6826  this->synapse1_.set (std::move (x));
6827  }
6828 
6830  synapse2 () const
6831  {
6832  return this->synapse2_.get ();
6833  }
6834 
6836  synapse2 ()
6837  {
6838  return this->synapse2_.get ();
6839  }
6840 
6842  synapse2 (const synapse2_type& x)
6843  {
6844  this->synapse2_.set (x);
6845  }
6846 
6848  synapse2 (::std::unique_ptr< synapse2_type > x)
6849  {
6850  this->synapse2_.set (std::move (x));
6851  }
6852 
6854  synapse1Path () const
6855  {
6856  return this->synapse1Path_.get ();
6857  }
6858 
6860  synapse1Path ()
6861  {
6862  return this->synapse1Path_.get ();
6863  }
6864 
6867  {
6868  this->synapse1Path_.set (x);
6869  }
6870 
6872  synapse1Path (::std::unique_ptr< synapse1Path_type > x)
6873  {
6874  this->synapse1Path_.set (std::move (x));
6875  }
6876 
6878  synapse2Path () const
6879  {
6880  return this->synapse2Path_.get ();
6881  }
6882 
6884  synapse2Path ()
6885  {
6886  return this->synapse2Path_.get ();
6887  }
6888 
6891  {
6892  this->synapse2Path_.set (x);
6893  }
6894 
6896  synapse2Path (::std::unique_ptr< synapse2Path_type > x)
6897  {
6898  this->synapse2Path_.set (std::move (x));
6899  }
6900 
6901 
6902  // BlockingPlasticSynapse
6903  //
6904 
6906  plasticityMechanism () const
6907  {
6908  return this->plasticityMechanism_;
6909  }
6910 
6913  {
6914  return this->plasticityMechanism_;
6915  }
6916 
6919  {
6920  this->plasticityMechanism_.set (x);
6921  }
6922 
6925  {
6926  this->plasticityMechanism_ = x;
6927  }
6928 
6930  plasticityMechanism (::std::unique_ptr< plasticityMechanism_type > x)
6931  {
6932  this->plasticityMechanism_.set (std::move (x));
6933  }
6934 
6936  blockMechanism () const
6937  {
6938  return this->blockMechanism_;
6939  }
6940 
6942  blockMechanism ()
6943  {
6944  return this->blockMechanism_;
6945  }
6946 
6949  {
6950  this->blockMechanism_.set (x);
6951  }
6952 
6955  {
6956  this->blockMechanism_ = x;
6957  }
6958 
6960  blockMechanism (::std::unique_ptr< blockMechanism_type > x)
6961  {
6962  this->blockMechanism_.set (std::move (x));
6963  }
6964 
6965 
6966  // BlockTypes
6967  //
6968 
6970  BlockTypes (value v)
6971  : ::xml_schema::string (_xsd_BlockTypes_literals_[v])
6972  {
6973  }
6974 
6976  BlockTypes (const char* v)
6977  : ::xml_schema::string (v)
6978  {
6979  }
6980 
6983  : ::xml_schema::string (v)
6984  {
6985  }
6986 
6989  : ::xml_schema::string (v)
6990  {
6991  }
6992 
6994  BlockTypes (const BlockTypes& v,
6995  ::xml_schema::flags f,
6996  ::xml_schema::container* c)
6997  : ::xml_schema::string (v, f, c)
6998  {
6999  }
7000 
7002  operator= (value v)
7003  {
7004  static_cast< ::xml_schema::string& > (*this) =
7005  ::xml_schema::string (_xsd_BlockTypes_literals_[v]);
7006 
7007  return *this;
7008  }
7009 
7010 
7011  // BlockMechanism
7012  //
7013 
7015  type () const
7016  {
7017  return this->type_.get ();
7018  }
7019 
7021  type ()
7022  {
7023  return this->type_.get ();
7024  }
7025 
7027  type (const type_type& x)
7028  {
7029  this->type_.set (x);
7030  }
7031 
7033  type (::std::unique_ptr< type_type > x)
7034  {
7035  this->type_.set (std::move (x));
7036  }
7037 
7039  species () const
7040  {
7041  return this->species_.get ();
7042  }
7043 
7045  species ()
7046  {
7047  return this->species_.get ();
7048  }
7049 
7051  species (const species_type& x)
7052  {
7053  this->species_.set (x);
7054  }
7055 
7057  species (::std::unique_ptr< species_type > x)
7058  {
7059  this->species_.set (std::move (x));
7060  }
7061 
7063  blockConcentration () const
7064  {
7065  return this->blockConcentration_.get ();
7066  }
7067 
7070  {
7071  return this->blockConcentration_.get ();
7072  }
7073 
7076  {
7077  this->blockConcentration_.set (x);
7078  }
7079 
7081  blockConcentration (::std::unique_ptr< blockConcentration_type > x)
7082  {
7083  this->blockConcentration_.set (std::move (x));
7084  }
7085 
7087  scalingConc () const
7088  {
7089  return this->scalingConc_.get ();
7090  }
7091 
7093  scalingConc ()
7094  {
7095  return this->scalingConc_.get ();
7096  }
7097 
7099  scalingConc (const scalingConc_type& x)
7100  {
7101  this->scalingConc_.set (x);
7102  }
7103 
7105  scalingConc (::std::unique_ptr< scalingConc_type > x)
7106  {
7107  this->scalingConc_.set (std::move (x));
7108  }
7109 
7111  scalingVolt () const
7112  {
7113  return this->scalingVolt_.get ();
7114  }
7115 
7117  scalingVolt ()
7118  {
7119  return this->scalingVolt_.get ();
7120  }
7121 
7123  scalingVolt (const scalingVolt_type& x)
7124  {
7125  this->scalingVolt_.set (x);
7126  }
7127 
7129  scalingVolt (::std::unique_ptr< scalingVolt_type > x)
7130  {
7131  this->scalingVolt_.set (std::move (x));
7132  }
7133 
7134 
7135  // PlasticityTypes
7136  //
7137 
7140  : ::xml_schema::string (_xsd_PlasticityTypes_literals_[v])
7141  {
7142  }
7143 
7145  PlasticityTypes (const char* v)
7146  : ::xml_schema::string (v)
7147  {
7148  }
7149 
7152  : ::xml_schema::string (v)
7153  {
7154  }
7155 
7158  : ::xml_schema::string (v)
7159  {
7160  }
7161 
7164  ::xml_schema::flags f,
7165  ::xml_schema::container* c)
7166  : ::xml_schema::string (v, f, c)
7167  {
7168  }
7169 
7171  operator= (value v)
7172  {
7173  static_cast< ::xml_schema::string& > (*this) =
7174  ::xml_schema::string (_xsd_PlasticityTypes_literals_[v]);
7175 
7176  return *this;
7177  }
7178 
7179 
7180  // PlasticityMechanism
7181  //
7182 
7184  type () const
7185  {
7186  return this->type_.get ();
7187  }
7188 
7190  type ()
7191  {
7192  return this->type_.get ();
7193  }
7194 
7196  type (const type_type& x)
7197  {
7198  this->type_.set (x);
7199  }
7200 
7202  type (::std::unique_ptr< type_type > x)
7203  {
7204  this->type_.set (std::move (x));
7205  }
7206 
7208  initReleaseProb () const
7209  {
7210  return this->initReleaseProb_.get ();
7211  }
7212 
7215  {
7216  return this->initReleaseProb_.get ();
7217  }
7218 
7221  {
7222  this->initReleaseProb_.set (x);
7223  }
7224 
7226  initReleaseProb (::std::unique_ptr< initReleaseProb_type > x)
7227  {
7228  this->initReleaseProb_.set (std::move (x));
7229  }
7230 
7232  tauRec () const
7233  {
7234  return this->tauRec_.get ();
7235  }
7236 
7238  tauRec ()
7239  {
7240  return this->tauRec_.get ();
7241  }
7242 
7244  tauRec (const tauRec_type& x)
7245  {
7246  this->tauRec_.set (x);
7247  }
7248 
7250  tauRec (::std::unique_ptr< tauRec_type > x)
7251  {
7252  this->tauRec_.set (std::move (x));
7253  }
7254 
7256  tauFac () const
7257  {
7258  return this->tauFac_;
7259  }
7260 
7262  tauFac ()
7263  {
7264  return this->tauFac_;
7265  }
7266 
7268  tauFac (const tauFac_type& x)
7269  {
7270  this->tauFac_.set (x);
7271  }
7272 
7274  tauFac (const tauFac_optional& x)
7275  {
7276  this->tauFac_ = x;
7277  }
7278 
7280  tauFac (::std::unique_ptr< tauFac_type > x)
7281  {
7282  this->tauFac_.set (std::move (x));
7283  }
7284 
7285 
7286  // BaseCell
7287  //
7288 
7290  neuroLexId () const
7291  {
7292  return this->neuroLexId_;
7293  }
7294 
7296  neuroLexId ()
7297  {
7298  return this->neuroLexId_;
7299  }
7300 
7302  neuroLexId (const neuroLexId_type& x)
7303  {
7304  this->neuroLexId_.set (x);
7305  }
7306 
7309  {
7310  this->neuroLexId_ = x;
7311  }
7312 
7314  neuroLexId (::std::unique_ptr< neuroLexId_type > x)
7315  {
7316  this->neuroLexId_.set (std::move (x));
7317  }
7318 
7319 
7320  // IafTauCell
7321  //
7322 
7324  leakReversal () const
7325  {
7326  return this->leakReversal_.get ();
7327  }
7328 
7330  leakReversal ()
7331  {
7332  return this->leakReversal_.get ();
7333  }
7334 
7337  {
7338  this->leakReversal_.set (x);
7339  }
7340 
7342  leakReversal (::std::unique_ptr< leakReversal_type > x)
7343  {
7344  this->leakReversal_.set (std::move (x));
7345  }
7346 
7348  thresh () const
7349  {
7350  return this->thresh_.get ();
7351  }
7352 
7354  thresh ()
7355  {
7356  return this->thresh_.get ();
7357  }
7358 
7360  thresh (const thresh_type& x)
7361  {
7362  this->thresh_.set (x);
7363  }
7364 
7366  thresh (::std::unique_ptr< thresh_type > x)
7367  {
7368  this->thresh_.set (std::move (x));
7369  }
7370 
7372  reset () const
7373  {
7374  return this->reset_.get ();
7375  }
7376 
7378  reset ()
7379  {
7380  return this->reset_.get ();
7381  }
7382 
7384  reset (const reset_type& x)
7385  {
7386  this->reset_.set (x);
7387  }
7388 
7390  reset (::std::unique_ptr< reset_type > x)
7391  {
7392  this->reset_.set (std::move (x));
7393  }
7394 
7396  tau () const
7397  {
7398  return this->tau_.get ();
7399  }
7400 
7402  tau ()
7403  {
7404  return this->tau_.get ();
7405  }
7406 
7408  tau (const tau_type& x)
7409  {
7410  this->tau_.set (x);
7411  }
7412 
7414  tau (::std::unique_ptr< tau_type > x)
7415  {
7416  this->tau_.set (std::move (x));
7417  }
7418 
7419 
7420  // IafTauRefCell
7421  //
7422 
7424  refract () const
7425  {
7426  return this->refract_.get ();
7427  }
7428 
7430  refract ()
7431  {
7432  return this->refract_.get ();
7433  }
7434 
7436  refract (const refract_type& x)
7437  {
7438  this->refract_.set (x);
7439  }
7440 
7442  refract (::std::unique_ptr< refract_type > x)
7443  {
7444  this->refract_.set (std::move (x));
7445  }
7446 
7447 
7448  // IafCell
7449  //
7450 
7452  leakReversal () const
7453  {
7454  return this->leakReversal_.get ();
7455  }
7456 
7458  leakReversal ()
7459  {
7460  return this->leakReversal_.get ();
7461  }
7462 
7465  {
7466  this->leakReversal_.set (x);
7467  }
7468 
7470  leakReversal (::std::unique_ptr< leakReversal_type > x)
7471  {
7472  this->leakReversal_.set (std::move (x));
7473  }
7474 
7476  thresh () const
7477  {
7478  return this->thresh_.get ();
7479  }
7480 
7482  thresh ()
7483  {
7484  return this->thresh_.get ();
7485  }
7486 
7488  thresh (const thresh_type& x)
7489  {
7490  this->thresh_.set (x);
7491  }
7492 
7494  thresh (::std::unique_ptr< thresh_type > x)
7495  {
7496  this->thresh_.set (std::move (x));
7497  }
7498 
7500  reset () const
7501  {
7502  return this->reset_.get ();
7503  }
7504 
7506  reset ()
7507  {
7508  return this->reset_.get ();
7509  }
7510 
7512  reset (const reset_type& x)
7513  {
7514  this->reset_.set (x);
7515  }
7516 
7518  reset (::std::unique_ptr< reset_type > x)
7519  {
7520  this->reset_.set (std::move (x));
7521  }
7522 
7524  C () const
7525  {
7526  return this->C_.get ();
7527  }
7528 
7530  C ()
7531  {
7532  return this->C_.get ();
7533  }
7534 
7536  C (const C_type& x)
7537  {
7538  this->C_.set (x);
7539  }
7540 
7542  C (::std::unique_ptr< C_type > x)
7543  {
7544  this->C_.set (std::move (x));
7545  }
7546 
7548  leakConductance () const
7549  {
7550  return this->leakConductance_.get ();
7551  }
7552 
7555  {
7556  return this->leakConductance_.get ();
7557  }
7558 
7561  {
7562  this->leakConductance_.set (x);
7563  }
7564 
7566  leakConductance (::std::unique_ptr< leakConductance_type > x)
7567  {
7568  this->leakConductance_.set (std::move (x));
7569  }
7570 
7571 
7572  // IafRefCell
7573  //
7574 
7576  refract () const
7577  {
7578  return this->refract_.get ();
7579  }
7580 
7582  refract ()
7583  {
7584  return this->refract_.get ();
7585  }
7586 
7588  refract (const refract_type& x)
7589  {
7590  this->refract_.set (x);
7591  }
7592 
7594  refract (::std::unique_ptr< refract_type > x)
7595  {
7596  this->refract_.set (std::move (x));
7597  }
7598 
7599 
7600  // IzhikevichCell
7601  //
7602 
7604  v0 () const
7605  {
7606  return this->v0_.get ();
7607  }
7608 
7610  v0 ()
7611  {
7612  return this->v0_.get ();
7613  }
7614 
7616  v0 (const v0_type& x)
7617  {
7618  this->v0_.set (x);
7619  }
7620 
7622  v0 (::std::unique_ptr< v0_type > x)
7623  {
7624  this->v0_.set (std::move (x));
7625  }
7626 
7628  thresh () const
7629  {
7630  return this->thresh_.get ();
7631  }
7632 
7634  thresh ()
7635  {
7636  return this->thresh_.get ();
7637  }
7638 
7640  thresh (const thresh_type& x)
7641  {
7642  this->thresh_.set (x);
7643  }
7644 
7646  thresh (::std::unique_ptr< thresh_type > x)
7647  {
7648  this->thresh_.set (std::move (x));
7649  }
7650 
7652  a () const
7653  {
7654  return this->a_.get ();
7655  }
7656 
7658  a ()
7659  {
7660  return this->a_.get ();
7661  }
7662 
7664  a (const a_type& x)
7665  {
7666  this->a_.set (x);
7667  }
7668 
7670  a (::std::unique_ptr< a_type > x)
7671  {
7672  this->a_.set (std::move (x));
7673  }
7674 
7676  b () const
7677  {
7678  return this->b_.get ();
7679  }
7680 
7682  b ()
7683  {
7684  return this->b_.get ();
7685  }
7686 
7688  b (const b_type& x)
7689  {
7690  this->b_.set (x);
7691  }
7692 
7694  b (::std::unique_ptr< b_type > x)
7695  {
7696  this->b_.set (std::move (x));
7697  }
7698 
7700  c () const
7701  {
7702  return this->c_.get ();
7703  }
7704 
7706  c ()
7707  {
7708  return this->c_.get ();
7709  }
7710 
7712  c (const c_type& x)
7713  {
7714  this->c_.set (x);
7715  }
7716 
7718  c (::std::unique_ptr< c_type > x)
7719  {
7720  this->c_.set (std::move (x));
7721  }
7722 
7724  d () const
7725  {
7726  return this->d_.get ();
7727  }
7728 
7730  d ()
7731  {
7732  return this->d_.get ();
7733  }
7734 
7736  d (const d_type& x)
7737  {
7738  this->d_.set (x);
7739  }
7740 
7742  d (::std::unique_ptr< d_type > x)
7743  {
7744  this->d_.set (std::move (x));
7745  }
7746 
7747 
7748  // BaseCellMembPotCap
7749  //
7750 
7752  C () const
7753  {
7754  return this->C_.get ();
7755  }
7756 
7758  C ()
7759  {
7760  return this->C_.get ();
7761  }
7762 
7764  C (const C_type& x)
7765  {
7766  this->C_.set (x);
7767  }
7768 
7770  C (::std::unique_ptr< C_type > x)
7771  {
7772  this->C_.set (std::move (x));
7773  }
7774 
7775 
7776  // Izhikevich2007Cell
7777  //
7778 
7780  v0 () const
7781  {
7782  return this->v0_.get ();
7783  }
7784 
7786  v0 ()
7787  {
7788  return this->v0_.get ();
7789  }
7790 
7792  v0 (const v0_type& x)
7793  {
7794  this->v0_.set (x);
7795  }
7796 
7798  v0 (::std::unique_ptr< v0_type > x)
7799  {
7800  this->v0_.set (std::move (x));
7801  }
7802 
7804  k () const
7805  {
7806  return this->k_.get ();
7807  }
7808 
7810  k ()
7811  {
7812  return this->k_.get ();
7813  }
7814 
7816  k (const k_type& x)
7817  {
7818  this->k_.set (x);
7819  }
7820 
7822  k (::std::unique_ptr< k_type > x)
7823  {
7824  this->k_.set (std::move (x));
7825  }
7826 
7828  vr () const
7829  {
7830  return this->vr_.get ();
7831  }
7832 
7834  vr ()
7835  {
7836  return this->vr_.get ();
7837  }
7838 
7840  vr (const vr_type& x)
7841  {
7842  this->vr_.set (x);
7843  }
7844 
7846  vr (::std::unique_ptr< vr_type > x)
7847  {
7848  this->vr_.set (std::move (x));
7849  }
7850 
7852  vt () const
7853  {
7854  return this->vt_.get ();
7855  }
7856 
7858  vt ()
7859  {
7860  return this->vt_.get ();
7861  }
7862 
7864  vt (const vt_type& x)
7865  {
7866  this->vt_.set (x);
7867  }
7868 
7870  vt (::std::unique_ptr< vt_type > x)
7871  {
7872  this->vt_.set (std::move (x));
7873  }
7874 
7876  vpeak () const
7877  {
7878  return this->vpeak_.get ();
7879  }
7880 
7882  vpeak ()
7883  {
7884  return this->vpeak_.get ();
7885  }
7886 
7888  vpeak (const vpeak_type& x)
7889  {
7890  this->vpeak_.set (x);
7891  }
7892 
7894  vpeak (::std::unique_ptr< vpeak_type > x)
7895  {
7896  this->vpeak_.set (std::move (x));
7897  }
7898 
7900  a () const
7901  {
7902  return this->a_.get ();
7903  }
7904 
7906  a ()
7907  {
7908  return this->a_.get ();
7909  }
7910 
7912  a (const a_type& x)
7913  {
7914  this->a_.set (x);
7915  }
7916 
7918  a (::std::unique_ptr< a_type > x)
7919  {
7920  this->a_.set (std::move (x));
7921  }
7922 
7924  b () const
7925  {
7926  return this->b_.get ();
7927  }
7928 
7930  b ()
7931  {
7932  return this->b_.get ();
7933  }
7934 
7936  b (const b_type& x)
7937  {
7938  this->b_.set (x);
7939  }
7940 
7942  b (::std::unique_ptr< b_type > x)
7943  {
7944  this->b_.set (std::move (x));
7945  }
7946 
7948  c () const
7949  {
7950  return this->c_.get ();
7951  }
7952 
7954  c ()
7955  {
7956  return this->c_.get ();
7957  }
7958 
7960  c (const c_type& x)
7961  {
7962  this->c_.set (x);
7963  }
7964 
7966  c (::std::unique_ptr< c_type > x)
7967  {
7968  this->c_.set (std::move (x));
7969  }
7970 
7972  d () const
7973  {
7974  return this->d_.get ();
7975  }
7976 
7978  d ()
7979  {
7980  return this->d_.get ();
7981  }
7982 
7984  d (const d_type& x)
7985  {
7986  this->d_.set (x);
7987  }
7988 
7990  d (::std::unique_ptr< d_type > x)
7991  {
7992  this->d_.set (std::move (x));
7993  }
7994 
7995 
7996  // AdExIaFCell
7997  //
7998 
8000  gL () const
8001  {
8002  return this->gL_.get ();
8003  }
8004 
8006  gL ()
8007  {
8008  return this->gL_.get ();
8009  }
8010 
8012  gL (const gL_type& x)
8013  {
8014  this->gL_.set (x);
8015  }
8016 
8018  gL (::std::unique_ptr< gL_type > x)
8019  {
8020  this->gL_.set (std::move (x));
8021  }
8022 
8024  EL () const
8025  {
8026  return this->EL_.get ();
8027  }
8028 
8030  EL ()
8031  {
8032  return this->EL_.get ();
8033  }
8034 
8036  EL (const EL_type& x)
8037  {
8038  this->EL_.set (x);
8039  }
8040 
8042  EL (::std::unique_ptr< EL_type > x)
8043  {
8044  this->EL_.set (std::move (x));
8045  }
8046 
8048  reset () const
8049  {
8050  return this->reset_.get ();
8051  }
8052 
8054  reset ()
8055  {
8056  return this->reset_.get ();
8057  }
8058 
8060  reset (const reset_type& x)
8061  {
8062  this->reset_.set (x);
8063  }
8064 
8066  reset (::std::unique_ptr< reset_type > x)
8067  {
8068  this->reset_.set (std::move (x));
8069  }
8070 
8072  VT () const
8073  {
8074  return this->VT_.get ();
8075  }
8076 
8078  VT ()
8079  {
8080  return this->VT_.get ();
8081  }
8082 
8084  VT (const VT_type& x)
8085  {
8086  this->VT_.set (x);
8087  }
8088 
8090  VT (::std::unique_ptr< VT_type > x)
8091  {
8092  this->VT_.set (std::move (x));
8093  }
8094 
8096  thresh () const
8097  {
8098  return this->thresh_.get ();
8099  }
8100 
8102  thresh ()
8103  {
8104  return this->thresh_.get ();
8105  }
8106 
8108  thresh (const thresh_type& x)
8109  {
8110  this->thresh_.set (x);
8111  }
8112 
8114  thresh (::std::unique_ptr< thresh_type > x)
8115  {
8116  this->thresh_.set (std::move (x));
8117  }
8118 
8120  delT () const
8121  {
8122  return this->delT_.get ();
8123  }
8124 
8126  delT ()
8127  {
8128  return this->delT_.get ();
8129  }
8130 
8132  delT (const delT_type& x)
8133  {
8134  this->delT_.set (x);
8135  }
8136 
8138  delT (::std::unique_ptr< delT_type > x)
8139  {
8140  this->delT_.set (std::move (x));
8141  }
8142 
8144  tauw () const
8145  {
8146  return this->tauw_.get ();
8147  }
8148 
8150  tauw ()
8151  {
8152  return this->tauw_.get ();
8153  }
8154 
8156  tauw (const tauw_type& x)
8157  {
8158  this->tauw_.set (x);
8159  }
8160 
8162  tauw (::std::unique_ptr< tauw_type > x)
8163  {
8164  this->tauw_.set (std::move (x));
8165  }
8166 
8168  refract () const
8169  {
8170  return this->refract_.get ();
8171  }
8172 
8174  refract ()
8175  {
8176  return this->refract_.get ();
8177  }
8178 
8180  refract (const refract_type& x)
8181  {
8182  this->refract_.set (x);
8183  }
8184 
8186  refract (::std::unique_ptr< refract_type > x)
8187  {
8188  this->refract_.set (std::move (x));
8189  }
8190 
8192  a () const
8193  {
8194  return this->a_.get ();
8195  }
8196 
8198  a ()
8199  {
8200  return this->a_.get ();
8201  }
8202 
8204  a (const a_type& x)
8205  {
8206  this->a_.set (x);
8207  }
8208 
8210  a (::std::unique_ptr< a_type > x)
8211  {
8212  this->a_.set (std::move (x));
8213  }
8214 
8216  b () const
8217  {
8218  return this->b_.get ();
8219  }
8220 
8222  b ()
8223  {
8224  return this->b_.get ();
8225  }
8226 
8228  b (const b_type& x)
8229  {
8230  this->b_.set (x);
8231  }
8232 
8234  b (::std::unique_ptr< b_type > x)
8235  {
8236  this->b_.set (std::move (x));
8237  }
8238 
8239 
8240  // FitzHughNagumoCell
8241  //
8242 
8244  I () const
8245  {
8246  return this->I_.get ();
8247  }
8248 
8250  I ()
8251  {
8252  return this->I_.get ();
8253  }
8254 
8256  I (const I_type& x)
8257  {
8258  this->I_.set (x);
8259  }
8260 
8262  I (::std::unique_ptr< I_type > x)
8263  {
8264  this->I_.set (std::move (x));
8265  }
8266 
8267 
8268  // FitzHughNagumo1969Cell
8269  //
8270 
8272  a () const
8273  {
8274  return this->a_.get ();
8275  }
8276 
8278  a ()
8279  {
8280  return this->a_.get ();
8281  }
8282 
8284  a (const a_type& x)
8285  {
8286  this->a_.set (x);
8287  }
8288 
8290  a (::std::unique_ptr< a_type > x)
8291  {
8292  this->a_.set (std::move (x));
8293  }
8294 
8296  b () const
8297  {
8298  return this->b_.get ();
8299  }
8300 
8302  b ()
8303  {
8304  return this->b_.get ();
8305  }
8306 
8308  b (const b_type& x)
8309  {
8310  this->b_.set (x);
8311  }
8312 
8314  b (::std::unique_ptr< b_type > x)
8315  {
8316  this->b_.set (std::move (x));
8317  }
8318 
8320  I () const
8321  {
8322  return this->I_.get ();
8323  }
8324 
8326  I ()
8327  {
8328  return this->I_.get ();
8329  }
8330 
8332  I (const I_type& x)
8333  {
8334  this->I_.set (x);
8335  }
8336 
8338  I (::std::unique_ptr< I_type > x)
8339  {
8340  this->I_.set (std::move (x));
8341  }
8342 
8344  phi () const
8345  {
8346  return this->phi_.get ();
8347  }
8348 
8350  phi ()
8351  {
8352  return this->phi_.get ();
8353  }
8354 
8356  phi (const phi_type& x)
8357  {
8358  this->phi_.set (x);
8359  }
8360 
8362  phi (::std::unique_ptr< phi_type > x)
8363  {
8364  this->phi_.set (std::move (x));
8365  }
8366 
8368  V0 () const
8369  {
8370  return this->V0_.get ();
8371  }
8372 
8374  V0 ()
8375  {
8376  return this->V0_.get ();
8377  }
8378 
8380  V0 (const V0_type& x)
8381  {
8382  this->V0_.set (x);
8383  }
8384 
8386  V0 (::std::unique_ptr< V0_type > x)
8387  {
8388  this->V0_.set (std::move (x));
8389  }
8390 
8392  W0 () const
8393  {
8394  return this->W0_.get ();
8395  }
8396 
8398  W0 ()
8399  {
8400  return this->W0_.get ();
8401  }
8402 
8404  W0 (const W0_type& x)
8405  {
8406  this->W0_.set (x);
8407  }
8408 
8410  W0 (::std::unique_ptr< W0_type > x)
8411  {
8412  this->W0_.set (std::move (x));
8413  }
8414 
8415 
8416  // PinskyRinzelCA3Cell
8417  //
8418 
8420  iSoma () const
8421  {
8422  return this->iSoma_.get ();
8423  }
8424 
8426  iSoma ()
8427  {
8428  return this->iSoma_.get ();
8429  }
8430 
8432  iSoma (const iSoma_type& x)
8433  {
8434  this->iSoma_.set (x);
8435  }
8436 
8438  iSoma (::std::unique_ptr< iSoma_type > x)
8439  {
8440  this->iSoma_.set (std::move (x));
8441  }
8442 
8444  iDend () const
8445  {
8446  return this->iDend_.get ();
8447  }
8448 
8450  iDend ()
8451  {
8452  return this->iDend_.get ();
8453  }
8454 
8456  iDend (const iDend_type& x)
8457  {
8458  this->iDend_.set (x);
8459  }
8460 
8462  iDend (::std::unique_ptr< iDend_type > x)
8463  {
8464  this->iDend_.set (std::move (x));
8465  }
8466 
8468  gc () const
8469  {
8470  return this->gc_.get ();
8471  }
8472 
8474  gc ()
8475  {
8476  return this->gc_.get ();
8477  }
8478 
8480  gc (const gc_type& x)
8481  {
8482  this->gc_.set (x);
8483  }
8484 
8486  gc (::std::unique_ptr< gc_type > x)
8487  {
8488  this->gc_.set (std::move (x));
8489  }
8490 
8492  gLs () const
8493  {
8494  return this->gLs_.get ();
8495  }
8496 
8498  gLs ()
8499  {
8500  return this->gLs_.get ();
8501  }
8502 
8504  gLs (const gLs_type& x)
8505  {
8506  this->gLs_.set (x);
8507  }
8508 
8510  gLs (::std::unique_ptr< gLs_type > x)
8511  {
8512  this->gLs_.set (std::move (x));
8513  }
8514 
8516  gLd () const
8517  {
8518  return this->gLd_.get ();
8519  }
8520 
8522  gLd ()
8523  {
8524  return this->gLd_.get ();
8525  }
8526 
8528  gLd (const gLd_type& x)
8529  {
8530  this->gLd_.set (x);
8531  }
8532 
8534  gLd (::std::unique_ptr< gLd_type > x)
8535  {
8536  this->gLd_.set (std::move (x));
8537  }
8538 
8540  gNa () const
8541  {
8542  return this->gNa_.get ();
8543  }
8544 
8546  gNa ()
8547  {
8548  return this->gNa_.get ();
8549  }
8550 
8552  gNa (const gNa_type& x)
8553  {
8554  this->gNa_.set (x);
8555  }
8556 
8558  gNa (::std::unique_ptr< gNa_type > x)
8559  {
8560  this->gNa_.set (std::move (x));
8561  }
8562 
8564  gKdr () const
8565  {
8566  return this->gKdr_.get ();
8567  }
8568 
8570  gKdr ()
8571  {
8572  return this->gKdr_.get ();
8573  }
8574 
8576  gKdr (const gKdr_type& x)
8577  {
8578  this->gKdr_.set (x);
8579  }
8580 
8582  gKdr (::std::unique_ptr< gKdr_type > x)
8583  {
8584  this->gKdr_.set (std::move (x));
8585  }
8586 
8588  gCa () const
8589  {
8590  return this->gCa_.get ();
8591  }
8592 
8594  gCa ()
8595  {
8596  return this->gCa_.get ();
8597  }
8598 
8600  gCa (const gCa_type& x)
8601  {
8602  this->gCa_.set (x);
8603  }
8604 
8606  gCa (::std::unique_ptr< gCa_type > x)
8607  {
8608  this->gCa_.set (std::move (x));
8609  }
8610 
8612  gKahp () const
8613  {
8614  return this->gKahp_.get ();
8615  }
8616 
8618  gKahp ()
8619  {
8620  return this->gKahp_.get ();
8621  }
8622 
8624  gKahp (const gKahp_type& x)
8625  {
8626  this->gKahp_.set (x);
8627  }
8628 
8630  gKahp (::std::unique_ptr< gKahp_type > x)
8631  {
8632  this->gKahp_.set (std::move (x));
8633  }
8634 
8636  gKC () const
8637  {
8638  return this->gKC_.get ();
8639  }
8640 
8642  gKC ()
8643  {
8644  return this->gKC_.get ();
8645  }
8646 
8648  gKC (const gKC_type& x)
8649  {
8650  this->gKC_.set (x);
8651  }
8652 
8654  gKC (::std::unique_ptr< gKC_type > x)
8655  {
8656  this->gKC_.set (std::move (x));
8657  }
8658 
8660  gNmda () const
8661  {
8662  return this->gNmda_.get ();
8663  }
8664 
8666  gNmda ()
8667  {
8668  return this->gNmda_.get ();
8669  }
8670 
8672  gNmda (const gNmda_type& x)
8673  {
8674  this->gNmda_.set (x);
8675  }
8676 
8678  gNmda (::std::unique_ptr< gNmda_type > x)
8679  {
8680  this->gNmda_.set (std::move (x));
8681  }
8682 
8684  gAmpa () const
8685  {
8686  return this->gAmpa_.get ();
8687  }
8688 
8690  gAmpa ()
8691  {
8692  return this->gAmpa_.get ();
8693  }
8694 
8696  gAmpa (const gAmpa_type& x)
8697  {
8698  this->gAmpa_.set (x);
8699  }
8700 
8702  gAmpa (::std::unique_ptr< gAmpa_type > x)
8703  {
8704  this->gAmpa_.set (std::move (x));
8705  }
8706 
8708  eNa () const
8709  {
8710  return this->eNa_.get ();
8711  }
8712 
8714  eNa ()
8715  {
8716  return this->eNa_.get ();
8717  }
8718 
8720  eNa (const eNa_type& x)
8721  {
8722  this->eNa_.set (x);
8723  }
8724 
8726  eNa (::std::unique_ptr< eNa_type > x)
8727  {
8728  this->eNa_.set (std::move (x));
8729  }
8730 
8732  eCa () const
8733  {
8734  return this->eCa_.get ();
8735  }
8736 
8738  eCa ()
8739  {
8740  return this->eCa_.get ();
8741  }
8742 
8744  eCa (const eCa_type& x)
8745  {
8746  this->eCa_.set (x);
8747  }
8748 
8750  eCa (::std::unique_ptr< eCa_type > x)
8751  {
8752  this->eCa_.set (std::move (x));
8753  }
8754 
8756  eK () const
8757  {
8758  return this->eK_.get ();
8759  }
8760 
8762  eK ()
8763  {
8764  return this->eK_.get ();
8765  }
8766 
8768  eK (const eK_type& x)
8769  {
8770  this->eK_.set (x);
8771  }
8772 
8774  eK (::std::unique_ptr< eK_type > x)
8775  {
8776  this->eK_.set (std::move (x));
8777  }
8778 
8780  eL () const
8781  {
8782  return this->eL_.get ();
8783  }
8784 
8786  eL ()
8787  {
8788  return this->eL_.get ();
8789  }
8790 
8792  eL (const eL_type& x)
8793  {
8794  this->eL_.set (x);
8795  }
8796 
8798  eL (::std::unique_ptr< eL_type > x)
8799  {
8800  this->eL_.set (std::move (x));
8801  }
8802 
8804  qd0 () const
8805  {
8806  return this->qd0_.get ();
8807  }
8808 
8810  qd0 ()
8811  {
8812  return this->qd0_.get ();
8813  }
8814 
8816  qd0 (const qd0_type& x)
8817  {
8818  this->qd0_.set (x);
8819  }
8820 
8822  qd0 (::std::unique_ptr< qd0_type > x)
8823  {
8824  this->qd0_.set (std::move (x));
8825  }
8826 
8828  pp () const
8829  {
8830  return this->pp_.get ();
8831  }
8832 
8834  pp ()
8835  {
8836  return this->pp_.get ();
8837  }
8838 
8840  pp (const pp_type& x)
8841  {
8842  this->pp_.set (x);
8843  }
8844 
8846  pp (::std::unique_ptr< pp_type > x)
8847  {
8848  this->pp_.set (std::move (x));
8849  }
8850 
8852  alphac () const
8853  {
8854  return this->alphac_.get ();
8855  }
8856 
8858  alphac ()
8859  {
8860  return this->alphac_.get ();
8861  }
8862 
8864  alphac (const alphac_type& x)
8865  {
8866  this->alphac_.set (x);
8867  }
8868 
8870  alphac (::std::unique_ptr< alphac_type > x)
8871  {
8872  this->alphac_.set (std::move (x));
8873  }
8874 
8876  betac () const
8877  {
8878  return this->betac_.get ();
8879  }
8880 
8882  betac ()
8883  {
8884  return this->betac_.get ();
8885  }
8886 
8888  betac (const betac_type& x)
8889  {
8890  this->betac_.set (x);
8891  }
8892 
8894  betac (::std::unique_ptr< betac_type > x)
8895  {
8896  this->betac_.set (std::move (x));
8897  }
8898 
8900  cm () const
8901  {
8902  return this->cm_.get ();
8903  }
8904 
8906  cm ()
8907  {
8908  return this->cm_.get ();
8909  }
8910 
8912  cm (const cm_type& x)
8913  {
8914  this->cm_.set (x);
8915  }
8916 
8918  cm (::std::unique_ptr< cm_type > x)
8919  {
8920  this->cm_.set (std::move (x));
8921  }
8922 
8923 
8924  // HindmarshRose1984Cell
8925  //
8926 
8928  a () const
8929  {
8930  return this->a_.get ();
8931  }
8932 
8934  a ()
8935  {
8936  return this->a_.get ();
8937  }
8938 
8940  a (const a_type& x)
8941  {
8942  this->a_.set (x);
8943  }
8944 
8946  a (::std::unique_ptr< a_type > x)
8947  {
8948  this->a_.set (std::move (x));
8949  }
8950 
8952  b () const
8953  {
8954  return this->b_.get ();
8955  }
8956 
8958  b ()
8959  {
8960  return this->b_.get ();
8961  }
8962 
8964  b (const b_type& x)
8965  {
8966  this->b_.set (x);
8967  }
8968 
8970  b (::std::unique_ptr< b_type > x)
8971  {
8972  this->b_.set (std::move (x));
8973  }
8974 
8976  c () const
8977  {
8978  return this->c_.get ();
8979  }
8980 
8982  c ()
8983  {
8984  return this->c_.get ();
8985  }
8986 
8988  c (const c_type& x)
8989  {
8990  this->c_.set (x);
8991  }
8992 
8994  c (::std::unique_ptr< c_type > x)
8995  {
8996  this->c_.set (std::move (x));
8997  }
8998 
9000  d () const
9001  {
9002  return this->d_.get ();
9003  }
9004 
9006  d ()
9007  {
9008  return this->d_.get ();
9009  }
9010 
9012  d (const d_type& x)
9013  {
9014  this->d_.set (x);
9015  }
9016 
9018  d (::std::unique_ptr< d_type > x)
9019  {
9020  this->d_.set (std::move (x));
9021  }
9022 
9024  s () const
9025  {
9026  return this->s_.get ();
9027  }
9028 
9030  s ()
9031  {
9032  return this->s_.get ();
9033  }
9034 
9036  s (const s_type& x)
9037  {
9038  this->s_.set (x);
9039  }
9040 
9042  s (::std::unique_ptr< s_type > x)
9043  {
9044  this->s_.set (std::move (x));
9045  }
9046 
9048  x1 () const
9049  {
9050  return this->x1_.get ();
9051  }
9052 
9054  x1 ()
9055  {
9056  return this->x1_.get ();
9057  }
9058 
9060  x1 (const x1_type& x)
9061  {
9062  this->x1_.set (x);
9063  }
9064 
9066  x1 (::std::unique_ptr< x1_type > x)
9067  {
9068  this->x1_.set (std::move (x));
9069  }
9070 
9072  r () const
9073  {
9074  return this->r_.get ();
9075  }
9076 
9078  r ()
9079  {
9080  return this->r_.get ();
9081  }
9082 
9084  r (const r_type& x)
9085  {
9086  this->r_.set (x);
9087  }
9088 
9090  r (::std::unique_ptr< r_type > x)
9091  {
9092  this->r_.set (std::move (x));
9093  }
9094 
9096  x0 () const
9097  {
9098  return this->x0_.get ();
9099  }
9100 
9102  x0 ()
9103  {
9104  return this->x0_.get ();
9105  }
9106 
9108  x0 (const x0_type& x)
9109  {
9110  this->x0_.set (x);
9111  }
9112 
9114  x0 (::std::unique_ptr< x0_type > x)
9115  {
9116  this->x0_.set (std::move (x));
9117  }
9118 
9120  y0 () const
9121  {
9122  return this->y0_.get ();
9123  }
9124 
9126  y0 ()
9127  {
9128  return this->y0_.get ();
9129  }
9130 
9132  y0 (const y0_type& x)
9133  {
9134  this->y0_.set (x);
9135  }
9136 
9138  y0 (::std::unique_ptr< y0_type > x)
9139  {
9140  this->y0_.set (std::move (x));
9141  }
9142 
9144  z0 () const
9145  {
9146  return this->z0_.get ();
9147  }
9148 
9150  z0 ()
9151  {
9152  return this->z0_.get ();
9153  }
9154 
9156  z0 (const z0_type& x)
9157  {
9158  this->z0_.set (x);
9159  }
9160 
9162  z0 (::std::unique_ptr< z0_type > x)
9163  {
9164  this->z0_.set (std::move (x));
9165  }
9166 
9168  v_scaling () const
9169  {
9170  return this->v_scaling_.get ();
9171  }
9172 
9174  v_scaling ()
9175  {
9176  return this->v_scaling_.get ();
9177  }
9178 
9180  v_scaling (const v_scaling_type& x)
9181  {
9182  this->v_scaling_.set (x);
9183  }
9184 
9186  v_scaling (::std::unique_ptr< v_scaling_type > x)
9187  {
9188  this->v_scaling_.set (std::move (x));
9189  }
9190 
9191 
9192  // Cell
9193  //
9194 
9196  morphology () const
9197  {
9198  return this->morphology_;
9199  }
9200 
9202  morphology ()
9203  {
9204  return this->morphology_;
9205  }
9206 
9207  void Cell::
9208  morphology (const morphology_type& x)
9209  {
9210  this->morphology_.set (x);
9211  }
9212 
9213  void Cell::
9215  {
9216  this->morphology_ = x;
9217  }
9218 
9219  void Cell::
9220  morphology (::std::unique_ptr< morphology_type > x)
9221  {
9222  this->morphology_.set (std::move (x));
9223  }
9224 
9226  biophysicalProperties () const
9227  {
9228  return this->biophysicalProperties_;
9229  }
9230 
9233  {
9234  return this->biophysicalProperties_;
9235  }
9236 
9237  void Cell::
9239  {
9240  this->biophysicalProperties_.set (x);
9241  }
9242 
9243  void Cell::
9245  {
9246  this->biophysicalProperties_ = x;
9247  }
9248 
9249  void Cell::
9250  biophysicalProperties (::std::unique_ptr< biophysicalProperties_type > x)
9251  {
9252  this->biophysicalProperties_.set (std::move (x));
9253  }
9254 
9256  morphology1 () const
9257  {
9258  return this->morphology1_;
9259  }
9260 
9262  morphology1 ()
9263  {
9264  return this->morphology1_;
9265  }
9266 
9267  void Cell::
9268  morphology1 (const morphology1_type& x)
9269  {
9270  this->morphology1_.set (x);
9271  }
9272 
9273  void Cell::
9275  {
9276  this->morphology1_ = x;
9277  }
9278 
9279  void Cell::
9280  morphology1 (::std::unique_ptr< morphology1_type > x)
9281  {
9282  this->morphology1_.set (std::move (x));
9283  }
9284 
9286  biophysicalProperties1 () const
9287  {
9288  return this->biophysicalProperties1_;
9289  }
9290 
9293  {
9294  return this->biophysicalProperties1_;
9295  }
9296 
9297  void Cell::
9299  {
9300  this->biophysicalProperties1_.set (x);
9301  }
9302 
9303  void Cell::
9305  {
9306  this->biophysicalProperties1_ = x;
9307  }
9308 
9309  void Cell::
9310  biophysicalProperties1 (::std::unique_ptr< biophysicalProperties1_type > x)
9311  {
9312  this->biophysicalProperties1_.set (std::move (x));
9313  }
9314 
9315 
9316  // Cell2CaPools
9317  //
9318 
9321  {
9322  return this->biophysicalProperties2CaPools_;
9323  }
9324 
9327  {
9328  return this->biophysicalProperties2CaPools_;
9329  }
9330 
9333  {
9334  this->biophysicalProperties2CaPools_.set (x);
9335  }
9336 
9339  {
9340  this->biophysicalProperties2CaPools_ = x;
9341  }
9342 
9344  biophysicalProperties2CaPools (::std::unique_ptr< biophysicalProperties2CaPools_type > x)
9345  {
9346  this->biophysicalProperties2CaPools_.set (std::move (x));
9347  }
9348 
9349 
9350  // Morphology_base
9351  //
9352 
9354  segment () const
9355  {
9356  return this->segment_;
9357  }
9358 
9360  segment ()
9361  {
9362  return this->segment_;
9363  }
9364 
9366  segment (const segment_sequence& s)
9367  {
9368  this->segment_ = s;
9369  }
9370 
9372  segmentGroup () const
9373  {
9374  return this->segmentGroup_;
9375  }
9376 
9378  segmentGroup ()
9379  {
9380  return this->segmentGroup_;
9381  }
9382 
9385  {
9386  this->segmentGroup_ = s;
9387  }
9388 
9389 
9390  // BaseNonNegativeIntegerId
9391  //
9392 
9394  id () const
9395  {
9396  return this->id_.get ();
9397  }
9398 
9400  id ()
9401  {
9402  return this->id_.get ();
9403  }
9404 
9406  id (const id_type& x)
9407  {
9408  this->id_.set (x);
9409  }
9410 
9412  id (::std::unique_ptr< id_type > x)
9413  {
9414  this->id_.set (std::move (x));
9415  }
9416 
9417 
9418  // Segment_base
9419  //
9420 
9422  parent () const
9423  {
9424  return this->parent_;
9425  }
9426 
9428  parent ()
9429  {
9430  return this->parent_;
9431  }
9432 
9434  parent (const parent_type& x)
9435  {
9436  this->parent_.set (x);
9437  }
9438 
9440  parent (const parent_optional& x)
9441  {
9442  this->parent_ = x;
9443  }
9444 
9446  parent (::std::unique_ptr< parent_type > x)
9447  {
9448  this->parent_.set (std::move (x));
9449  }
9450 
9452  proximal () const
9453  {
9454  return this->proximal_;
9455  }
9456 
9458  proximal ()
9459  {
9460  return this->proximal_;
9461  }
9462 
9464  proximal (const proximal_type& x)
9465  {
9466  this->proximal_.set (x);
9467  }
9468 
9470  proximal (const proximal_optional& x)
9471  {
9472  this->proximal_ = x;
9473  }
9474 
9476  proximal (::std::unique_ptr< proximal_type > x)
9477  {
9478  this->proximal_.set (std::move (x));
9479  }
9480 
9482  distal () const
9483  {
9484  return this->distal_.get ();
9485  }
9486 
9488  distal ()
9489  {
9490  return this->distal_.get ();
9491  }
9492 
9494  distal (const distal_type& x)
9495  {
9496  this->distal_.set (x);
9497  }
9498 
9500  distal (::std::unique_ptr< distal_type > x)
9501  {
9502  this->distal_.set (std::move (x));
9503  }
9504 
9506  name () const
9507  {
9508  return this->name_;
9509  }
9510 
9512  name ()
9513  {
9514  return this->name_;
9515  }
9516 
9518  name (const name_type& x)
9519  {
9520  this->name_.set (x);
9521  }
9522 
9524  name (const name_optional& x)
9525  {
9526  this->name_ = x;
9527  }
9528 
9530  name (::std::unique_ptr< name_type > x)
9531  {
9532  this->name_.set (std::move (x));
9533  }
9534 
9536  neuroLexId () const
9537  {
9538  return this->neuroLexId_;
9539  }
9540 
9542  neuroLexId ()
9543  {
9544  return this->neuroLexId_;
9545  }
9546 
9548  neuroLexId (const neuroLexId_type& x)
9549  {
9550  this->neuroLexId_.set (x);
9551  }
9552 
9555  {
9556  this->neuroLexId_ = x;
9557  }
9558 
9560  neuroLexId (::std::unique_ptr< neuroLexId_type > x)
9561  {
9562  this->neuroLexId_.set (std::move (x));
9563  }
9564 
9565 
9566  // SegmentParent
9567  //
9568 
9570  segment () const
9571  {
9572  return this->segment_.get ();
9573  }
9574 
9576  segment ()
9577  {
9578  return this->segment_.get ();
9579  }
9580 
9582  segment (const segment_type& x)
9583  {
9584  this->segment_.set (x);
9585  }
9586 
9588  segment (::std::unique_ptr< segment_type > x)
9589  {
9590  this->segment_.set (std::move (x));
9591  }
9592 
9594  fractionAlong () const
9595  {
9596  return this->fractionAlong_.get ();
9597  }
9598 
9600  fractionAlong ()
9601  {
9602  return this->fractionAlong_.get ();
9603  }
9604 
9607  {
9608  this->fractionAlong_.set (x);
9609  }
9610 
9612  fractionAlong (::std::unique_ptr< fractionAlong_type > x)
9613  {
9614  this->fractionAlong_.set (std::move (x));
9615  }
9616 
9619  {
9620  return fractionAlong_type (1.0F);
9621  }
9622 
9623 
9624  // Point3DWithDiam
9625  //
9626 
9628  x () const
9629  {
9630  return this->x_.get ();
9631  }
9632 
9634  x ()
9635  {
9636  return this->x_.get ();
9637  }
9638 
9640  x (const x_type& x)
9641  {
9642  this->x_.set (x);
9643  }
9644 
9646  y () const
9647  {
9648  return this->y_.get ();
9649  }
9650 
9652  y ()
9653  {
9654  return this->y_.get ();
9655  }
9656 
9658  y (const y_type& x)
9659  {
9660  this->y_.set (x);
9661  }
9662 
9664  z () const
9665  {
9666  return this->z_.get ();
9667  }
9668 
9670  z ()
9671  {
9672  return this->z_.get ();
9673  }
9674 
9676  z (const z_type& x)
9677  {
9678  this->z_.set (x);
9679  }
9680 
9682  diameter () const
9683  {
9684  return this->diameter_.get ();
9685  }
9686 
9688  diameter ()
9689  {
9690  return this->diameter_.get ();
9691  }
9692 
9694  diameter (const diameter_type& x)
9695  {
9696  this->diameter_.set (x);
9697  }
9698 
9700  diameter (::std::unique_ptr< diameter_type > x)
9701  {
9702  this->diameter_.set (std::move (x));
9703  }
9704 
9705 
9706  // SegmentGroup
9707  //
9708 
9710  notes () const
9711  {
9712  return this->notes_;
9713  }
9714 
9716  notes ()
9717  {
9718  return this->notes_;
9719  }
9720 
9722  notes (const notes_type& x)
9723  {
9724  this->notes_.set (x);
9725  }
9726 
9728  notes (const notes_optional& x)
9729  {
9730  this->notes_ = x;
9731  }
9732 
9734  notes (::std::unique_ptr< notes_type > x)
9735  {
9736  this->notes_.set (std::move (x));
9737  }
9738 
9740  property () const
9741  {
9742  return this->property_;
9743  }
9744 
9746  property ()
9747  {
9748  return this->property_;
9749  }
9750 
9752  property (const property_sequence& s)
9753  {
9754  this->property_ = s;
9755  }
9756 
9758  annotation () const
9759  {
9760  return this->annotation_;
9761  }
9762 
9764  annotation ()
9765  {
9766  return this->annotation_;
9767  }
9768 
9770  annotation (const annotation_type& x)
9771  {
9772  this->annotation_.set (x);
9773  }
9774 
9777  {
9778  this->annotation_ = x;
9779  }
9780 
9782  annotation (::std::unique_ptr< annotation_type > x)
9783  {
9784  this->annotation_.set (std::move (x));
9785  }
9786 
9788  member () const
9789  {
9790  return this->member_;
9791  }
9792 
9794  member ()
9795  {
9796  return this->member_;
9797  }
9798 
9800  member (const member_sequence& s)
9801  {
9802  this->member_ = s;
9803  }
9804 
9806  include () const
9807  {
9808  return this->include_;
9809  }
9810 
9812  include ()
9813  {
9814  return this->include_;
9815  }
9816 
9818  include (const include_sequence& s)
9819  {
9820  this->include_ = s;
9821  }
9822 
9824  path () const
9825  {
9826  return this->path_;
9827  }
9828 
9830  path ()
9831  {
9832  return this->path_;
9833  }
9834 
9836  path (const path_sequence& s)
9837  {
9838  this->path_ = s;
9839  }
9840 
9842  subTree () const
9843  {
9844  return this->subTree_;
9845  }
9846 
9848  subTree ()
9849  {
9850  return this->subTree_;
9851  }
9852 
9854  subTree (const subTree_sequence& s)
9855  {
9856  this->subTree_ = s;
9857  }
9858 
9860  inhomogeneousParameter () const
9861  {
9862  return this->inhomogeneousParameter_;
9863  }
9864 
9867  {
9868  return this->inhomogeneousParameter_;
9869  }
9870 
9873  {
9874  this->inhomogeneousParameter_ = s;
9875  }
9876 
9878  neuroLexId () const
9879  {
9880  return this->neuroLexId_;
9881  }
9882 
9884  neuroLexId ()
9885  {
9886  return this->neuroLexId_;
9887  }
9888 
9890  neuroLexId (const neuroLexId_type& x)
9891  {
9892  this->neuroLexId_.set (x);
9893  }
9894 
9897  {
9898  this->neuroLexId_ = x;
9899  }
9900 
9902  neuroLexId (::std::unique_ptr< neuroLexId_type > x)
9903  {
9904  this->neuroLexId_.set (std::move (x));
9905  }
9906 
9907 
9908  // InhomogeneousParameter
9909  //
9910 
9912  proximal () const
9913  {
9914  return this->proximal_;
9915  }
9916 
9918  proximal ()
9919  {
9920  return this->proximal_;
9921  }
9922 
9924  proximal (const proximal_type& x)
9925  {
9926  this->proximal_.set (x);
9927  }
9928 
9930  proximal (const proximal_optional& x)
9931  {
9932  this->proximal_ = x;
9933  }
9934 
9936  proximal (::std::unique_ptr< proximal_type > x)
9937  {
9938  this->proximal_.set (std::move (x));
9939  }
9940 
9942  distal () const
9943  {
9944  return this->distal_;
9945  }
9946 
9948  distal ()
9949  {
9950  return this->distal_;
9951  }
9952 
9954  distal (const distal_type& x)
9955  {
9956  this->distal_.set (x);
9957  }
9958 
9960  distal (const distal_optional& x)
9961  {
9962  this->distal_ = x;
9963  }
9964 
9966  distal (::std::unique_ptr< distal_type > x)
9967  {
9968  this->distal_.set (std::move (x));
9969  }
9970 
9972  variable () const
9973  {
9974  return this->variable_.get ();
9975  }
9976 
9978  variable ()
9979  {
9980  return this->variable_.get ();
9981  }
9982 
9984  variable (const variable_type& x)
9985  {
9986  this->variable_.set (x);
9987  }
9988 
9990  variable (::std::unique_ptr< variable_type > x)
9991  {
9992  this->variable_.set (std::move (x));
9993  }
9994 
9996  metric () const
9997  {
9998  return this->metric_.get ();
9999  }
10000 
10002  metric ()
10003  {
10004  return this->metric_.get ();
10005  }
10006 
10008  metric (const metric_type& x)
10009  {
10010  this->metric_.set (x);
10011  }
10012 
10014  metric (::std::unique_ptr< metric_type > x)
10015  {
10016  this->metric_.set (std::move (x));
10017  }
10018 
10019 
10020  // Metric
10021  //
10022 
10024  Metric (value v)
10025  : ::xml_schema::string (_xsd_Metric_literals_[v])
10026  {
10027  }
10028 
10030  Metric (const char* v)
10031  : ::xml_schema::string (v)
10032  {
10033  }
10034 
10037  : ::xml_schema::string (v)
10038  {
10039  }
10040 
10043  : ::xml_schema::string (v)
10044  {
10045  }
10046 
10048  Metric (const Metric& v,
10049  ::xml_schema::flags f,
10050  ::xml_schema::container* c)
10051  : ::xml_schema::string (v, f, c)
10052  {
10053  }
10054 
10056  operator= (value v)
10057  {
10058  static_cast< ::xml_schema::string& > (*this) =
10059  ::xml_schema::string (_xsd_Metric_literals_[v]);
10060 
10061  return *this;
10062  }
10063 
10064 
10065  // ProximalDetails
10066  //
10067 
10069  translationStart () const
10070  {
10071  return this->translationStart_.get ();
10072  }
10073 
10076  {
10077  return this->translationStart_.get ();
10078  }
10079 
10082  {
10083  this->translationStart_.set (x);
10084  }
10085 
10086 
10087  // DistalDetails
10088  //
10089 
10091  normalizationEnd () const
10092  {
10093  return this->normalizationEnd_.get ();
10094  }
10095 
10098  {
10099  return this->normalizationEnd_.get ();
10100  }
10101 
10104  {
10105  this->normalizationEnd_.set (x);
10106  }
10107 
10108 
10109  // Member
10110  //
10111 
10113  segment () const
10114  {
10115  return this->segment_.get ();
10116  }
10117 
10119  segment ()
10120  {
10121  return this->segment_.get ();
10122  }
10123 
10125  segment (const segment_type& x)
10126  {
10127  this->segment_.set (x);
10128  }
10129 
10131  segment (::std::unique_ptr< segment_type > x)
10132  {
10133  this->segment_.set (std::move (x));
10134  }
10135 
10136 
10137  // Include
10138  //
10139 
10141  segmentGroup () const
10142  {
10143  return this->segmentGroup_.get ();
10144  }
10145 
10147  segmentGroup ()
10148  {
10149  return this->segmentGroup_.get ();
10150  }
10151 
10154  {
10155  this->segmentGroup_.set (x);
10156  }
10157 
10159  segmentGroup (::std::unique_ptr< segmentGroup_type > x)
10160  {
10161  this->segmentGroup_.set (std::move (x));
10162  }
10163 
10164 
10165  // Path
10166  //
10167 
10169  from () const
10170  {
10171  return this->from_;
10172  }
10173 
10175  from ()
10176  {
10177  return this->from_;
10178  }
10179 
10180  void Path::
10181  from (const from_type& x)
10182  {
10183  this->from_.set (x);
10184  }
10185 
10186  void Path::
10187  from (const from_optional& x)
10188  {
10189  this->from_ = x;
10190  }
10191 
10192  void Path::
10193  from (::std::unique_ptr< from_type > x)
10194  {
10195  this->from_.set (std::move (x));
10196  }
10197 
10199  to () const
10200  {
10201  return this->to_;
10202  }
10203 
10205  to ()
10206  {
10207  return this->to_;
10208  }
10209 
10210  void Path::
10211  to (const to_type& x)
10212  {
10213  this->to_.set (x);
10214  }
10215 
10216  void Path::
10217  to (const to_optional& x)
10218  {
10219  this->to_ = x;
10220  }
10221 
10222  void Path::
10223  to (::std::unique_ptr< to_type > x)
10224  {
10225  this->to_.set (std::move (x));
10226  }
10227 
10228 
10229  // SubTree
10230  //
10231 
10233  from () const
10234  {
10235  return this->from_;
10236  }
10237 
10239  from ()
10240  {
10241  return this->from_;
10242  }
10243 
10245  from (const from_type& x)
10246  {
10247  this->from_.set (x);
10248  }
10249 
10251  from (const from_optional& x)
10252  {
10253  this->from_ = x;
10254  }
10255 
10257  from (::std::unique_ptr< from_type > x)
10258  {
10259  this->from_.set (std::move (x));
10260  }
10261 
10263  to () const
10264  {
10265  return this->to_;
10266  }
10267 
10269  to ()
10270  {
10271  return this->to_;
10272  }
10273 
10275  to (const to_type& x)
10276  {
10277  this->to_.set (x);
10278  }
10279 
10281  to (const to_optional& x)
10282  {
10283  this->to_ = x;
10284  }
10285 
10287  to (::std::unique_ptr< to_type > x)
10288  {
10289  this->to_.set (std::move (x));
10290  }
10291 
10292 
10293  // SegmentEndPoint
10294  //
10295 
10297  segment () const
10298  {
10299  return this->segment_.get ();
10300  }
10301 
10303  segment ()
10304  {
10305  return this->segment_.get ();
10306  }
10307 
10309  segment (const segment_type& x)
10310  {
10311  this->segment_.set (x);
10312  }
10313 
10315  segment (::std::unique_ptr< segment_type > x)
10316  {
10317  this->segment_.set (std::move (x));
10318  }
10319 
10320 
10321  // BiophysicalProperties
10322  //
10323 
10325  membraneProperties () const
10326  {
10327  return this->membraneProperties_.get ();
10328  }
10329 
10332  {
10333  return this->membraneProperties_.get ();
10334  }
10335 
10338  {
10339  this->membraneProperties_.set (x);
10340  }
10341 
10343  membraneProperties (::std::unique_ptr< membraneProperties_type > x)
10344  {
10345  this->membraneProperties_.set (std::move (x));
10346  }
10347 
10349  intracellularProperties () const
10350  {
10351  return this->intracellularProperties_;
10352  }
10353 
10356  {
10357  return this->intracellularProperties_;
10358  }
10359 
10362  {
10363  this->intracellularProperties_.set (x);
10364  }
10365 
10368  {
10369  this->intracellularProperties_ = x;
10370  }
10371 
10373  intracellularProperties (::std::unique_ptr< intracellularProperties_type > x)
10374  {
10375  this->intracellularProperties_.set (std::move (x));
10376  }
10377 
10379  extracellularProperties () const
10380  {
10381  return this->extracellularProperties_;
10382  }
10383 
10386  {
10387  return this->extracellularProperties_;
10388  }
10389 
10392  {
10393  this->extracellularProperties_.set (x);
10394  }
10395 
10398  {
10399  this->extracellularProperties_ = x;
10400  }
10401 
10403  extracellularProperties (::std::unique_ptr< extracellularProperties_type > x)
10404  {
10405  this->extracellularProperties_.set (std::move (x));
10406  }
10407 
10408 
10409  // BiophysicalProperties2CaPools
10410  //
10411 
10414  {
10415  return this->membraneProperties2CaPools_.get ();
10416  }
10417 
10420  {
10421  return this->membraneProperties2CaPools_.get ();
10422  }
10423 
10426  {
10427  this->membraneProperties2CaPools_.set (x);
10428  }
10429 
10431  membraneProperties2CaPools (::std::unique_ptr< membraneProperties2CaPools_type > x)
10432  {
10433  this->membraneProperties2CaPools_.set (std::move (x));
10434  }
10435 
10438  {
10439  return this->intracellularProperties2CaPools_;
10440  }
10441 
10444  {
10445  return this->intracellularProperties2CaPools_;
10446  }
10447 
10450  {
10451  this->intracellularProperties2CaPools_.set (x);
10452  }
10453 
10456  {
10457  this->intracellularProperties2CaPools_ = x;
10458  }
10459 
10461  intracellularProperties2CaPools (::std::unique_ptr< intracellularProperties2CaPools_type > x)
10462  {
10463  this->intracellularProperties2CaPools_.set (std::move (x));
10464  }
10465 
10467  extracellularProperties () const
10468  {
10469  return this->extracellularProperties_;
10470  }
10471 
10474  {
10475  return this->extracellularProperties_;
10476  }
10477 
10480  {
10481  this->extracellularProperties_.set (x);
10482  }
10483 
10486  {
10487  this->extracellularProperties_ = x;
10488  }
10489 
10491  extracellularProperties (::std::unique_ptr< extracellularProperties_type > x)
10492  {
10493  this->extracellularProperties_.set (std::move (x));
10494  }
10495 
10496 
10497  // MembraneProperties
10498  //
10499 
10501  channelPopulation () const
10502  {
10503  return this->channelPopulation_;
10504  }
10505 
10508  {
10509  return this->channelPopulation_;
10510  }
10511 
10514  {
10515  this->channelPopulation_ = s;
10516  }
10517 
10519  channelDensity () const
10520  {
10521  return this->channelDensity_;
10522  }
10523 
10525  channelDensity ()
10526  {
10527  return this->channelDensity_;
10528  }
10529 
10532  {
10533  this->channelDensity_ = s;
10534  }
10535 
10537  channelDensityVShift () const
10538  {
10539  return this->channelDensityVShift_;
10540  }
10541 
10544  {
10545  return this->channelDensityVShift_;
10546  }
10547 
10550  {
10551  this->channelDensityVShift_ = s;
10552  }
10553 
10555  channelDensityNernst () const
10556  {
10557  return this->channelDensityNernst_;
10558  }
10559 
10562  {
10563  return this->channelDensityNernst_;
10564  }
10565 
10568  {
10569  this->channelDensityNernst_ = s;
10570  }
10571 
10573  channelDensityGHK () const
10574  {
10575  return this->channelDensityGHK_;
10576  }
10577 
10580  {
10581  return this->channelDensityGHK_;
10582  }
10583 
10586  {
10587  this->channelDensityGHK_ = s;
10588  }
10589 
10591  channelDensityGHK2 () const
10592  {
10593  return this->channelDensityGHK2_;
10594  }
10595 
10598  {
10599  return this->channelDensityGHK2_;
10600  }
10601 
10604  {
10605  this->channelDensityGHK2_ = s;
10606  }
10607 
10610  {
10611  return this->channelDensityNonUniform_;
10612  }
10613 
10616  {
10617  return this->channelDensityNonUniform_;
10618  }
10619 
10622  {
10623  this->channelDensityNonUniform_ = s;
10624  }
10625 
10628  {
10629  return this->channelDensityNonUniformNernst_;
10630  }
10631 
10634  {
10635  return this->channelDensityNonUniformNernst_;
10636  }
10637 
10640  {
10641  this->channelDensityNonUniformNernst_ = s;
10642  }
10643 
10646  {
10647  return this->channelDensityNonUniformGHK_;
10648  }
10649 
10652  {
10653  return this->channelDensityNonUniformGHK_;
10654  }
10655 
10658  {
10659  this->channelDensityNonUniformGHK_ = s;
10660  }
10661 
10663  spikeThresh () const
10664  {
10665  return this->spikeThresh_;
10666  }
10667 
10669  spikeThresh ()
10670  {
10671  return this->spikeThresh_;
10672  }
10673 
10676  {
10677  this->spikeThresh_ = s;
10678  }
10679 
10681  specificCapacitance () const
10682  {
10683  return this->specificCapacitance_;
10684  }
10685 
10688  {
10689  return this->specificCapacitance_;
10690  }
10691 
10694  {
10695  this->specificCapacitance_ = s;
10696  }
10697 
10699  initMembPotential () const
10700  {
10701  return this->initMembPotential_;
10702  }
10703 
10706  {
10707  return this->initMembPotential_;
10708  }
10709 
10712  {
10713  this->initMembPotential_ = s;
10714  }
10715 
10716 
10717  // MembraneProperties2CaPools
10718  //
10719 
10721  channelDensityNernstCa2 () const
10722  {
10723  return this->channelDensityNernstCa2_;
10724  }
10725 
10728  {
10729  return this->channelDensityNernstCa2_;
10730  }
10731 
10734  {
10735  this->channelDensityNernstCa2_ = s;
10736  }
10737 
10738 
10739  // SpikeThresh
10740  //
10741 
10743  value () const
10744  {
10745  return this->value_.get ();
10746  }
10747 
10749  value ()
10750  {
10751  return this->value_.get ();
10752  }
10753 
10755  value (const value_type& x)
10756  {
10757  this->value_.set (x);
10758  }
10759 
10761  value (::std::unique_ptr< value_type > x)
10762  {
10763  this->value_.set (std::move (x));
10764  }
10765 
10767  segmentGroup () const
10768  {
10769  return this->segmentGroup_.get ();
10770  }
10771 
10773  segmentGroup ()
10774  {
10775  return this->segmentGroup_.get ();
10776  }
10777 
10780  {
10781  this->segmentGroup_.set (x);
10782  }
10783 
10785  segmentGroup (::std::unique_ptr< segmentGroup_type > x)
10786  {
10787  this->segmentGroup_.set (std::move (x));
10788  }
10789 
10792  {
10793  return segmentGroup_default_value_;
10794  }
10795 
10796 
10797  // SpecificCapacitance
10798  //
10799 
10801  value () const
10802  {
10803  return this->value_.get ();
10804  }
10805 
10807  value ()
10808  {
10809  return this->value_.get ();
10810  }
10811 
10813  value (const value_type& x)
10814  {
10815  this->value_.set (x);
10816  }
10817 
10819  value (::std::unique_ptr< value_type > x)
10820  {
10821  this->value_.set (std::move (x));
10822  }
10823 
10825  segmentGroup () const
10826  {
10827  return this->segmentGroup_.get ();
10828  }
10829 
10831  segmentGroup ()
10832  {
10833  return this->segmentGroup_.get ();
10834  }
10835 
10838  {
10839  this->segmentGroup_.set (x);
10840  }
10841 
10843  segmentGroup (::std::unique_ptr< segmentGroup_type > x)
10844  {
10845  this->segmentGroup_.set (std::move (x));
10846  }
10847 
10850  {
10851  return segmentGroup_default_value_;
10852  }
10853 
10854 
10855  // InitMembPotential
10856  //
10857 
10859  value () const
10860  {
10861  return this->value_.get ();
10862  }
10863 
10865  value ()
10866  {
10867  return this->value_.get ();
10868  }
10869 
10871  value (const value_type& x)
10872  {
10873  this->value_.set (x);
10874  }
10875 
10877  value (::std::unique_ptr< value_type > x)
10878  {
10879  this->value_.set (std::move (x));
10880  }
10881 
10883  segmentGroup () const
10884  {
10885  return this->segmentGroup_.get ();
10886  }
10887 
10889  segmentGroup ()
10890  {
10891  return this->segmentGroup_.get ();
10892  }
10893 
10896  {
10897  this->segmentGroup_.set (x);
10898  }
10899 
10901  segmentGroup (::std::unique_ptr< segmentGroup_type > x)
10902  {
10903  this->segmentGroup_.set (std::move (x));
10904  }
10905 
10908  {
10909  return segmentGroup_default_value_;
10910  }
10911 
10912 
10913  // Resistivity
10914  //
10915 
10917  value () const
10918  {
10919  return this->value_.get ();
10920  }
10921 
10923  value ()
10924  {
10925  return this->value_.get ();
10926  }
10927 
10929  value (const value_type& x)
10930  {
10931  this->value_.set (x);
10932  }
10933 
10935  value (::std::unique_ptr< value_type > x)
10936  {
10937  this->value_.set (std::move (x));
10938  }
10939 
10941  segmentGroup () const
10942  {
10943  return this->segmentGroup_.get ();
10944  }
10945 
10947  segmentGroup ()
10948  {
10949  return this->segmentGroup_.get ();
10950  }
10951 
10954  {
10955  this->segmentGroup_.set (x);
10956  }
10957 
10959  segmentGroup (::std::unique_ptr< segmentGroup_type > x)
10960  {
10961  this->segmentGroup_.set (std::move (x));
10962  }
10963 
10966  {
10967  return segmentGroup_default_value_;
10968  }
10969 
10970 
10971  // ChannelPopulation
10972  //
10973 
10975  variableParameter () const
10976  {
10977  return this->variableParameter_;
10978  }
10979 
10982  {
10983  return this->variableParameter_;
10984  }
10985 
10988  {
10989  this->variableParameter_ = s;
10990  }
10991 
10993  ionChannel () const
10994  {
10995  return this->ionChannel_.get ();
10996  }
10997 
10999  ionChannel ()
11000  {
11001  return this->ionChannel_.get ();
11002  }
11003 
11005  ionChannel (const ionChannel_type& x)
11006  {
11007  this->ionChannel_.set (x);
11008  }
11009 
11011  ionChannel (::std::unique_ptr< ionChannel_type > x)
11012  {
11013  this->ionChannel_.set (std::move (x));
11014  }
11015 
11017  number () const
11018  {
11019  return this->number_.get ();
11020  }
11021 
11023  number ()
11024  {
11025  return this->number_.get ();
11026  }
11027 
11029  number (const number_type& x)
11030  {
11031  this->number_.set (x);
11032  }
11033 
11035  number (::std::unique_ptr< number_type > x)
11036  {
11037  this->number_.set (std::move (x));
11038  }
11039 
11041  erev () const
11042  {
11043  return this->erev_.get ();
11044  }
11045 
11047  erev ()
11048  {
11049  return this->erev_.get ();
11050  }
11051 
11053  erev (const erev_type& x)
11054  {
11055  this->erev_.set (x);
11056  }
11057 
11059  erev (::std::unique_ptr< erev_type > x)
11060  {
11061  this->erev_.set (std::move (x));
11062  }
11063 
11065  segmentGroup () const
11066  {
11067  return this->segmentGroup_.get ();
11068  }
11069 
11071  segmentGroup ()
11072  {
11073  return this->segmentGroup_.get ();
11074  }
11075 
11078  {
11079  this->segmentGroup_.set (x);
11080  }
11081 
11083  segmentGroup (::std::unique_ptr< segmentGroup_type > x)
11084  {
11085  this->segmentGroup_.set (std::move (x));
11086  }
11087 
11090  {
11091  return segmentGroup_default_value_;
11092  }
11093 
11095  segment () const
11096  {
11097  return this->segment_;
11098  }
11099 
11101  segment ()
11102  {
11103  return this->segment_;
11104  }
11105 
11107  segment (const segment_type& x)
11108  {
11109  this->segment_.set (x);
11110  }
11111 
11113  segment (const segment_optional& x)
11114  {
11115  this->segment_ = x;
11116  }
11117 
11119  segment (::std::unique_ptr< segment_type > x)
11120  {
11121  this->segment_.set (std::move (x));
11122  }
11123 
11125  ion () const
11126  {
11127  return this->ion_.get ();
11128  }
11129 
11131  ion ()
11132  {
11133  return this->ion_.get ();
11134  }
11135 
11137  ion (const ion_type& x)
11138  {
11139  this->ion_.set (x);
11140  }
11141 
11143  ion (::std::unique_ptr< ion_type > x)
11144  {
11145  this->ion_.set (std::move (x));
11146  }
11147 
11148 
11149  // ChannelDensityNonUniform
11150  //
11151 
11153  variableParameter () const
11154  {
11155  return this->variableParameter_;
11156  }
11157 
11160  {
11161  return this->variableParameter_;
11162  }
11163 
11166  {
11167  this->variableParameter_ = s;
11168  }
11169 
11171  ionChannel () const
11172  {
11173  return this->ionChannel_.get ();
11174  }
11175 
11177  ionChannel ()
11178  {
11179  return this->ionChannel_.get ();
11180  }
11181 
11183  ionChannel (const ionChannel_type& x)
11184  {
11185  this->ionChannel_.set (x);
11186  }
11187 
11189  ionChannel (::std::unique_ptr< ionChannel_type > x)
11190  {
11191  this->ionChannel_.set (std::move (x));
11192  }
11193 
11195  erev () const
11196  {
11197  return this->erev_.get ();
11198  }
11199 
11201  erev ()
11202  {
11203  return this->erev_.get ();
11204  }
11205 
11207  erev (const erev_type& x)
11208  {
11209  this->erev_.set (x);
11210  }
11211 
11213  erev (::std::unique_ptr< erev_type > x)
11214  {
11215  this->erev_.set (std::move (x));
11216  }
11217 
11219  ion () const
11220  {
11221  return this->ion_.get ();
11222  }
11223 
11225  ion ()
11226  {
11227  return this->ion_.get ();
11228  }
11229 
11231  ion (const ion_type& x)
11232  {
11233  this->ion_.set (x);
11234  }
11235 
11237  ion (::std::unique_ptr< ion_type > x)
11238  {
11239  this->ion_.set (std::move (x));
11240  }
11241 
11242 
11243  // ChannelDensityNonUniformNernst
11244  //
11245 
11247  variableParameter () const
11248  {
11249  return this->variableParameter_;
11250  }
11251 
11254  {
11255  return this->variableParameter_;
11256  }
11257 
11260  {
11261  this->variableParameter_ = s;
11262  }
11263 
11265  ionChannel () const
11266  {
11267  return this->ionChannel_.get ();
11268  }
11269 
11271  ionChannel ()
11272  {
11273  return this->ionChannel_.get ();
11274  }
11275 
11277  ionChannel (const ionChannel_type& x)
11278  {
11279  this->ionChannel_.set (x);
11280  }
11281 
11283  ionChannel (::std::unique_ptr< ionChannel_type > x)
11284  {
11285  this->ionChannel_.set (std::move (x));
11286  }
11287 
11289  ion () const
11290  {
11291  return this->ion_.get ();
11292  }
11293 
11295  ion ()
11296  {
11297  return this->ion_.get ();
11298  }
11299 
11301  ion (const ion_type& x)
11302  {
11303  this->ion_.set (x);
11304  }
11305 
11307  ion (::std::unique_ptr< ion_type > x)
11308  {
11309  this->ion_.set (std::move (x));
11310  }
11311 
11312 
11313  // ChannelDensityNonUniformGHK
11314  //
11315 
11317  variableParameter () const
11318  {
11319  return this->variableParameter_;
11320  }
11321 
11324  {
11325  return this->variableParameter_;
11326  }
11327 
11330  {
11331  this->variableParameter_ = s;
11332  }
11333 
11335  ionChannel () const
11336  {
11337  return this->ionChannel_.get ();
11338  }
11339 
11341  ionChannel ()
11342  {
11343  return this->ionChannel_.get ();
11344  }
11345 
11347  ionChannel (const ionChannel_type& x)
11348  {
11349  this->ionChannel_.set (x);
11350  }
11351 
11353  ionChannel (::std::unique_ptr< ionChannel_type > x)
11354  {
11355  this->ionChannel_.set (std::move (x));
11356  }
11357 
11359  ion () const
11360  {
11361  return this->ion_.get ();
11362  }
11363 
11365  ion ()
11366  {
11367  return this->ion_.get ();
11368  }
11369 
11371  ion (const ion_type& x)
11372  {
11373  this->ion_.set (x);
11374  }
11375 
11377  ion (::std::unique_ptr< ion_type > x)
11378  {
11379  this->ion_.set (std::move (x));
11380  }
11381 
11382 
11383  // ChannelDensity
11384  //
11385 
11387  variableParameter () const
11388  {
11389  return this->variableParameter_;
11390  }
11391 
11394  {
11395  return this->variableParameter_;
11396  }
11397 
11400  {
11401  this->variableParameter_ = s;
11402  }
11403 
11405  ionChannel () const
11406  {
11407  return this->ionChannel_.get ();
11408  }
11409 
11411  ionChannel ()
11412  {
11413  return this->ionChannel_.get ();
11414  }
11415 
11417  ionChannel (const ionChannel_type& x)
11418  {
11419  this->ionChannel_.set (x);
11420  }
11421 
11423  ionChannel (::std::unique_ptr< ionChannel_type > x)
11424  {
11425  this->ionChannel_.set (std::move (x));
11426  }
11427 
11429  condDensity () const
11430  {
11431  return this->condDensity_;
11432  }
11433 
11435  condDensity ()
11436  {
11437  return this->condDensity_;
11438  }
11439 
11441  condDensity (const condDensity_type& x)
11442  {
11443  this->condDensity_.set (x);
11444  }
11445 
11448  {
11449  this->condDensity_ = x;
11450  }
11451 
11453  condDensity (::std::unique_ptr< condDensity_type > x)
11454  {
11455  this->condDensity_.set (std::move (x));
11456  }
11457 
11459  erev () const
11460  {
11461  return this->erev_.get ();
11462  }
11463 
11465  erev ()
11466  {
11467  return this->erev_.get ();
11468  }
11469 
11471  erev (const erev_type& x)
11472  {
11473  this->erev_.set (x);
11474  }
11475 
11477  erev (::std::unique_ptr< erev_type > x)
11478  {
11479  this->erev_.set (std::move (x));
11480  }
11481 
11483  segmentGroup () const
11484  {
11485  return this->segmentGroup_.get ();
11486  }
11487 
11489  segmentGroup ()
11490  {
11491  return this->segmentGroup_.get ();
11492  }
11493 
11496  {
11497  this->segmentGroup_.set (x);
11498  }
11499 
11501  segmentGroup (::std::unique_ptr< segmentGroup_type > x)
11502  {
11503  this->segmentGroup_.set (std::move (x));
11504  }
11505 
11508  {
11509  return segmentGroup_default_value_;
11510  }
11511 
11513  segment () const
11514  {
11515  return this->segment_;
11516  }
11517 
11519  segment ()
11520  {
11521  return this->segment_;
11522  }
11523 
11525  segment (const segment_type& x)
11526  {
11527  this->segment_.set (x);
11528  }
11529 
11531  segment (const segment_optional& x)
11532  {
11533  this->segment_ = x;
11534  }
11535 
11537  segment (::std::unique_ptr< segment_type > x)
11538  {
11539  this->segment_.set (std::move (x));
11540  }
11541 
11543  ion () const
11544  {
11545  return this->ion_.get ();
11546  }
11547 
11549  ion ()
11550  {
11551  return this->ion_.get ();
11552  }
11553 
11555  ion (const ion_type& x)
11556  {
11557  this->ion_.set (x);
11558  }
11559 
11561  ion (::std::unique_ptr< ion_type > x)
11562  {
11563  this->ion_.set (std::move (x));
11564  }
11565 
11566 
11567  // ChannelDensityVShift
11568  //
11569 
11571  vShift () const
11572  {
11573  return this->vShift_.get ();
11574  }
11575 
11577  vShift ()
11578  {
11579  return this->vShift_.get ();
11580  }
11581 
11583  vShift (const vShift_type& x)
11584  {
11585  this->vShift_.set (x);
11586  }
11587 
11589  vShift (::std::unique_ptr< vShift_type > x)
11590  {
11591  this->vShift_.set (std::move (x));
11592  }
11593 
11594 
11595  // ChannelDensityNernst
11596  //
11597 
11599  variableParameter () const
11600  {
11601  return this->variableParameter_;
11602  }
11603 
11606  {
11607  return this->variableParameter_;
11608  }
11609 
11612  {
11613  this->variableParameter_ = s;
11614  }
11615 
11617  ionChannel () const
11618  {
11619  return this->ionChannel_.get ();
11620  }
11621 
11623  ionChannel ()
11624  {
11625  return this->ionChannel_.get ();
11626  }
11627 
11629  ionChannel (const ionChannel_type& x)
11630  {
11631  this->ionChannel_.set (x);
11632  }
11633 
11635  ionChannel (::std::unique_ptr< ionChannel_type > x)
11636  {
11637  this->ionChannel_.set (std::move (x));
11638  }
11639 
11641  condDensity () const
11642  {
11643  return this->condDensity_;
11644  }
11645 
11647  condDensity ()
11648  {
11649  return this->condDensity_;
11650  }
11651 
11653  condDensity (const condDensity_type& x)
11654  {
11655  this->condDensity_.set (x);
11656  }
11657 
11660  {
11661  this->condDensity_ = x;
11662  }
11663 
11665  condDensity (::std::unique_ptr< condDensity_type > x)
11666  {
11667  this->condDensity_.set (std::move (x));
11668  }
11669 
11671  segmentGroup () const
11672  {
11673  return this->segmentGroup_.get ();
11674  }
11675 
11677  segmentGroup ()
11678  {
11679  return this->segmentGroup_.get ();
11680  }
11681 
11684  {
11685  this->segmentGroup_.set (x);
11686  }
11687 
11689  segmentGroup (::std::unique_ptr< segmentGroup_type > x)
11690  {
11691  this->segmentGroup_.set (std::move (x));
11692  }
11693 
11696  {
11697  return segmentGroup_default_value_;
11698  }
11699 
11701  segment () const
11702  {
11703  return this->segment_;
11704  }
11705 
11707  segment ()
11708  {
11709  return this->segment_;
11710  }
11711 
11713  segment (const segment_type& x)
11714  {
11715  this->segment_.set (x);
11716  }
11717 
11719  segment (const segment_optional& x)
11720  {
11721  this->segment_ = x;
11722  }
11723 
11725  segment (::std::unique_ptr< segment_type > x)
11726  {
11727  this->segment_.set (std::move (x));
11728  }
11729 
11731  ion () const
11732  {
11733  return this->ion_.get ();
11734  }
11735 
11737  ion ()
11738  {
11739  return this->ion_.get ();
11740  }
11741 
11743  ion (const ion_type& x)
11744  {
11745  this->ion_.set (x);
11746  }
11747 
11749  ion (::std::unique_ptr< ion_type > x)
11750  {
11751  this->ion_.set (std::move (x));
11752  }
11753 
11754 
11755  // ChannelDensityNernstCa2
11756  //
11757 
11758 
11759  // ChannelDensityGHK
11760  //
11761 
11763  ionChannel () const
11764  {
11765  return this->ionChannel_.get ();
11766  }
11767 
11769  ionChannel ()
11770  {
11771  return this->ionChannel_.get ();
11772  }
11773 
11775  ionChannel (const ionChannel_type& x)
11776  {
11777  this->ionChannel_.set (x);
11778  }
11779 
11781  ionChannel (::std::unique_ptr< ionChannel_type > x)
11782  {
11783  this->ionChannel_.set (std::move (x));
11784  }
11785 
11787  permeability () const
11788  {
11789  return this->permeability_.get ();
11790  }
11791 
11793  permeability ()
11794  {
11795  return this->permeability_.get ();
11796  }
11797 
11800  {
11801  this->permeability_.set (x);
11802  }
11803 
11805  permeability (::std::unique_ptr< permeability_type > x)
11806  {
11807  this->permeability_.set (std::move (x));
11808  }
11809 
11811  segmentGroup () const
11812  {
11813  return this->segmentGroup_.get ();
11814  }
11815 
11817  segmentGroup ()
11818  {
11819  return this->segmentGroup_.get ();
11820  }
11821 
11824  {
11825  this->segmentGroup_.set (x);
11826  }
11827 
11829  segmentGroup (::std::unique_ptr< segmentGroup_type > x)
11830  {
11831  this->segmentGroup_.set (std::move (x));
11832  }
11833 
11836  {
11837  return segmentGroup_default_value_;
11838  }
11839 
11841  segment () const
11842  {
11843  return this->segment_;
11844  }
11845 
11847  segment ()
11848  {
11849  return this->segment_;
11850  }
11851 
11853  segment (const segment_type& x)
11854  {
11855  this->segment_.set (x);
11856  }
11857 
11859  segment (const segment_optional& x)
11860  {
11861  this->segment_ = x;
11862  }
11863 
11865  segment (::std::unique_ptr< segment_type > x)
11866  {
11867  this->segment_.set (std::move (x));
11868  }
11869 
11871  ion () const
11872  {
11873  return this->ion_.get ();
11874  }
11875 
11877  ion ()
11878  {
11879  return this->ion_.get ();
11880  }
11881 
11883  ion (const ion_type& x)
11884  {
11885  this->ion_.set (x);
11886  }
11887 
11889  ion (::std::unique_ptr< ion_type > x)
11890  {
11891  this->ion_.set (std::move (x));
11892  }
11893 
11894 
11895  // ChannelDensityGHK2
11896  //
11897 
11899  ionChannel () const
11900  {
11901  return this->ionChannel_.get ();
11902  }
11903 
11905  ionChannel ()
11906  {
11907  return this->ionChannel_.get ();
11908  }
11909 
11911  ionChannel (const ionChannel_type& x)
11912  {
11913  this->ionChannel_.set (x);
11914  }
11915 
11917  ionChannel (::std::unique_ptr< ionChannel_type > x)
11918  {
11919  this->ionChannel_.set (std::move (x));
11920  }
11921 
11923  condDensity () const
11924  {
11925  return this->condDensity_;
11926  }
11927 
11929  condDensity ()
11930  {
11931  return this->condDensity_;
11932  }
11933 
11935  condDensity (const condDensity_type& x)
11936  {
11937  this->condDensity_.set (x);
11938  }
11939 
11942  {
11943  this->condDensity_ = x;
11944  }
11945 
11947  condDensity (::std::unique_ptr< condDensity_type > x)
11948  {
11949  this->condDensity_.set (std::move (x));
11950  }
11951 
11953  segmentGroup () const
11954  {
11955  return this->segmentGroup_.get ();
11956  }
11957 
11959  segmentGroup ()
11960  {
11961  return this->segmentGroup_.get ();
11962  }
11963 
11966  {
11967  this->segmentGroup_.set (x);
11968  }
11969 
11971  segmentGroup (::std::unique_ptr< segmentGroup_type > x)
11972  {
11973  this->segmentGroup_.set (std::move (x));
11974  }
11975 
11978  {
11979  return segmentGroup_default_value_;
11980  }
11981 
11983  segment () const
11984  {
11985  return this->segment_;
11986  }
11987 
11989  segment ()
11990  {
11991  return this->segment_;
11992  }
11993 
11995  segment (const segment_type& x)
11996  {
11997  this->segment_.set (x);
11998  }
11999 
12001  segment (const segment_optional& x)
12002  {
12003  this->segment_ = x;
12004  }
12005 
12007  segment (::std::unique_ptr< segment_type > x)
12008  {
12009  this->segment_.set (std::move (x));
12010  }
12011 
12013  ion () const
12014  {
12015  return this->ion_.get ();
12016  }
12017 
12019  ion ()
12020  {
12021  return this->ion_.get ();
12022  }
12023 
12025  ion (const ion_type& x)
12026  {
12027  this->ion_.set (x);
12028  }
12029 
12031  ion (::std::unique_ptr< ion_type > x)
12032  {
12033  this->ion_.set (std::move (x));
12034  }
12035 
12036 
12037  // VariableParameter
12038  //
12039 
12041  inhomogeneousValue () const
12042  {
12043  return this->inhomogeneousValue_;
12044  }
12045 
12048  {
12049  return this->inhomogeneousValue_;
12050  }
12051 
12054  {
12055  this->inhomogeneousValue_.set (x);
12056  }
12057 
12060  {
12061  this->inhomogeneousValue_ = x;
12062  }
12063 
12065  inhomogeneousValue (::std::unique_ptr< inhomogeneousValue_type > x)
12066  {
12067  this->inhomogeneousValue_.set (std::move (x));
12068  }
12069 
12071  parameter () const
12072  {
12073  return this->parameter_.get ();
12074  }
12075 
12077  parameter ()
12078  {
12079  return this->parameter_.get ();
12080  }
12081 
12083  parameter (const parameter_type& x)
12084  {
12085  this->parameter_.set (x);
12086  }
12087 
12089  parameter (::std::unique_ptr< parameter_type > x)
12090  {
12091  this->parameter_.set (std::move (x));
12092  }
12093 
12095  segmentGroup () const
12096  {
12097  return this->segmentGroup_.get ();
12098  }
12099 
12101  segmentGroup ()
12102  {
12103  return this->segmentGroup_.get ();
12104  }
12105 
12108  {
12109  this->segmentGroup_.set (x);
12110  }
12111 
12113  segmentGroup (::std::unique_ptr< segmentGroup_type > x)
12114  {
12115  this->segmentGroup_.set (std::move (x));
12116  }
12117 
12118 
12119  // InhomogeneousValue
12120  //
12121 
12123  inhomogeneousParameter () const
12124  {
12125  return this->inhomogeneousParameter_.get ();
12126  }
12127 
12130  {
12131  return this->inhomogeneousParameter_.get ();
12132  }
12133 
12136  {
12137  this->inhomogeneousParameter_.set (x);
12138  }
12139 
12141  inhomogeneousParameter (::std::unique_ptr< inhomogeneousParameter_type > x)
12142  {
12143  this->inhomogeneousParameter_.set (std::move (x));
12144  }
12145 
12147  value () const
12148  {
12149  return this->value_.get ();
12150  }
12151 
12153  value ()
12154  {
12155  return this->value_.get ();
12156  }
12157 
12159  value (const value_type& x)
12160  {
12161  this->value_.set (x);
12162  }
12163 
12165  value (::std::unique_ptr< value_type > x)
12166  {
12167  this->value_.set (std::move (x));
12168  }
12169 
12170 
12171  // Species
12172  //
12173 
12175  concentrationModel () const
12176  {
12177  return this->concentrationModel_.get ();
12178  }
12179 
12182  {
12183  return this->concentrationModel_.get ();
12184  }
12185 
12188  {
12189  this->concentrationModel_.set (x);
12190  }
12191 
12193  concentrationModel (::std::unique_ptr< concentrationModel_type > x)
12194  {
12195  this->concentrationModel_.set (std::move (x));
12196  }
12197 
12199  ion () const
12200  {
12201  return this->ion_;
12202  }
12203 
12205  ion ()
12206  {
12207  return this->ion_;
12208  }
12209 
12211  ion (const ion_type& x)
12212  {
12213  this->ion_.set (x);
12214  }
12215 
12217  ion (const ion_optional& x)
12218  {
12219  this->ion_ = x;
12220  }
12221 
12223  ion (::std::unique_ptr< ion_type > x)
12224  {
12225  this->ion_.set (std::move (x));
12226  }
12227 
12229  initialConcentration () const
12230  {
12231  return this->initialConcentration_.get ();
12232  }
12233 
12236  {
12237  return this->initialConcentration_.get ();
12238  }
12239 
12242  {
12243  this->initialConcentration_.set (x);
12244  }
12245 
12247  initialConcentration (::std::unique_ptr< initialConcentration_type > x)
12248  {
12249  this->initialConcentration_.set (std::move (x));
12250  }
12251 
12253  initialExtConcentration () const
12254  {
12255  return this->initialExtConcentration_.get ();
12256  }
12257 
12260  {
12261  return this->initialExtConcentration_.get ();
12262  }
12263 
12266  {
12267  this->initialExtConcentration_.set (x);
12268  }
12269 
12271  initialExtConcentration (::std::unique_ptr< initialExtConcentration_type > x)
12272  {
12273  this->initialExtConcentration_.set (std::move (x));
12274  }
12275 
12277  segmentGroup () const
12278  {
12279  return this->segmentGroup_.get ();
12280  }
12281 
12283  segmentGroup ()
12284  {
12285  return this->segmentGroup_.get ();
12286  }
12287 
12290  {
12291  this->segmentGroup_.set (x);
12292  }
12293 
12295  segmentGroup (::std::unique_ptr< segmentGroup_type > x)
12296  {
12297  this->segmentGroup_.set (std::move (x));
12298  }
12299 
12302  {
12303  return segmentGroup_default_value_;
12304  }
12305 
12306 
12307  // ConcentrationModel_D
12308  //
12309 
12311  type () const
12312  {
12313  return this->type_.get ();
12314  }
12315 
12318  {
12319  return type_default_value_;
12320  }
12321 
12322 
12323  // IntracellularProperties
12324  //
12325 
12327  species () const
12328  {
12329  return this->species_;
12330  }
12331 
12333  species ()
12334  {
12335  return this->species_;
12336  }
12337 
12339  species (const species_sequence& s)
12340  {
12341  this->species_ = s;
12342  }
12343 
12345  resistivity () const
12346  {
12347  return this->resistivity_;
12348  }
12349 
12351  resistivity ()
12352  {
12353  return this->resistivity_;
12354  }
12355 
12358  {
12359  this->resistivity_ = s;
12360  }
12361 
12362 
12363  // IntracellularProperties2CaPools
12364  //
12365 
12366 
12367  // ExtracellularProperties
12368  //
12369 
12371  species () const
12372  {
12373  return this->species_;
12374  }
12375 
12377  species ()
12378  {
12379  return this->species_;
12380  }
12381 
12383  species (const species_sequence& s)
12384  {
12385  this->species_ = s;
12386  }
12387 
12388 
12389  // ExtracellularPropertiesLocal
12390  //
12391 
12393  species () const
12394  {
12395  return this->species_;
12396  }
12397 
12399  species ()
12400  {
12401  return this->species_;
12402  }
12403 
12405  species (const species_sequence& s)
12406  {
12407  this->species_ = s;
12408  }
12409 
12410 
12411  // ReactionScheme
12412  //
12413 
12415  source () const
12416  {
12417  return this->source_.get ();
12418  }
12419 
12421  source ()
12422  {
12423  return this->source_.get ();
12424  }
12425 
12427  source (const source_type& x)
12428  {
12429  this->source_.set (x);
12430  }
12431 
12433  source (::std::unique_ptr< source_type > x)
12434  {
12435  this->source_.set (std::move (x));
12436  }
12437 
12439  type () const
12440  {
12441  return this->type_.get ();
12442  }
12443 
12445  type ()
12446  {
12447  return this->type_.get ();
12448  }
12449 
12451  type (const type_type& x)
12452  {
12453  this->type_.set (x);
12454  }
12455 
12457  type (::std::unique_ptr< type_type > x)
12458  {
12459  this->type_.set (std::move (x));
12460  }
12461 
12462 
12463  // PulseGenerator
12464  //
12465 
12467  delay () const
12468  {
12469  return this->delay_.get ();
12470  }
12471 
12473  delay ()
12474  {
12475  return this->delay_.get ();
12476  }
12477 
12479  delay (const delay_type& x)
12480  {
12481  this->delay_.set (x);
12482  }
12483 
12485  delay (::std::unique_ptr< delay_type > x)
12486  {
12487  this->delay_.set (std::move (x));
12488  }
12489 
12491  duration () const
12492  {
12493  return this->duration_.get ();
12494  }
12495 
12497  duration ()
12498  {
12499  return this->duration_.get ();
12500  }
12501 
12503  duration (const duration_type& x)
12504  {
12505  this->duration_.set (x);
12506  }
12507 
12509  duration (::std::unique_ptr< duration_type > x)
12510  {
12511  this->duration_.set (std::move (x));
12512  }
12513 
12515  amplitude () const
12516  {
12517  return this->amplitude_.get ();
12518  }
12519 
12521  amplitude ()
12522  {
12523  return this->amplitude_.get ();
12524  }
12525 
12527  amplitude (const amplitude_type& x)
12528  {
12529  this->amplitude_.set (x);
12530  }
12531 
12533  amplitude (::std::unique_ptr< amplitude_type > x)
12534  {
12535  this->amplitude_.set (std::move (x));
12536  }
12537 
12538 
12539  // PulseGeneratorDL
12540  //
12541 
12543  delay () const
12544  {
12545  return this->delay_.get ();
12546  }
12547 
12549  delay ()
12550  {
12551  return this->delay_.get ();
12552  }
12553 
12555  delay (const delay_type& x)
12556  {
12557  this->delay_.set (x);
12558  }
12559 
12561  delay (::std::unique_ptr< delay_type > x)
12562  {
12563  this->delay_.set (std::move (x));
12564  }
12565 
12567  duration () const
12568  {
12569  return this->duration_.get ();
12570  }
12571 
12573  duration ()
12574  {
12575  return this->duration_.get ();
12576  }
12577 
12579  duration (const duration_type& x)
12580  {
12581  this->duration_.set (x);
12582  }
12583 
12585  duration (::std::unique_ptr< duration_type > x)
12586  {
12587  this->duration_.set (std::move (x));
12588  }
12589 
12591  amplitude () const
12592  {
12593  return this->amplitude_.get ();
12594  }
12595 
12597  amplitude ()
12598  {
12599  return this->amplitude_.get ();
12600  }
12601 
12603  amplitude (const amplitude_type& x)
12604  {
12605  this->amplitude_.set (x);
12606  }
12607 
12609  amplitude (::std::unique_ptr< amplitude_type > x)
12610  {
12611  this->amplitude_.set (std::move (x));
12612  }
12613 
12614 
12615  // SineGenerator
12616  //
12617 
12619  delay () const
12620  {
12621  return this->delay_.get ();
12622  }
12623 
12625  delay ()
12626  {
12627  return this->delay_.get ();
12628  }
12629 
12631  delay (const delay_type& x)
12632  {
12633  this->delay_.set (x);
12634  }
12635 
12637  delay (::std::unique_ptr< delay_type > x)
12638  {
12639  this->delay_.set (std::move (x));
12640  }
12641 
12643  phase () const
12644  {
12645  return this->phase_.get ();
12646  }
12647 
12649  phase ()
12650  {
12651  return this->phase_.get ();
12652  }
12653 
12655  phase (const phase_type& x)
12656  {
12657  this->phase_.set (x);
12658  }
12659 
12661  phase (::std::unique_ptr< phase_type > x)
12662  {
12663  this->phase_.set (std::move (x));
12664  }
12665 
12667  duration () const
12668  {
12669  return this->duration_.get ();
12670  }
12671 
12673  duration ()
12674  {
12675  return this->duration_.get ();
12676  }
12677 
12679  duration (const duration_type& x)
12680  {
12681  this->duration_.set (x);
12682  }
12683 
12685  duration (::std::unique_ptr< duration_type > x)
12686  {
12687  this->duration_.set (std::move (x));
12688  }
12689 
12691  amplitude () const
12692  {
12693  return this->amplitude_.get ();
12694  }
12695 
12697  amplitude ()
12698  {
12699  return this->amplitude_.get ();
12700  }
12701 
12703  amplitude (const amplitude_type& x)
12704  {
12705  this->amplitude_.set (x);
12706  }
12707 
12709  amplitude (::std::unique_ptr< amplitude_type > x)
12710  {
12711  this->amplitude_.set (std::move (x));
12712  }
12713 
12715  period () const
12716  {
12717  return this->period_.get ();
12718  }
12719 
12721  period ()
12722  {
12723  return this->period_.get ();
12724  }
12725 
12727  period (const period_type& x)
12728  {
12729  this->period_.set (x);
12730  }
12731 
12733  period (::std::unique_ptr< period_type > x)
12734  {
12735  this->period_.set (std::move (x));
12736  }
12737 
12738 
12739  // SineGeneratorDL
12740  //
12741 
12743  delay () const
12744  {
12745  return this->delay_.get ();
12746  }
12747 
12749  delay ()
12750  {
12751  return this->delay_.get ();
12752  }
12753 
12755  delay (const delay_type& x)
12756  {
12757  this->delay_.set (x);
12758  }
12759 
12761  delay (::std::unique_ptr< delay_type > x)
12762  {
12763  this->delay_.set (std::move (x));
12764  }
12765 
12767  phase () const
12768  {
12769  return this->phase_.get ();
12770  }
12771 
12773  phase ()
12774  {
12775  return this->phase_.get ();
12776  }
12777 
12779  phase (const phase_type& x)
12780  {
12781  this->phase_.set (x);
12782  }
12783 
12785  phase (::std::unique_ptr< phase_type > x)
12786  {
12787  this->phase_.set (std::move (x));
12788  }
12789 
12791  duration () const
12792  {
12793  return this->duration_.get ();
12794  }
12795 
12797  duration ()
12798  {
12799  return this->duration_.get ();
12800  }
12801 
12803  duration (const duration_type& x)
12804  {
12805  this->duration_.set (x);
12806  }
12807 
12809  duration (::std::unique_ptr< duration_type > x)
12810  {
12811  this->duration_.set (std::move (x));
12812  }
12813 
12815  amplitude () const
12816  {
12817  return this->amplitude_.get ();
12818  }
12819 
12821  amplitude ()
12822  {
12823  return this->amplitude_.get ();
12824  }
12825 
12827  amplitude (const amplitude_type& x)
12828  {
12829  this->amplitude_.set (x);
12830  }
12831 
12833  amplitude (::std::unique_ptr< amplitude_type > x)
12834  {
12835  this->amplitude_.set (std::move (x));
12836  }
12837 
12839  period () const
12840  {
12841  return this->period_.get ();
12842  }
12843 
12845  period ()
12846  {
12847  return this->period_.get ();
12848  }
12849 
12851  period (const period_type& x)
12852  {
12853  this->period_.set (x);
12854  }
12855 
12857  period (::std::unique_ptr< period_type > x)
12858  {
12859  this->period_.set (std::move (x));
12860  }
12861 
12862 
12863  // RampGenerator
12864  //
12865 
12867  delay () const
12868  {
12869  return this->delay_.get ();
12870  }
12871 
12873  delay ()
12874  {
12875  return this->delay_.get ();
12876  }
12877 
12879  delay (const delay_type& x)
12880  {
12881  this->delay_.set (x);
12882  }
12883 
12885  delay (::std::unique_ptr< delay_type > x)
12886  {
12887  this->delay_.set (std::move (x));
12888  }
12889 
12891  duration () const
12892  {
12893  return this->duration_.get ();
12894  }
12895 
12897  duration ()
12898  {
12899  return this->duration_.get ();
12900  }
12901 
12903  duration (const duration_type& x)
12904  {
12905  this->duration_.set (x);
12906  }
12907 
12909  duration (::std::unique_ptr< duration_type > x)
12910  {
12911  this->duration_.set (std::move (x));
12912  }
12913 
12915  startAmplitude () const
12916  {
12917  return this->startAmplitude_.get ();
12918  }
12919 
12921  startAmplitude ()
12922  {
12923  return this->startAmplitude_.get ();
12924  }
12925 
12928  {
12929  this->startAmplitude_.set (x);
12930  }
12931 
12933  startAmplitude (::std::unique_ptr< startAmplitude_type > x)
12934  {
12935  this->startAmplitude_.set (std::move (x));
12936  }
12937 
12939  finishAmplitude () const
12940  {
12941  return this->finishAmplitude_.get ();
12942  }
12943 
12946  {
12947  return this->finishAmplitude_.get ();
12948  }
12949 
12952  {
12953  this->finishAmplitude_.set (x);
12954  }
12955 
12957  finishAmplitude (::std::unique_ptr< finishAmplitude_type > x)
12958  {
12959  this->finishAmplitude_.set (std::move (x));
12960  }
12961 
12963  baselineAmplitude () const
12964  {
12965  return this->baselineAmplitude_.get ();
12966  }
12967 
12970  {
12971  return this->baselineAmplitude_.get ();
12972  }
12973 
12976  {
12977  this->baselineAmplitude_.set (x);
12978  }
12979 
12981  baselineAmplitude (::std::unique_ptr< baselineAmplitude_type > x)
12982  {
12983  this->baselineAmplitude_.set (std::move (x));
12984  }
12985 
12986 
12987  // RampGeneratorDL
12988  //
12989 
12991  delay () const
12992  {
12993  return this->delay_.get ();
12994  }
12995 
12997  delay ()
12998  {
12999  return this->delay_.get ();
13000  }
13001 
13003  delay (const delay_type& x)
13004  {
13005  this->delay_.set (x);
13006  }
13007 
13009  delay (::std::unique_ptr< delay_type > x)
13010  {
13011  this->delay_.set (std::move (x));
13012  }
13013 
13015  duration () const
13016  {
13017  return this->duration_.get ();
13018  }
13019 
13021  duration ()
13022  {
13023  return this->duration_.get ();
13024  }
13025 
13027  duration (const duration_type& x)
13028  {
13029  this->duration_.set (x);
13030  }
13031 
13033  duration (::std::unique_ptr< duration_type > x)
13034  {
13035  this->duration_.set (std::move (x));
13036  }
13037 
13039  startAmplitude () const
13040  {
13041  return this->startAmplitude_.get ();
13042  }
13043 
13045  startAmplitude ()
13046  {
13047  return this->startAmplitude_.get ();
13048  }
13049 
13052  {
13053  this->startAmplitude_.set (x);
13054  }
13055 
13057  startAmplitude (::std::unique_ptr< startAmplitude_type > x)
13058  {
13059  this->startAmplitude_.set (std::move (x));
13060  }
13061 
13063  finishAmplitude () const
13064  {
13065  return this->finishAmplitude_.get ();
13066  }
13067 
13070  {
13071  return this->finishAmplitude_.get ();
13072  }
13073 
13076  {
13077  this->finishAmplitude_.set (x);
13078  }
13079 
13081  finishAmplitude (::std::unique_ptr< finishAmplitude_type > x)
13082  {
13083  this->finishAmplitude_.set (std::move (x));
13084  }
13085 
13087  baselineAmplitude () const
13088  {
13089  return this->baselineAmplitude_.get ();
13090  }
13091 
13094  {
13095  return this->baselineAmplitude_.get ();
13096  }
13097 
13100  {
13101  this->baselineAmplitude_.set (x);
13102  }
13103 
13105  baselineAmplitude (::std::unique_ptr< baselineAmplitude_type > x)
13106  {
13107  this->baselineAmplitude_.set (std::move (x));
13108  }
13109 
13110 
13111  // CompoundInput
13112  //
13113 
13115  pulseGenerator () const
13116  {
13117  return this->pulseGenerator_;
13118  }
13119 
13121  pulseGenerator ()
13122  {
13123  return this->pulseGenerator_;
13124  }
13125 
13128  {
13129  this->pulseGenerator_ = s;
13130  }
13131 
13133  sineGenerator () const
13134  {
13135  return this->sineGenerator_;
13136  }
13137 
13139  sineGenerator ()
13140  {
13141  return this->sineGenerator_;
13142  }
13143 
13146  {
13147  this->sineGenerator_ = s;
13148  }
13149 
13151  rampGenerator () const
13152  {
13153  return this->rampGenerator_;
13154  }
13155 
13157  rampGenerator ()
13158  {
13159  return this->rampGenerator_;
13160  }
13161 
13164  {
13165  this->rampGenerator_ = s;
13166  }
13167 
13168 
13169  // CompoundInputDL
13170  //
13171 
13173  pulseGeneratorDL () const
13174  {
13175  return this->pulseGeneratorDL_;
13176  }
13177 
13180  {
13181  return this->pulseGeneratorDL_;
13182  }
13183 
13186  {
13187  this->pulseGeneratorDL_ = s;
13188  }
13189 
13191  sineGeneratorDL () const
13192  {
13193  return this->sineGeneratorDL_;
13194  }
13195 
13198  {
13199  return this->sineGeneratorDL_;
13200  }
13201 
13204  {
13205  this->sineGeneratorDL_ = s;
13206  }
13207 
13209  rampGeneratorDL () const
13210  {
13211  return this->rampGeneratorDL_;
13212  }
13213 
13216  {
13217  return this->rampGeneratorDL_;
13218  }
13219 
13222  {
13223  this->rampGeneratorDL_ = s;
13224  }
13225 
13226 
13227  // VoltageClamp
13228  //
13229 
13231  delay () const
13232  {
13233  return this->delay_.get ();
13234  }
13235 
13237  delay ()
13238  {
13239  return this->delay_.get ();
13240  }
13241 
13243  delay (const delay_type& x)
13244  {
13245  this->delay_.set (x);
13246  }
13247 
13249  delay (::std::unique_ptr< delay_type > x)
13250  {
13251  this->delay_.set (std::move (x));
13252  }
13253 
13255  duration () const
13256  {
13257  return this->duration_.get ();
13258  }
13259 
13261  duration ()
13262  {
13263  return this->duration_.get ();
13264  }
13265 
13267  duration (const duration_type& x)
13268  {
13269  this->duration_.set (x);
13270  }
13271 
13273  duration (::std::unique_ptr< duration_type > x)
13274  {
13275  this->duration_.set (std::move (x));
13276  }
13277 
13279  targetVoltage () const
13280  {
13281  return this->targetVoltage_.get ();
13282  }
13283 
13285  targetVoltage ()
13286  {
13287  return this->targetVoltage_.get ();
13288  }
13289 
13292  {
13293  this->targetVoltage_.set (x);
13294  }
13295 
13297  targetVoltage (::std::unique_ptr< targetVoltage_type > x)
13298  {
13299  this->targetVoltage_.set (std::move (x));
13300  }
13301 
13303  simpleSeriesResistance () const
13304  {
13305  return this->simpleSeriesResistance_.get ();
13306  }
13307 
13310  {
13311  return this->simpleSeriesResistance_.get ();
13312  }
13313 
13316  {
13317  this->simpleSeriesResistance_.set (x);
13318  }
13319 
13321  simpleSeriesResistance (::std::unique_ptr< simpleSeriesResistance_type > x)
13322  {
13323  this->simpleSeriesResistance_.set (std::move (x));
13324  }
13325 
13326 
13327  // VoltageClampTriple
13328  //
13329 
13331  active () const
13332  {
13333  return this->active_.get ();
13334  }
13335 
13337  active ()
13338  {
13339  return this->active_.get ();
13340  }
13341 
13343  active (const active_type& x)
13344  {
13345  this->active_.set (x);
13346  }
13347 
13349  active (::std::unique_ptr< active_type > x)
13350  {
13351  this->active_.set (std::move (x));
13352  }
13353 
13355  delay () const
13356  {
13357  return this->delay_.get ();
13358  }
13359 
13361  delay ()
13362  {
13363  return this->delay_.get ();
13364  }
13365 
13367  delay (const delay_type& x)
13368  {
13369  this->delay_.set (x);
13370  }
13371 
13373  delay (::std::unique_ptr< delay_type > x)
13374  {
13375  this->delay_.set (std::move (x));
13376  }
13377 
13379  duration () const
13380  {
13381  return this->duration_.get ();
13382  }
13383 
13385  duration ()
13386  {
13387  return this->duration_.get ();
13388  }
13389 
13391  duration (const duration_type& x)
13392  {
13393  this->duration_.set (x);
13394  }
13395 
13397  duration (::std::unique_ptr< duration_type > x)
13398  {
13399  this->duration_.set (std::move (x));
13400  }
13401 
13403  conditioningVoltage () const
13404  {
13405  return this->conditioningVoltage_.get ();
13406  }
13407 
13410  {
13411  return this->conditioningVoltage_.get ();
13412  }
13413 
13416  {
13417  this->conditioningVoltage_.set (x);
13418  }
13419 
13421  conditioningVoltage (::std::unique_ptr< conditioningVoltage_type > x)
13422  {
13423  this->conditioningVoltage_.set (std::move (x));
13424  }
13425 
13427  testingVoltage () const
13428  {
13429  return this->testingVoltage_.get ();
13430  }
13431 
13433  testingVoltage ()
13434  {
13435  return this->testingVoltage_.get ();
13436  }
13437 
13440  {
13441  this->testingVoltage_.set (x);
13442  }
13443 
13445  testingVoltage (::std::unique_ptr< testingVoltage_type > x)
13446  {
13447  this->testingVoltage_.set (std::move (x));
13448  }
13449 
13451  returnVoltage () const
13452  {
13453  return this->returnVoltage_.get ();
13454  }
13455 
13457  returnVoltage ()
13458  {
13459  return this->returnVoltage_.get ();
13460  }
13461 
13464  {
13465  this->returnVoltage_.set (x);
13466  }
13467 
13469  returnVoltage (::std::unique_ptr< returnVoltage_type > x)
13470  {
13471  this->returnVoltage_.set (std::move (x));
13472  }
13473 
13475  simpleSeriesResistance () const
13476  {
13477  return this->simpleSeriesResistance_.get ();
13478  }
13479 
13482  {
13483  return this->simpleSeriesResistance_.get ();
13484  }
13485 
13488  {
13489  this->simpleSeriesResistance_.set (x);
13490  }
13491 
13493  simpleSeriesResistance (::std::unique_ptr< simpleSeriesResistance_type > x)
13494  {
13495  this->simpleSeriesResistance_.set (std::move (x));
13496  }
13497 
13498 
13499  // Spike
13500  //
13501 
13503  time () const
13504  {
13505  return this->time_.get ();
13506  }
13507 
13509  time ()
13510  {
13511  return this->time_.get ();
13512  }
13513 
13514  void Spike::
13515  time (const time_type& x)
13516  {
13517  this->time_.set (x);
13518  }
13519 
13520  void Spike::
13521  time (::std::unique_ptr< time_type > x)
13522  {
13523  this->time_.set (std::move (x));
13524  }
13525 
13526 
13527  // SpikeArray
13528  //
13529 
13531  spike () const
13532  {
13533  return this->spike_;
13534  }
13535 
13537  spike ()
13538  {
13539  return this->spike_;
13540  }
13541 
13543  spike (const spike_sequence& s)
13544  {
13545  this->spike_ = s;
13546  }
13547 
13548 
13549  // TimedSynapticInput
13550  //
13551 
13553  spike () const
13554  {
13555  return this->spike_;
13556  }
13557 
13559  spike ()
13560  {
13561  return this->spike_;
13562  }
13563 
13565  spike (const spike_sequence& s)
13566  {
13567  this->spike_ = s;
13568  }
13569 
13571  synapse () const
13572  {
13573  return this->synapse_.get ();
13574  }
13575 
13577  synapse ()
13578  {
13579  return this->synapse_.get ();
13580  }
13581 
13583  synapse (const synapse_type& x)
13584  {
13585  this->synapse_.set (x);
13586  }
13587 
13589  synapse (::std::unique_ptr< synapse_type > x)
13590  {
13591  this->synapse_.set (std::move (x));
13592  }
13593 
13595  spikeTarget () const
13596  {
13597  return this->spikeTarget_.get ();
13598  }
13599 
13601  spikeTarget ()
13602  {
13603  return this->spikeTarget_.get ();
13604  }
13605 
13607  spikeTarget (const spikeTarget_type& x)
13608  {
13609  this->spikeTarget_.set (x);
13610  }
13611 
13613  spikeTarget (::std::unique_ptr< spikeTarget_type > x)
13614  {
13615  this->spikeTarget_.set (std::move (x));
13616  }
13617 
13618 
13619  // SpikeGenerator
13620  //
13621 
13623  period () const
13624  {
13625  return this->period_.get ();
13626  }
13627 
13629  period ()
13630  {
13631  return this->period_.get ();
13632  }
13633 
13635  period (const period_type& x)
13636  {
13637  this->period_.set (x);
13638  }
13639 
13641  period (::std::unique_ptr< period_type > x)
13642  {
13643  this->period_.set (std::move (x));
13644  }
13645 
13646 
13647  // SpikeGeneratorRandom
13648  //
13649 
13651  maxISI () const
13652  {
13653  return this->maxISI_.get ();
13654  }
13655 
13657  maxISI ()
13658  {
13659  return this->maxISI_.get ();
13660  }
13661 
13663  maxISI (const maxISI_type& x)
13664  {
13665  this->maxISI_.set (x);
13666  }
13667 
13669  maxISI (::std::unique_ptr< maxISI_type > x)
13670  {
13671  this->maxISI_.set (std::move (x));
13672  }
13673 
13675  minISI () const
13676  {
13677  return this->minISI_.get ();
13678  }
13679 
13681  minISI ()
13682  {
13683  return this->minISI_.get ();
13684  }
13685 
13687  minISI (const minISI_type& x)
13688  {
13689  this->minISI_.set (x);
13690  }
13691 
13693  minISI (::std::unique_ptr< minISI_type > x)
13694  {
13695  this->minISI_.set (std::move (x));
13696  }
13697 
13698 
13699  // SpikeGeneratorPoisson
13700  //
13701 
13703  averageRate () const
13704  {
13705  return this->averageRate_.get ();
13706  }
13707 
13709  averageRate ()
13710  {
13711  return this->averageRate_.get ();
13712  }
13713 
13715  averageRate (const averageRate_type& x)
13716  {
13717  this->averageRate_.set (x);
13718  }
13719 
13721  averageRate (::std::unique_ptr< averageRate_type > x)
13722  {
13723  this->averageRate_.set (std::move (x));
13724  }
13725 
13726 
13727  // SpikeGeneratorRefPoisson
13728  //
13729 
13731  minimumISI () const
13732  {
13733  return this->minimumISI_.get ();
13734  }
13735 
13737  minimumISI ()
13738  {
13739  return this->minimumISI_.get ();
13740  }
13741 
13743  minimumISI (const minimumISI_type& x)
13744  {
13745  this->minimumISI_.set (x);
13746  }
13747 
13749  minimumISI (::std::unique_ptr< minimumISI_type > x)
13750  {
13751  this->minimumISI_.set (std::move (x));
13752  }
13753 
13754 
13755  // PoissonFiringSynapse
13756  //
13757 
13759  averageRate () const
13760  {
13761  return this->averageRate_.get ();
13762  }
13763 
13765  averageRate ()
13766  {
13767  return this->averageRate_.get ();
13768  }
13769 
13771  averageRate (const averageRate_type& x)
13772  {
13773  this->averageRate_.set (x);
13774  }
13775 
13777  averageRate (::std::unique_ptr< averageRate_type > x)
13778  {
13779  this->averageRate_.set (std::move (x));
13780  }
13781 
13783  synapse () const
13784  {
13785  return this->synapse_.get ();
13786  }
13787 
13789  synapse ()
13790  {
13791  return this->synapse_.get ();
13792  }
13793 
13795  synapse (const synapse_type& x)
13796  {
13797  this->synapse_.set (x);
13798  }
13799 
13801  synapse (::std::unique_ptr< synapse_type > x)
13802  {
13803  this->synapse_.set (std::move (x));
13804  }
13805 
13807  spikeTarget () const
13808  {
13809  return this->spikeTarget_.get ();
13810  }
13811 
13813  spikeTarget ()
13814  {
13815  return this->spikeTarget_.get ();
13816  }
13817 
13819  spikeTarget (const spikeTarget_type& x)
13820  {
13821  this->spikeTarget_.set (x);
13822  }
13823 
13825  spikeTarget (::std::unique_ptr< spikeTarget_type > x)
13826  {
13827  this->spikeTarget_.set (std::move (x));
13828  }
13829 
13830 
13831  // TransientPoissonFiringSynapse
13832  //
13833 
13835  averageRate () const
13836  {
13837  return this->averageRate_.get ();
13838  }
13839 
13841  averageRate ()
13842  {
13843  return this->averageRate_.get ();
13844  }
13845 
13847  averageRate (const averageRate_type& x)
13848  {
13849  this->averageRate_.set (x);
13850  }
13851 
13853  averageRate (::std::unique_ptr< averageRate_type > x)
13854  {
13855  this->averageRate_.set (std::move (x));
13856  }
13857 
13859  delay () const
13860  {
13861  return this->delay_.get ();
13862  }
13863 
13865  delay ()
13866  {
13867  return this->delay_.get ();
13868  }
13869 
13871  delay (const delay_type& x)
13872  {
13873  this->delay_.set (x);
13874  }
13875 
13877  delay (::std::unique_ptr< delay_type > x)
13878  {
13879  this->delay_.set (std::move (x));
13880  }
13881 
13883  duration () const
13884  {
13885  return this->duration_.get ();
13886  }
13887 
13889  duration ()
13890  {
13891  return this->duration_.get ();
13892  }
13893 
13895  duration (const duration_type& x)
13896  {
13897  this->duration_.set (x);
13898  }
13899 
13901  duration (::std::unique_ptr< duration_type > x)
13902  {
13903  this->duration_.set (std::move (x));
13904  }
13905 
13907  synapse () const
13908  {
13909  return this->synapse_.get ();
13910  }
13911 
13913  synapse ()
13914  {
13915  return this->synapse_.get ();
13916  }
13917 
13919  synapse (const synapse_type& x)
13920  {
13921  this->synapse_.set (x);
13922  }
13923 
13925  synapse (::std::unique_ptr< synapse_type > x)
13926  {
13927  this->synapse_.set (std::move (x));
13928  }
13929 
13931  spikeTarget () const
13932  {
13933  return this->spikeTarget_.get ();
13934  }
13935 
13937  spikeTarget ()
13938  {
13939  return this->spikeTarget_.get ();
13940  }
13941 
13943  spikeTarget (const spikeTarget_type& x)
13944  {
13945  this->spikeTarget_.set (x);
13946  }
13947 
13949  spikeTarget (::std::unique_ptr< spikeTarget_type > x)
13950  {
13951  this->spikeTarget_.set (std::move (x));
13952  }
13953 
13954 
13955  // Network
13956  //
13957 
13959  space () const
13960  {
13961  return this->space_;
13962  }
13963 
13965  space ()
13966  {
13967  return this->space_;
13968  }
13969 
13971  space (const space_sequence& s)
13972  {
13973  this->space_ = s;
13974  }
13975 
13977  region () const
13978  {
13979  return this->region_;
13980  }
13981 
13983  region ()
13984  {
13985  return this->region_;
13986  }
13987 
13989  region (const region_sequence& s)
13990  {
13991  this->region_ = s;
13992  }
13993 
13995  extracellularProperties () const
13996  {
13997  return this->extracellularProperties_;
13998  }
13999 
14002  {
14003  return this->extracellularProperties_;
14004  }
14005 
14008  {
14009  this->extracellularProperties_ = s;
14010  }
14011 
14013  population () const
14014  {
14015  return this->population_;
14016  }
14017 
14019  population ()
14020  {
14021  return this->population_;
14022  }
14023 
14026  {
14027  this->population_ = s;
14028  }
14029 
14031  cellSet () const
14032  {
14033  return this->cellSet_;
14034  }
14035 
14037  cellSet ()
14038  {
14039  return this->cellSet_;
14040  }
14041 
14043  cellSet (const cellSet_sequence& s)
14044  {
14045  this->cellSet_ = s;
14046  }
14047 
14049  synapticConnection () const
14050  {
14051  return this->synapticConnection_;
14052  }
14053 
14056  {
14057  return this->synapticConnection_;
14058  }
14059 
14062  {
14063  this->synapticConnection_ = s;
14064  }
14065 
14067  projection () const
14068  {
14069  return this->projection_;
14070  }
14071 
14073  projection ()
14074  {
14075  return this->projection_;
14076  }
14077 
14080  {
14081  this->projection_ = s;
14082  }
14083 
14085  electricalProjection () const
14086  {
14087  return this->electricalProjection_;
14088  }
14089 
14092  {
14093  return this->electricalProjection_;
14094  }
14095 
14098  {
14099  this->electricalProjection_ = s;
14100  }
14101 
14103  continuousProjection () const
14104  {
14105  return this->continuousProjection_;
14106  }
14107 
14110  {
14111  return this->continuousProjection_;
14112  }
14113 
14116  {
14117  this->continuousProjection_ = s;
14118  }
14119 
14121  explicitInput () const
14122  {
14123  return this->explicitInput_;
14124  }
14125 
14127  explicitInput ()
14128  {
14129  return this->explicitInput_;
14130  }
14131 
14134  {
14135  this->explicitInput_ = s;
14136  }
14137 
14139  inputList () const
14140  {
14141  return this->inputList_;
14142  }
14143 
14145  inputList ()
14146  {
14147  return this->inputList_;
14148  }
14149 
14151  inputList (const inputList_sequence& s)
14152  {
14153  this->inputList_ = s;
14154  }
14155 
14157  type () const
14158  {
14159  return this->type_;
14160  }
14161 
14163  type ()
14164  {
14165  return this->type_;
14166  }
14167 
14169  type (const type_type& x)
14170  {
14171  this->type_.set (x);
14172  }
14173 
14175  type (const type_optional& x)
14176  {
14177  this->type_ = x;
14178  }
14179 
14181  type (::std::unique_ptr< type_type > x)
14182  {
14183  this->type_.set (std::move (x));
14184  }
14185 
14187  temperature () const
14188  {
14189  return this->temperature_;
14190  }
14191 
14193  temperature ()
14194  {
14195  return this->temperature_;
14196  }
14197 
14199  temperature (const temperature_type& x)
14200  {
14201  this->temperature_.set (x);
14202  }
14203 
14206  {
14207  this->temperature_ = x;
14208  }
14209 
14211  temperature (::std::unique_ptr< temperature_type > x)
14212  {
14213  this->temperature_.set (std::move (x));
14214  }
14215 
14217  neuroLexId () const
14218  {
14219  return this->neuroLexId_;
14220  }
14221 
14223  neuroLexId ()
14224  {
14225  return this->neuroLexId_;
14226  }
14227 
14229  neuroLexId (const neuroLexId_type& x)
14230  {
14231  this->neuroLexId_.set (x);
14232  }
14233 
14236  {
14237  this->neuroLexId_ = x;
14238  }
14239 
14241  neuroLexId (::std::unique_ptr< neuroLexId_type > x)
14242  {
14243  this->neuroLexId_.set (std::move (x));
14244  }
14245 
14246 
14247  // networkTypes
14248  //
14249 
14251  networkTypes (value v)
14252  : ::xml_schema::string (_xsd_networkTypes_literals_[v])
14253  {
14254  }
14255 
14257  networkTypes (const char* v)
14258  : ::xml_schema::string (v)
14259  {
14260  }
14261 
14264  : ::xml_schema::string (v)
14265  {
14266  }
14267 
14270  : ::xml_schema::string (v)
14271  {
14272  }
14273 
14275  networkTypes (const networkTypes& v,
14276  ::xml_schema::flags f,
14277  ::xml_schema::container* c)
14278  : ::xml_schema::string (v, f, c)
14279  {
14280  }
14281 
14283  operator= (value v)
14284  {
14285  static_cast< ::xml_schema::string& > (*this) =
14286  ::xml_schema::string (_xsd_networkTypes_literals_[v]);
14287 
14288  return *this;
14289  }
14290 
14291 
14292  // Space
14293  //
14294 
14296  structure () const
14297  {
14298  return this->structure_;
14299  }
14300 
14302  structure ()
14303  {
14304  return this->structure_;
14305  }
14306 
14307  void Space::
14308  structure (const structure_type& x)
14309  {
14310  this->structure_.set (x);
14311  }
14312 
14313  void Space::
14314  structure (const structure_optional& x)
14315  {
14316  this->structure_ = x;
14317  }
14318 
14319  void Space::
14320  structure (::std::unique_ptr< structure_type > x)
14321  {
14322  this->structure_.set (std::move (x));
14323  }
14324 
14326  basedOn () const
14327  {
14328  return this->basedOn_;
14329  }
14330 
14332  basedOn ()
14333  {
14334  return this->basedOn_;
14335  }
14336 
14337  void Space::
14338  basedOn (const basedOn_type& x)
14339  {
14340  this->basedOn_.set (x);
14341  }
14342 
14343  void Space::
14344  basedOn (const basedOn_optional& x)
14345  {
14346  this->basedOn_ = x;
14347  }
14348 
14349  void Space::
14350  basedOn (::std::unique_ptr< basedOn_type > x)
14351  {
14352  this->basedOn_.set (std::move (x));
14353  }
14354 
14355 
14356  // SpaceStructure
14357  //
14358 
14360  xSpacing () const
14361  {
14362  return this->xSpacing_;
14363  }
14364 
14366  xSpacing ()
14367  {
14368  return this->xSpacing_;
14369  }
14370 
14372  xSpacing (const xSpacing_type& x)
14373  {
14374  this->xSpacing_.set (x);
14375  }
14376 
14378  xSpacing (const xSpacing_optional& x)
14379  {
14380  this->xSpacing_ = x;
14381  }
14382 
14384  ySpacing () const
14385  {
14386  return this->ySpacing_;
14387  }
14388 
14390  ySpacing ()
14391  {
14392  return this->ySpacing_;
14393  }
14394 
14396  ySpacing (const ySpacing_type& x)
14397  {
14398  this->ySpacing_.set (x);
14399  }
14400 
14402  ySpacing (const ySpacing_optional& x)
14403  {
14404  this->ySpacing_ = x;
14405  }
14406 
14408  zSpacing () const
14409  {
14410  return this->zSpacing_;
14411  }
14412 
14414  zSpacing ()
14415  {
14416  return this->zSpacing_;
14417  }
14418 
14420  zSpacing (const zSpacing_type& x)
14421  {
14422  this->zSpacing_.set (x);
14423  }
14424 
14426  zSpacing (const zSpacing_optional& x)
14427  {
14428  this->zSpacing_ = x;
14429  }
14430 
14432  xStart () const
14433  {
14434  return this->xStart_.get ();
14435  }
14436 
14438  xStart ()
14439  {
14440  return this->xStart_.get ();
14441  }
14442 
14444  xStart (const xStart_type& x)
14445  {
14446  this->xStart_.set (x);
14447  }
14448 
14451  {
14452  return xStart_type (0.0F);
14453  }
14454 
14456  yStart () const
14457  {
14458  return this->yStart_.get ();
14459  }
14460 
14462  yStart ()
14463  {
14464  return this->yStart_.get ();
14465  }
14466 
14468  yStart (const yStart_type& x)
14469  {
14470  this->yStart_.set (x);
14471  }
14472 
14475  {
14476  return yStart_type (0.0F);
14477  }
14478 
14480  zStart () const
14481  {
14482  return this->zStart_.get ();
14483  }
14484 
14486  zStart ()
14487  {
14488  return this->zStart_.get ();
14489  }
14490 
14492  zStart (const zStart_type& x)
14493  {
14494  this->zStart_.set (x);
14495  }
14496 
14499  {
14500  return zStart_type (0.0F);
14501  }
14502 
14503 
14504  // allowedSpaces
14505  //
14506 
14509  : ::xml_schema::string (_xsd_allowedSpaces_literals_[v])
14510  {
14511  }
14512 
14514  allowedSpaces (const char* v)
14515  : ::xml_schema::string (v)
14516  {
14517  }
14518 
14521  : ::xml_schema::string (v)
14522  {
14523  }
14524 
14527  : ::xml_schema::string (v)
14528  {
14529  }
14530 
14532  allowedSpaces (const allowedSpaces& v,
14533  ::xml_schema::flags f,
14534  ::xml_schema::container* c)
14535  : ::xml_schema::string (v, f, c)
14536  {
14537  }
14538 
14540  operator= (value v)
14541  {
14542  static_cast< ::xml_schema::string& > (*this) =
14543  ::xml_schema::string (_xsd_allowedSpaces_literals_[v]);
14544 
14545  return *this;
14546  }
14547 
14548 
14549  // Region
14550  //
14551 
14553  space () const
14554  {
14555  return this->space_;
14556  }
14557 
14559  space ()
14560  {
14561  return this->space_;
14562  }
14563 
14565  space (const space_type& x)
14566  {
14567  this->space_.set (x);
14568  }
14569 
14571  space (const space_optional& x)
14572  {
14573  this->space_ = x;
14574  }
14575 
14577  space (::std::unique_ptr< space_type > x)
14578  {
14579  this->space_.set (std::move (x));
14580  }
14581 
14582 
14583  // Population
14584  //
14585 
14587  layout () const
14588  {
14589  return this->layout_;
14590  }
14591 
14593  layout ()
14594  {
14595  return this->layout_;
14596  }
14597 
14599  layout (const layout_type& x)
14600  {
14601  this->layout_.set (x);
14602  }
14603 
14605  layout (const layout_optional& x)
14606  {
14607  this->layout_ = x;
14608  }
14609 
14611  layout (::std::unique_ptr< layout_type > x)
14612  {
14613  this->layout_.set (std::move (x));
14614  }
14615 
14617  instance () const
14618  {
14619  return this->instance_;
14620  }
14621 
14623  instance ()
14624  {
14625  return this->instance_;
14626  }
14627 
14629  instance (const instance_sequence& s)
14630  {
14631  this->instance_ = s;
14632  }
14633 
14635  component () const
14636  {
14637  return this->component_.get ();
14638  }
14639 
14641  component ()
14642  {
14643  return this->component_.get ();
14644  }
14645 
14647  component (const component_type& x)
14648  {
14649  this->component_.set (x);
14650  }
14651 
14653  component (::std::unique_ptr< component_type > x)
14654  {
14655  this->component_.set (std::move (x));
14656  }
14657 
14659  size () const
14660  {
14661  return this->size_;
14662  }
14663 
14665  size ()
14666  {
14667  return this->size_;
14668  }
14669 
14671  size (const size_type& x)
14672  {
14673  this->size_.set (x);
14674  }
14675 
14677  size (const size_optional& x)
14678  {
14679  this->size_ = x;
14680  }
14681 
14683  size (::std::unique_ptr< size_type > x)
14684  {
14685  this->size_.set (std::move (x));
14686  }
14687 
14689  type () const
14690  {
14691  return this->type_;
14692  }
14693 
14695  type ()
14696  {
14697  return this->type_;
14698  }
14699 
14701  type (const type_type& x)
14702  {
14703  this->type_.set (x);
14704  }
14705 
14707  type (const type_optional& x)
14708  {
14709  this->type_ = x;
14710  }
14711 
14713  type (::std::unique_ptr< type_type > x)
14714  {
14715  this->type_.set (std::move (x));
14716  }
14717 
14719  extracellularProperties () const
14720  {
14721  return this->extracellularProperties_;
14722  }
14723 
14726  {
14727  return this->extracellularProperties_;
14728  }
14729 
14732  {
14733  this->extracellularProperties_.set (x);
14734  }
14735 
14738  {
14739  this->extracellularProperties_ = x;
14740  }
14741 
14743  extracellularProperties (::std::unique_ptr< extracellularProperties_type > x)
14744  {
14745  this->extracellularProperties_.set (std::move (x));
14746  }
14747 
14749  neuroLexId () const
14750  {
14751  return this->neuroLexId_;
14752  }
14753 
14755  neuroLexId ()
14756  {
14757  return this->neuroLexId_;
14758  }
14759 
14761  neuroLexId (const neuroLexId_type& x)
14762  {
14763  this->neuroLexId_.set (x);
14764  }
14765 
14768  {
14769  this->neuroLexId_ = x;
14770  }
14771 
14773  neuroLexId (::std::unique_ptr< neuroLexId_type > x)
14774  {
14775  this->neuroLexId_.set (std::move (x));
14776  }
14777 
14778 
14779  // populationTypes
14780  //
14781 
14784  : ::xml_schema::string (_xsd_populationTypes_literals_[v])
14785  {
14786  }
14787 
14789  populationTypes (const char* v)
14790  : ::xml_schema::string (v)
14791  {
14792  }
14793 
14796  : ::xml_schema::string (v)
14797  {
14798  }
14799 
14802  : ::xml_schema::string (v)
14803  {
14804  }
14805 
14808  ::xml_schema::flags f,
14809  ::xml_schema::container* c)
14810  : ::xml_schema::string (v, f, c)
14811  {
14812  }
14813 
14815  operator= (value v)
14816  {
14817  static_cast< ::xml_schema::string& > (*this) =
14818  ::xml_schema::string (_xsd_populationTypes_literals_[v]);
14819 
14820  return *this;
14821  }
14822 
14823 
14824  // Layout
14825  //
14826 
14828  random () const
14829  {
14830  return this->random_;
14831  }
14832 
14834  random ()
14835  {
14836  return this->random_;
14837  }
14838 
14840  random (const random_type& x)
14841  {
14842  this->random_.set (x);
14843  }
14844 
14846  random (const random_optional& x)
14847  {
14848  this->random_ = x;
14849  }
14850 
14852  random (::std::unique_ptr< random_type > x)
14853  {
14854  this->random_.set (std::move (x));
14855  }
14856 
14858  grid () const
14859  {
14860  return this->grid_;
14861  }
14862 
14864  grid ()
14865  {
14866  return this->grid_;
14867  }
14868 
14870  grid (const grid_type& x)
14871  {
14872  this->grid_.set (x);
14873  }
14874 
14876  grid (const grid_optional& x)
14877  {
14878  this->grid_ = x;
14879  }
14880 
14882  grid (::std::unique_ptr< grid_type > x)
14883  {
14884  this->grid_.set (std::move (x));
14885  }
14886 
14888  unstructured () const
14889  {
14890  return this->unstructured_;
14891  }
14892 
14894  unstructured ()
14895  {
14896  return this->unstructured_;
14897  }
14898 
14901  {
14902  this->unstructured_.set (x);
14903  }
14904 
14907  {
14908  this->unstructured_ = x;
14909  }
14910 
14912  unstructured (::std::unique_ptr< unstructured_type > x)
14913  {
14914  this->unstructured_.set (std::move (x));
14915  }
14916 
14918  space () const
14919  {
14920  return this->space_;
14921  }
14922 
14924  space ()
14925  {
14926  return this->space_;
14927  }
14928 
14930  space (const space_type& x)
14931  {
14932  this->space_.set (x);
14933  }
14934 
14936  space (const space_optional& x)
14937  {
14938  this->space_ = x;
14939  }
14940 
14942  space (::std::unique_ptr< space_type > x)
14943  {
14944  this->space_.set (std::move (x));
14945  }
14946 
14947 
14948  // UnstructuredLayout
14949  //
14950 
14952  number () const
14953  {
14954  return this->number_;
14955  }
14956 
14958  number ()
14959  {
14960  return this->number_;
14961  }
14962 
14964  number (const number_type& x)
14965  {
14966  this->number_.set (x);
14967  }
14968 
14970  number (const number_optional& x)
14971  {
14972  this->number_ = x;
14973  }
14974 
14975 
14976  // RandomLayout
14977  //
14978 
14980  number () const
14981  {
14982  return this->number_;
14983  }
14984 
14986  number ()
14987  {
14988  return this->number_;
14989  }
14990 
14992  number (const number_type& x)
14993  {
14994  this->number_.set (x);
14995  }
14996 
14998  number (const number_optional& x)
14999  {
15000  this->number_ = x;
15001  }
15002 
15004  region () const
15005  {
15006  return this->region_;
15007  }
15008 
15010  region ()
15011  {
15012  return this->region_;
15013  }
15014 
15016  region (const region_type& x)
15017  {
15018  this->region_.set (x);
15019  }
15020 
15022  region (const region_optional& x)
15023  {
15024  this->region_ = x;
15025  }
15026 
15028  region (::std::unique_ptr< region_type > x)
15029  {
15030  this->region_.set (std::move (x));
15031  }
15032 
15033 
15034  // GridLayout
15035  //
15036 
15038  xSize () const
15039  {
15040  return this->xSize_;
15041  }
15042 
15044  xSize ()
15045  {
15046  return this->xSize_;
15047  }
15048 
15050  xSize (const xSize_type& x)
15051  {
15052  this->xSize_.set (x);
15053  }
15054 
15056  xSize (const xSize_optional& x)
15057  {
15058  this->xSize_ = x;
15059  }
15060 
15062  ySize () const
15063  {
15064  return this->ySize_;
15065  }
15066 
15068  ySize ()
15069  {
15070  return this->ySize_;
15071  }
15072 
15074  ySize (const ySize_type& x)
15075  {
15076  this->ySize_.set (x);
15077  }
15078 
15080  ySize (const ySize_optional& x)
15081  {
15082  this->ySize_ = x;
15083  }
15084 
15086  zSize () const
15087  {
15088  return this->zSize_;
15089  }
15090 
15092  zSize ()
15093  {
15094  return this->zSize_;
15095  }
15096 
15098  zSize (const zSize_type& x)
15099  {
15100  this->zSize_.set (x);
15101  }
15102 
15104  zSize (const zSize_optional& x)
15105  {
15106  this->zSize_ = x;
15107  }
15108 
15109 
15110  // Instance
15111  //
15112 
15114  location () const
15115  {
15116  return this->location_.get ();
15117  }
15118 
15120  location ()
15121  {
15122  return this->location_.get ();
15123  }
15124 
15126  location (const location_type& x)
15127  {
15128  this->location_.set (x);
15129  }
15130 
15132  location (::std::unique_ptr< location_type > x)
15133  {
15134  this->location_.set (std::move (x));
15135  }
15136 
15138  id () const
15139  {
15140  return this->id_;
15141  }
15142 
15144  id ()
15145  {
15146  return this->id_;
15147  }
15148 
15150  id (const id_type& x)
15151  {
15152  this->id_.set (x);
15153  }
15154 
15156  id (const id_optional& x)
15157  {
15158  this->id_ = x;
15159  }
15160 
15162  i () const
15163  {
15164  return this->i_;
15165  }
15166 
15168  i ()
15169  {
15170  return this->i_;
15171  }
15172 
15174  i (const i_type& x)
15175  {
15176  this->i_.set (x);
15177  }
15178 
15180  i (const i_optional& x)
15181  {
15182  this->i_ = x;
15183  }
15184 
15186  j () const
15187  {
15188  return this->j_;
15189  }
15190 
15192  j ()
15193  {
15194  return this->j_;
15195  }
15196 
15198  j (const j_type& x)
15199  {
15200  this->j_.set (x);
15201  }
15202 
15204  j (const j_optional& x)
15205  {
15206  this->j_ = x;
15207  }
15208 
15210  k () const
15211  {
15212  return this->k_;
15213  }
15214 
15216  k ()
15217  {
15218  return this->k_;
15219  }
15220 
15222  k (const k_type& x)
15223  {
15224  this->k_.set (x);
15225  }
15226 
15228  k (const k_optional& x)
15229  {
15230  this->k_ = x;
15231  }
15232 
15233 
15234  // Location
15235  //
15236 
15238  x () const
15239  {
15240  return this->x_.get ();
15241  }
15242 
15244  x ()
15245  {
15246  return this->x_.get ();
15247  }
15248 
15250  x (const x_type& x)
15251  {
15252  this->x_.set (x);
15253  }
15254 
15256  y () const
15257  {
15258  return this->y_.get ();
15259  }
15260 
15262  y ()
15263  {
15264  return this->y_.get ();
15265  }
15266 
15268  y (const y_type& x)
15269  {
15270  this->y_.set (x);
15271  }
15272 
15274  z () const
15275  {
15276  return this->z_.get ();
15277  }
15278 
15280  z ()
15281  {
15282  return this->z_.get ();
15283  }
15284 
15286  z (const z_type& x)
15287  {
15288  this->z_.set (x);
15289  }
15290 
15291 
15292  // CellSet
15293  //
15294 
15296  select () const
15297  {
15298  return this->select_.get ();
15299  }
15300 
15302  select ()
15303  {
15304  return this->select_.get ();
15305  }
15306 
15308  select (const select_type& x)
15309  {
15310  this->select_.set (x);
15311  }
15312 
15314  select (::std::unique_ptr< select_type > x)
15315  {
15316  this->select_.set (std::move (x));
15317  }
15318 
15319 
15320  // SynapticConnection
15321  //
15322 
15324  neuroLexId () const
15325  {
15326  return this->neuroLexId_;
15327  }
15328 
15330  neuroLexId ()
15331  {
15332  return this->neuroLexId_;
15333  }
15334 
15336  neuroLexId (const neuroLexId_type& x)
15337  {
15338  this->neuroLexId_.set (x);
15339  }
15340 
15343  {
15344  this->neuroLexId_ = x;
15345  }
15346 
15348  neuroLexId (::std::unique_ptr< neuroLexId_type > x)
15349  {
15350  this->neuroLexId_.set (std::move (x));
15351  }
15352 
15354  from () const
15355  {
15356  return this->from_.get ();
15357  }
15358 
15360  from ()
15361  {
15362  return this->from_.get ();
15363  }
15364 
15366  from (const from_type& x)
15367  {
15368  this->from_.set (x);
15369  }
15370 
15372  from (::std::unique_ptr< from_type > x)
15373  {
15374  this->from_.set (std::move (x));
15375  }
15376 
15378  to () const
15379  {
15380  return this->to_.get ();
15381  }
15382 
15384  to ()
15385  {
15386  return this->to_.get ();
15387  }
15388 
15390  to (const to_type& x)
15391  {
15392  this->to_.set (x);
15393  }
15394 
15396  to (::std::unique_ptr< to_type > x)
15397  {
15398  this->to_.set (std::move (x));
15399  }
15400 
15402  synapse () const
15403  {
15404  return this->synapse_.get ();
15405  }
15406 
15408  synapse ()
15409  {
15410  return this->synapse_.get ();
15411  }
15412 
15414  synapse (const synapse_type& x)
15415  {
15416  this->synapse_.set (x);
15417  }
15418 
15420  synapse (::std::unique_ptr< synapse_type > x)
15421  {
15422  this->synapse_.set (std::move (x));
15423  }
15424 
15426  destination () const
15427  {
15428  return this->destination_;
15429  }
15430 
15432  destination ()
15433  {
15434  return this->destination_;
15435  }
15436 
15438  destination (const destination_type& x)
15439  {
15440  this->destination_.set (x);
15441  }
15442 
15445  {
15446  this->destination_ = x;
15447  }
15448 
15450  destination (::std::unique_ptr< destination_type > x)
15451  {
15452  this->destination_.set (std::move (x));
15453  }
15454 
15455 
15456  // BaseProjection
15457  //
15458 
15460  presynapticPopulation () const
15461  {
15462  return this->presynapticPopulation_.get ();
15463  }
15464 
15467  {
15468  return this->presynapticPopulation_.get ();
15469  }
15470 
15473  {
15474  this->presynapticPopulation_.set (x);
15475  }
15476 
15478  presynapticPopulation (::std::unique_ptr< presynapticPopulation_type > x)
15479  {
15480  this->presynapticPopulation_.set (std::move (x));
15481  }
15482 
15484  postsynapticPopulation () const
15485  {
15486  return this->postsynapticPopulation_.get ();
15487  }
15488 
15491  {
15492  return this->postsynapticPopulation_.get ();
15493  }
15494 
15497  {
15498  this->postsynapticPopulation_.set (x);
15499  }
15500 
15502  postsynapticPopulation (::std::unique_ptr< postsynapticPopulation_type > x)
15503  {
15504  this->postsynapticPopulation_.set (std::move (x));
15505  }
15506 
15507 
15508  // Projection
15509  //
15510 
15512  connection () const
15513  {
15514  return this->connection_;
15515  }
15516 
15518  connection ()
15519  {
15520  return this->connection_;
15521  }
15522 
15525  {
15526  this->connection_ = s;
15527  }
15528 
15530  connectionWD () const
15531  {
15532  return this->connectionWD_;
15533  }
15534 
15536  connectionWD ()
15537  {
15538  return this->connectionWD_;
15539  }
15540 
15543  {
15544  this->connectionWD_ = s;
15545  }
15546 
15548  synapse () const
15549  {
15550  return this->synapse_.get ();
15551  }
15552 
15554  synapse ()
15555  {
15556  return this->synapse_.get ();
15557  }
15558 
15560  synapse (const synapse_type& x)
15561  {
15562  this->synapse_.set (x);
15563  }
15564 
15566  synapse (::std::unique_ptr< synapse_type > x)
15567  {
15568  this->synapse_.set (std::move (x));
15569  }
15570 
15571 
15572  // BaseConnection
15573  //
15574 
15576  neuroLexId () const
15577  {
15578  return this->neuroLexId_;
15579  }
15580 
15582  neuroLexId ()
15583  {
15584  return this->neuroLexId_;
15585  }
15586 
15588  neuroLexId (const neuroLexId_type& x)
15589  {
15590  this->neuroLexId_.set (x);
15591  }
15592 
15595  {
15596  this->neuroLexId_ = x;
15597  }
15598 
15600  neuroLexId (::std::unique_ptr< neuroLexId_type > x)
15601  {
15602  this->neuroLexId_.set (std::move (x));
15603  }
15604 
15605 
15606  // BaseConnectionOldFormat
15607  //
15608 
15610  preCellId () const
15611  {
15612  return this->preCellId_.get ();
15613  }
15614 
15616  preCellId ()
15617  {
15618  return this->preCellId_.get ();
15619  }
15620 
15622  preCellId (const preCellId_type& x)
15623  {
15624  this->preCellId_.set (x);
15625  }
15626 
15628  preCellId (::std::unique_ptr< preCellId_type > x)
15629  {
15630  this->preCellId_.set (std::move (x));
15631  }
15632 
15634  preSegmentId () const
15635  {
15636  return this->preSegmentId_.get ();
15637  }
15638 
15640  preSegmentId ()
15641  {
15642  return this->preSegmentId_.get ();
15643  }
15644 
15647  {
15648  this->preSegmentId_.set (x);
15649  }
15650 
15652  preSegmentId (::std::unique_ptr< preSegmentId_type > x)
15653  {
15654  this->preSegmentId_.set (std::move (x));
15655  }
15656 
15659  {
15660  return preSegmentId_type (0ULL);
15661  }
15662 
15664  preFractionAlong () const
15665  {
15666  return this->preFractionAlong_.get ();
15667  }
15668 
15671  {
15672  return this->preFractionAlong_.get ();
15673  }
15674 
15677  {
15678  this->preFractionAlong_.set (x);
15679  }
15680 
15682  preFractionAlong (::std::unique_ptr< preFractionAlong_type > x)
15683  {
15684  this->preFractionAlong_.set (std::move (x));
15685  }
15686 
15689  {
15690  return preFractionAlong_type (.5F);
15691  }
15692 
15694  postCellId () const
15695  {
15696  return this->postCellId_.get ();
15697  }
15698 
15700  postCellId ()
15701  {
15702  return this->postCellId_.get ();
15703  }
15704 
15706  postCellId (const postCellId_type& x)
15707  {
15708  this->postCellId_.set (x);
15709  }
15710 
15712  postCellId (::std::unique_ptr< postCellId_type > x)
15713  {
15714  this->postCellId_.set (std::move (x));
15715  }
15716 
15718  postSegmentId () const
15719  {
15720  return this->postSegmentId_.get ();
15721  }
15722 
15724  postSegmentId ()
15725  {
15726  return this->postSegmentId_.get ();
15727  }
15728 
15731  {
15732  this->postSegmentId_.set (x);
15733  }
15734 
15736  postSegmentId (::std::unique_ptr< postSegmentId_type > x)
15737  {
15738  this->postSegmentId_.set (std::move (x));
15739  }
15740 
15743  {
15744  return postSegmentId_type (0ULL);
15745  }
15746 
15748  postFractionAlong () const
15749  {
15750  return this->postFractionAlong_.get ();
15751  }
15752 
15755  {
15756  return this->postFractionAlong_.get ();
15757  }
15758 
15761  {
15762  this->postFractionAlong_.set (x);
15763  }
15764 
15766  postFractionAlong (::std::unique_ptr< postFractionAlong_type > x)
15767  {
15768  this->postFractionAlong_.set (std::move (x));
15769  }
15770 
15773  {
15774  return postFractionAlong_type (.5F);
15775  }
15776 
15777 
15778  // BaseConnectionNewFormat
15779  //
15780 
15782  preCell () const
15783  {
15784  return this->preCell_.get ();
15785  }
15786 
15788  preCell ()
15789  {
15790  return this->preCell_.get ();
15791  }
15792 
15794  preCell (const preCell_type& x)
15795  {
15796  this->preCell_.set (x);
15797  }
15798 
15800  preCell (::std::unique_ptr< preCell_type > x)
15801  {
15802  this->preCell_.set (std::move (x));
15803  }
15804 
15806  preSegment () const
15807  {
15808  return this->preSegment_.get ();
15809  }
15810 
15812  preSegment ()
15813  {
15814  return this->preSegment_.get ();
15815  }
15816 
15818  preSegment (const preSegment_type& x)
15819  {
15820  this->preSegment_.set (x);
15821  }
15822 
15824  preSegment (::std::unique_ptr< preSegment_type > x)
15825  {
15826  this->preSegment_.set (std::move (x));
15827  }
15828 
15831  {
15832  return preSegment_type (0ULL);
15833  }
15834 
15836  preFractionAlong () const
15837  {
15838  return this->preFractionAlong_.get ();
15839  }
15840 
15843  {
15844  return this->preFractionAlong_.get ();
15845  }
15846 
15849  {
15850  this->preFractionAlong_.set (x);
15851  }
15852 
15854  preFractionAlong (::std::unique_ptr< preFractionAlong_type > x)
15855  {
15856  this->preFractionAlong_.set (std::move (x));
15857  }
15858 
15861  {
15862  return preFractionAlong_type (.5F);
15863  }
15864 
15866  postCell () const
15867  {
15868  return this->postCell_.get ();
15869  }
15870 
15872  postCell ()
15873  {
15874  return this->postCell_.get ();
15875  }
15876 
15878  postCell (const postCell_type& x)
15879  {
15880  this->postCell_.set (x);
15881  }
15882 
15884  postCell (::std::unique_ptr< postCell_type > x)
15885  {
15886  this->postCell_.set (std::move (x));
15887  }
15888 
15890  postSegment () const
15891  {
15892  return this->postSegment_.get ();
15893  }
15894 
15896  postSegment ()
15897  {
15898  return this->postSegment_.get ();
15899  }
15900 
15902  postSegment (const postSegment_type& x)
15903  {
15904  this->postSegment_.set (x);
15905  }
15906 
15908  postSegment (::std::unique_ptr< postSegment_type > x)
15909  {
15910  this->postSegment_.set (std::move (x));
15911  }
15912 
15915  {
15916  return postSegment_type (0ULL);
15917  }
15918 
15920  postFractionAlong () const
15921  {
15922  return this->postFractionAlong_.get ();
15923  }
15924 
15927  {
15928  return this->postFractionAlong_.get ();
15929  }
15930 
15933  {
15934  this->postFractionAlong_.set (x);
15935  }
15936 
15938  postFractionAlong (::std::unique_ptr< postFractionAlong_type > x)
15939  {
15940  this->postFractionAlong_.set (std::move (x));
15941  }
15942 
15945  {
15946  return postFractionAlong_type (.5F);
15947  }
15948 
15949 
15950  // Connection_base
15951  //
15952 
15953 
15954  // ConnectionWD
15955  //
15956 
15958  weight () const
15959  {
15960  return this->weight_.get ();
15961  }
15962 
15964  weight ()
15965  {
15966  return this->weight_.get ();
15967  }
15968 
15970  weight (const weight_type& x)
15971  {
15972  this->weight_.set (x);
15973  }
15974 
15976  delay () const
15977  {
15978  return this->delay_.get ();
15979  }
15980 
15982  delay ()
15983  {
15984  return this->delay_.get ();
15985  }
15986 
15988  delay (const delay_type& x)
15989  {
15990  this->delay_.set (x);
15991  }
15992 
15994  delay (::std::unique_ptr< delay_type > x)
15995  {
15996  this->delay_.set (std::move (x));
15997  }
15998 
15999 
16000  // ElectricalProjection
16001  //
16002 
16004  electricalConnection () const
16005  {
16006  return this->electricalConnection_;
16007  }
16008 
16011  {
16012  return this->electricalConnection_;
16013  }
16014 
16017  {
16018  this->electricalConnection_ = s;
16019  }
16020 
16023  {
16024  return this->electricalConnectionInstance_;
16025  }
16026 
16029  {
16030  return this->electricalConnectionInstance_;
16031  }
16032 
16035  {
16036  this->electricalConnectionInstance_ = s;
16037  }
16038 
16041  {
16042  return this->electricalConnectionInstanceW_;
16043  }
16044 
16047  {
16048  return this->electricalConnectionInstanceW_;
16049  }
16050 
16053  {
16054  this->electricalConnectionInstanceW_ = s;
16055  }
16056 
16057 
16058  // ElectricalConnection
16059  //
16060 
16062  synapse () const
16063  {
16064  return this->synapse_.get ();
16065  }
16066 
16068  synapse ()
16069  {
16070  return this->synapse_.get ();
16071  }
16072 
16074  synapse (const synapse_type& x)
16075  {
16076  this->synapse_.set (x);
16077  }
16078 
16080  synapse (::std::unique_ptr< synapse_type > x)
16081  {
16082  this->synapse_.set (std::move (x));
16083  }
16084 
16085 
16086  // ElectricalConnectionInstance
16087  //
16088 
16089 
16090  // ElectricalConnectionInstanceW
16091  //
16092 
16094  weight () const
16095  {
16096  return this->weight_.get ();
16097  }
16098 
16100  weight ()
16101  {
16102  return this->weight_.get ();
16103  }
16104 
16106  weight (const weight_type& x)
16107  {
16108  this->weight_.set (x);
16109  }
16110 
16111 
16112  // ContinuousProjection
16113  //
16114 
16116  continuousConnection () const
16117  {
16118  return this->continuousConnection_;
16119  }
16120 
16123  {
16124  return this->continuousConnection_;
16125  }
16126 
16129  {
16130  this->continuousConnection_ = s;
16131  }
16132 
16135  {
16136  return this->continuousConnectionInstance_;
16137  }
16138 
16141  {
16142  return this->continuousConnectionInstance_;
16143  }
16144 
16147  {
16148  this->continuousConnectionInstance_ = s;
16149  }
16150 
16153  {
16154  return this->continuousConnectionInstanceW_;
16155  }
16156 
16159  {
16160  return this->continuousConnectionInstanceW_;
16161  }
16162 
16165  {
16166  this->continuousConnectionInstanceW_ = s;
16167  }
16168 
16169 
16170  // ContinuousConnection
16171  //
16172 
16174  preComponent () const
16175  {
16176  return this->preComponent_.get ();
16177  }
16178 
16180  preComponent ()
16181  {
16182  return this->preComponent_.get ();
16183  }
16184 
16187  {
16188  this->preComponent_.set (x);
16189  }
16190 
16192  preComponent (::std::unique_ptr< preComponent_type > x)
16193  {
16194  this->preComponent_.set (std::move (x));
16195  }
16196 
16198  postComponent () const
16199  {
16200  return this->postComponent_.get ();
16201  }
16202 
16204  postComponent ()
16205  {
16206  return this->postComponent_.get ();
16207  }
16208 
16211  {
16212  this->postComponent_.set (x);
16213  }
16214 
16216  postComponent (::std::unique_ptr< postComponent_type > x)
16217  {
16218  this->postComponent_.set (std::move (x));
16219  }
16220 
16221 
16222  // ContinuousConnectionInstance
16223  //
16224 
16225 
16226  // ContinuousConnectionInstanceW
16227  //
16228 
16230  weight () const
16231  {
16232  return this->weight_.get ();
16233  }
16234 
16236  weight ()
16237  {
16238  return this->weight_.get ();
16239  }
16240 
16242  weight (const weight_type& x)
16243  {
16244  this->weight_.set (x);
16245  }
16246 
16247 
16248  // ExplicitInput
16249  //
16250 
16252  target () const
16253  {
16254  return this->target_.get ();
16255  }
16256 
16258  target ()
16259  {
16260  return this->target_.get ();
16261  }
16262 
16264  target (const target_type& x)
16265  {
16266  this->target_.set (x);
16267  }
16268 
16270  target (::std::unique_ptr< target_type > x)
16271  {
16272  this->target_.set (std::move (x));
16273  }
16274 
16276  input () const
16277  {
16278  return this->input_.get ();
16279  }
16280 
16282  input ()
16283  {
16284  return this->input_.get ();
16285  }
16286 
16288  input (const input_type& x)
16289  {
16290  this->input_.set (x);
16291  }
16292 
16294  input (::std::unique_ptr< input_type > x)
16295  {
16296  this->input_.set (std::move (x));
16297  }
16298 
16300  destination () const
16301  {
16302  return this->destination_;
16303  }
16304 
16306  destination ()
16307  {
16308  return this->destination_;
16309  }
16310 
16312  destination (const destination_type& x)
16313  {
16314  this->destination_.set (x);
16315  }
16316 
16319  {
16320  this->destination_ = x;
16321  }
16322 
16324  destination (::std::unique_ptr< destination_type > x)
16325  {
16326  this->destination_.set (std::move (x));
16327  }
16328 
16329 
16330  // InputList
16331  //
16332 
16334  input () const
16335  {
16336  return this->input_;
16337  }
16338 
16340  input ()
16341  {
16342  return this->input_;
16343  }
16344 
16346  input (const input_sequence& s)
16347  {
16348  this->input_ = s;
16349  }
16350 
16352  inputW () const
16353  {
16354  return this->inputW_;
16355  }
16356 
16358  inputW ()
16359  {
16360  return this->inputW_;
16361  }
16362 
16364  inputW (const inputW_sequence& s)
16365  {
16366  this->inputW_ = s;
16367  }
16368 
16370  population () const
16371  {
16372  return this->population_.get ();
16373  }
16374 
16376  population ()
16377  {
16378  return this->population_.get ();
16379  }
16380 
16382  population (const population_type& x)
16383  {
16384  this->population_.set (x);
16385  }
16386 
16388  population (::std::unique_ptr< population_type > x)
16389  {
16390  this->population_.set (std::move (x));
16391  }
16392 
16394  component () const
16395  {
16396  return this->component_.get ();
16397  }
16398 
16400  component ()
16401  {
16402  return this->component_.get ();
16403  }
16404 
16406  component (const component_type& x)
16407  {
16408  this->component_.set (x);
16409  }
16410 
16412  component (::std::unique_ptr< component_type > x)
16413  {
16414  this->component_.set (std::move (x));
16415  }
16416 
16417 
16418  // Input
16419  //
16420 
16422  target () const
16423  {
16424  return this->target_.get ();
16425  }
16426 
16428  target ()
16429  {
16430  return this->target_.get ();
16431  }
16432 
16433  void Input::
16434  target (const target_type& x)
16435  {
16436  this->target_.set (x);
16437  }
16438 
16439  void Input::
16440  target (::std::unique_ptr< target_type > x)
16441  {
16442  this->target_.set (std::move (x));
16443  }
16444 
16446  destination () const
16447  {
16448  return this->destination_.get ();
16449  }
16450 
16452  destination ()
16453  {
16454  return this->destination_.get ();
16455  }
16456 
16457  void Input::
16458  destination (const destination_type& x)
16459  {
16460  this->destination_.set (x);
16461  }
16462 
16463  void Input::
16464  destination (::std::unique_ptr< destination_type > x)
16465  {
16466  this->destination_.set (std::move (x));
16467  }
16468 
16470  segmentId () const
16471  {
16472  return this->segmentId_;
16473  }
16474 
16476  segmentId ()
16477  {
16478  return this->segmentId_;
16479  }
16480 
16481  void Input::
16482  segmentId (const segmentId_type& x)
16483  {
16484  this->segmentId_.set (x);
16485  }
16486 
16487  void Input::
16488  segmentId (const segmentId_optional& x)
16489  {
16490  this->segmentId_ = x;
16491  }
16492 
16493  void Input::
16494  segmentId (::std::unique_ptr< segmentId_type > x)
16495  {
16496  this->segmentId_.set (std::move (x));
16497  }
16498 
16500  fractionAlong () const
16501  {
16502  return this->fractionAlong_;
16503  }
16504 
16506  fractionAlong ()
16507  {
16508  return this->fractionAlong_;
16509  }
16510 
16511  void Input::
16513  {
16514  this->fractionAlong_.set (x);
16515  }
16516 
16517  void Input::
16519  {
16520  this->fractionAlong_ = x;
16521  }
16522 
16523  void Input::
16524  fractionAlong (::std::unique_ptr< fractionAlong_type > x)
16525  {
16526  this->fractionAlong_.set (std::move (x));
16527  }
16528 
16529 
16530  // InputW
16531  //
16532 
16534  weight () const
16535  {
16536  return this->weight_.get ();
16537  }
16538 
16540  weight ()
16541  {
16542  return this->weight_.get ();
16543  }
16544 
16546  weight (const weight_type& x)
16547  {
16548  this->weight_.set (x);
16549  }
16550 
16551 
16552  // basePyNNCell
16553  //
16554 
16556  cm () const
16557  {
16558  return this->cm_.get ();
16559  }
16560 
16562  cm ()
16563  {
16564  return this->cm_.get ();
16565  }
16566 
16568  cm (const cm_type& x)
16569  {
16570  this->cm_.set (x);
16571  }
16572 
16574  i_offset () const
16575  {
16576  return this->i_offset_.get ();
16577  }
16578 
16580  i_offset ()
16581  {
16582  return this->i_offset_.get ();
16583  }
16584 
16586  i_offset (const i_offset_type& x)
16587  {
16588  this->i_offset_.set (x);
16589  }
16590 
16592  tau_syn_E () const
16593  {
16594  return this->tau_syn_E_.get ();
16595  }
16596 
16598  tau_syn_E ()
16599  {
16600  return this->tau_syn_E_.get ();
16601  }
16602 
16604  tau_syn_E (const tau_syn_E_type& x)
16605  {
16606  this->tau_syn_E_.set (x);
16607  }
16608 
16610  tau_syn_I () const
16611  {
16612  return this->tau_syn_I_.get ();
16613  }
16614 
16616  tau_syn_I ()
16617  {
16618  return this->tau_syn_I_.get ();
16619  }
16620 
16622  tau_syn_I (const tau_syn_I_type& x)
16623  {
16624  this->tau_syn_I_.set (x);
16625  }
16626 
16628  v_init () const
16629  {
16630  return this->v_init_.get ();
16631  }
16632 
16634  v_init ()
16635  {
16636  return this->v_init_.get ();
16637  }
16638 
16640  v_init (const v_init_type& x)
16641  {
16642  this->v_init_.set (x);
16643  }
16644 
16645 
16646  // basePyNNIaFCell
16647  //
16648 
16650  tau_m () const
16651  {
16652  return this->tau_m_.get ();
16653  }
16654 
16656  tau_m ()
16657  {
16658  return this->tau_m_.get ();
16659  }
16660 
16662  tau_m (const tau_m_type& x)
16663  {
16664  this->tau_m_.set (x);
16665  }
16666 
16668  tau_refrac () const
16669  {
16670  return this->tau_refrac_.get ();
16671  }
16672 
16674  tau_refrac ()
16675  {
16676  return this->tau_refrac_.get ();
16677  }
16678 
16680  tau_refrac (const tau_refrac_type& x)
16681  {
16682  this->tau_refrac_.set (x);
16683  }
16684 
16686  v_reset () const
16687  {
16688  return this->v_reset_.get ();
16689  }
16690 
16692  v_reset ()
16693  {
16694  return this->v_reset_.get ();
16695  }
16696 
16698  v_reset (const v_reset_type& x)
16699  {
16700  this->v_reset_.set (x);
16701  }
16702 
16704  v_rest () const
16705  {
16706  return this->v_rest_.get ();
16707  }
16708 
16710  v_rest ()
16711  {
16712  return this->v_rest_.get ();
16713  }
16714 
16716  v_rest (const v_rest_type& x)
16717  {
16718  this->v_rest_.set (x);
16719  }
16720 
16722  v_thresh () const
16723  {
16724  return this->v_thresh_.get ();
16725  }
16726 
16728  v_thresh ()
16729  {
16730  return this->v_thresh_.get ();
16731  }
16732 
16734  v_thresh (const v_thresh_type& x)
16735  {
16736  this->v_thresh_.set (x);
16737  }
16738 
16739 
16740  // basePyNNIaFCondCell
16741  //
16742 
16744  e_rev_E () const
16745  {
16746  return this->e_rev_E_.get ();
16747  }
16748 
16750  e_rev_E ()
16751  {
16752  return this->e_rev_E_.get ();
16753  }
16754 
16756  e_rev_E (const e_rev_E_type& x)
16757  {
16758  this->e_rev_E_.set (x);
16759  }
16760 
16762  e_rev_I () const
16763  {
16764  return this->e_rev_I_.get ();
16765  }
16766 
16768  e_rev_I ()
16769  {
16770  return this->e_rev_I_.get ();
16771  }
16772 
16774  e_rev_I (const e_rev_I_type& x)
16775  {
16776  this->e_rev_I_.set (x);
16777  }
16778 
16779 
16780  // IF_curr_alpha
16781  //
16782 
16783 
16784  // IF_curr_exp
16785  //
16786 
16787 
16788  // IF_cond_alpha
16789  //
16790 
16791 
16792  // IF_cond_exp
16793  //
16794 
16795 
16796  // EIF_cond_exp_isfa_ista
16797  //
16798 
16800  a () const
16801  {
16802  return this->a_.get ();
16803  }
16804 
16806  a ()
16807  {
16808  return this->a_.get ();
16809  }
16810 
16812  a (const a_type& x)
16813  {
16814  this->a_.set (x);
16815  }
16816 
16818  b () const
16819  {
16820  return this->b_.get ();
16821  }
16822 
16824  b ()
16825  {
16826  return this->b_.get ();
16827  }
16828 
16830  b (const b_type& x)
16831  {
16832  this->b_.set (x);
16833  }
16834 
16836  delta_T () const
16837  {
16838  return this->delta_T_.get ();
16839  }
16840 
16842  delta_T ()
16843  {
16844  return this->delta_T_.get ();
16845  }
16846 
16848  delta_T (const delta_T_type& x)
16849  {
16850  this->delta_T_.set (x);
16851  }
16852 
16854  tau_w () const
16855  {
16856  return this->tau_w_.get ();
16857  }
16858 
16860  tau_w ()
16861  {
16862  return this->tau_w_.get ();
16863  }
16864 
16866  tau_w (const tau_w_type& x)
16867  {
16868  this->tau_w_.set (x);
16869  }
16870 
16872  v_spike () const
16873  {
16874  return this->v_spike_.get ();
16875  }
16876 
16878  v_spike ()
16879  {
16880  return this->v_spike_.get ();
16881  }
16882 
16884  v_spike (const v_spike_type& x)
16885  {
16886  this->v_spike_.set (x);
16887  }
16888 
16889 
16890  // EIF_cond_alpha_isfa_ista
16891  //
16892 
16893 
16894  // HH_cond_exp
16895  //
16896 
16898  v_offset () const
16899  {
16900  return this->v_offset_.get ();
16901  }
16902 
16904  v_offset ()
16905  {
16906  return this->v_offset_.get ();
16907  }
16908 
16910  v_offset (const v_offset_type& x)
16911  {
16912  this->v_offset_.set (x);
16913  }
16914 
16916  e_rev_E () const
16917  {
16918  return this->e_rev_E_.get ();
16919  }
16920 
16922  e_rev_E ()
16923  {
16924  return this->e_rev_E_.get ();
16925  }
16926 
16928  e_rev_E (const e_rev_E_type& x)
16929  {
16930  this->e_rev_E_.set (x);
16931  }
16932 
16934  e_rev_I () const
16935  {
16936  return this->e_rev_I_.get ();
16937  }
16938 
16940  e_rev_I ()
16941  {
16942  return this->e_rev_I_.get ();
16943  }
16944 
16946  e_rev_I (const e_rev_I_type& x)
16947  {
16948  this->e_rev_I_.set (x);
16949  }
16950 
16952  e_rev_K () const
16953  {
16954  return this->e_rev_K_.get ();
16955  }
16956 
16958  e_rev_K ()
16959  {
16960  return this->e_rev_K_.get ();
16961  }
16962 
16964  e_rev_K (const e_rev_K_type& x)
16965  {
16966  this->e_rev_K_.set (x);
16967  }
16968 
16970  e_rev_Na () const
16971  {
16972  return this->e_rev_Na_.get ();
16973  }
16974 
16976  e_rev_Na ()
16977  {
16978  return this->e_rev_Na_.get ();
16979  }
16980 
16982  e_rev_Na (const e_rev_Na_type& x)
16983  {
16984  this->e_rev_Na_.set (x);
16985  }
16986 
16988  e_rev_leak () const
16989  {
16990  return this->e_rev_leak_.get ();
16991  }
16992 
16994  e_rev_leak ()
16995  {
16996  return this->e_rev_leak_.get ();
16997  }
16998 
17000  e_rev_leak (const e_rev_leak_type& x)
17001  {
17002  this->e_rev_leak_.set (x);
17003  }
17004 
17006  g_leak () const
17007  {
17008  return this->g_leak_.get ();
17009  }
17010 
17012  g_leak ()
17013  {
17014  return this->g_leak_.get ();
17015  }
17016 
17018  g_leak (const g_leak_type& x)
17019  {
17020  this->g_leak_.set (x);
17021  }
17022 
17024  gbar_K () const
17025  {
17026  return this->gbar_K_.get ();
17027  }
17028 
17030  gbar_K ()
17031  {
17032  return this->gbar_K_.get ();
17033  }
17034 
17036  gbar_K (const gbar_K_type& x)
17037  {
17038  this->gbar_K_.set (x);
17039  }
17040 
17042  gbar_Na () const
17043  {
17044  return this->gbar_Na_.get ();
17045  }
17046 
17048  gbar_Na ()
17049  {
17050  return this->gbar_Na_.get ();
17051  }
17052 
17054  gbar_Na (const gbar_Na_type& x)
17055  {
17056  this->gbar_Na_.set (x);
17057  }
17058 
17059 
17060  // BasePynnSynapse
17061  //
17062 
17064  tau_syn () const
17065  {
17066  return this->tau_syn_.get ();
17067  }
17068 
17070  tau_syn ()
17071  {
17072  return this->tau_syn_.get ();
17073  }
17074 
17076  tau_syn (const tau_syn_type& x)
17077  {
17078  this->tau_syn_.set (x);
17079  }
17080 
17081 
17082  // ExpCondSynapse
17083  //
17084 
17086  e_rev () const
17087  {
17088  return this->e_rev_.get ();
17089  }
17090 
17092  e_rev ()
17093  {
17094  return this->e_rev_.get ();
17095  }
17096 
17098  e_rev (const e_rev_type& x)
17099  {
17100  this->e_rev_.set (x);
17101  }
17102 
17103 
17104  // AlphaCondSynapse
17105  //
17106 
17108  e_rev () const
17109  {
17110  return this->e_rev_.get ();
17111  }
17112 
17114  e_rev ()
17115  {
17116  return this->e_rev_.get ();
17117  }
17118 
17120  e_rev (const e_rev_type& x)
17121  {
17122  this->e_rev_.set (x);
17123  }
17124 
17125 
17126  // ExpCurrSynapse
17127  //
17128 
17129 
17130  // AlphaCurrSynapse
17131  //
17132 
17133 
17134  // SpikeSourcePoisson
17135  //
17136 
17138  start () const
17139  {
17140  return this->start_.get ();
17141  }
17142 
17144  start ()
17145  {
17146  return this->start_.get ();
17147  }
17148 
17150  start (const start_type& x)
17151  {
17152  this->start_.set (x);
17153  }
17154 
17156  start (::std::unique_ptr< start_type > x)
17157  {
17158  this->start_.set (std::move (x));
17159  }
17160 
17162  duration () const
17163  {
17164  return this->duration_.get ();
17165  }
17166 
17168  duration ()
17169  {
17170  return this->duration_.get ();
17171  }
17172 
17174  duration (const duration_type& x)
17175  {
17176  this->duration_.set (x);
17177  }
17178 
17180  duration (::std::unique_ptr< duration_type > x)
17181  {
17182  this->duration_.set (std::move (x));
17183  }
17184 
17186  rate () const
17187  {
17188  return this->rate_.get ();
17189  }
17190 
17192  rate ()
17193  {
17194  return this->rate_.get ();
17195  }
17196 
17198  rate (const rate_type& x)
17199  {
17200  this->rate_.set (x);
17201  }
17202 
17204  rate (::std::unique_ptr< rate_type > x)
17205  {
17206  this->rate_.set (std::move (x));
17207  }
17208 }
17209 
17210 #include <xsd/cxx/xml/dom/parsing-source.hxx>
17211 
17212 namespace neuroml2
17213 {
17214  // NmlId
17215  //
17216 
17218  NmlId ()
17219  : ::xml_schema::string ()
17220  {
17221  }
17222 
17224  NmlId (const char* _xsd_string_base)
17225  : ::xml_schema::string (_xsd_string_base)
17226  {
17227  }
17228 
17230  NmlId (const ::std::string& _xsd_string_base)
17231  : ::xml_schema::string (_xsd_string_base)
17232  {
17233  }
17234 
17236  NmlId (const ::xml_schema::string& _xsd_string_base)
17237  : ::xml_schema::string (_xsd_string_base)
17238  {
17239  }
17240 
17242  NmlId (const NmlId& x,
17243  ::xml_schema::flags f,
17244  ::xml_schema::container* c)
17245  : ::xml_schema::string (x, f, c)
17246  {
17247  }
17248 
17250  NmlId (const ::xercesc::DOMElement& e,
17251  ::xml_schema::flags f,
17252  ::xml_schema::container* c)
17253  : ::xml_schema::string (e, f, c)
17254  {
17255  }
17256 
17258  NmlId (const ::xercesc::DOMAttr& a,
17259  ::xml_schema::flags f,
17260  ::xml_schema::container* c)
17261  : ::xml_schema::string (a, f, c)
17262  {
17263  }
17264 
17267  const ::xercesc::DOMElement* e,
17268  ::xml_schema::flags f,
17269  ::xml_schema::container* c)
17270  : ::xml_schema::string (s, e, f, c)
17271  {
17272  }
17273 
17276  ::xml_schema::container* c) const
17277  {
17278  return new class NmlId (*this, f, c);
17279  }
17280 
17282  ~NmlId ()
17283  {
17284  }
17285 
17286  // Nml2Quantity
17287  //
17288 
17290  Nml2Quantity ()
17291  : ::xml_schema::string ()
17292  {
17293  }
17294 
17296  Nml2Quantity (const char* _xsd_string_base)
17297  : ::xml_schema::string (_xsd_string_base)
17298  {
17299  }
17300 
17302  Nml2Quantity (const ::std::string& _xsd_string_base)
17303  : ::xml_schema::string (_xsd_string_base)
17304  {
17305  }
17306 
17308  Nml2Quantity (const ::xml_schema::string& _xsd_string_base)
17309  : ::xml_schema::string (_xsd_string_base)
17310  {
17311  }
17312 
17314  Nml2Quantity (const Nml2Quantity& x,
17315  ::xml_schema::flags f,
17316  ::xml_schema::container* c)
17317  : ::xml_schema::string (x, f, c)
17318  {
17319  }
17320 
17322  Nml2Quantity (const ::xercesc::DOMElement& e,
17323  ::xml_schema::flags f,
17324  ::xml_schema::container* c)
17325  : ::xml_schema::string (e, f, c)
17326  {
17327  }
17328 
17330  Nml2Quantity (const ::xercesc::DOMAttr& a,
17331  ::xml_schema::flags f,
17332  ::xml_schema::container* c)
17333  : ::xml_schema::string (a, f, c)
17334  {
17335  }
17336 
17339  const ::xercesc::DOMElement* e,
17340  ::xml_schema::flags f,
17341  ::xml_schema::container* c)
17342  : ::xml_schema::string (s, e, f, c)
17343  {
17344  }
17345 
17348  ::xml_schema::container* c) const
17349  {
17350  return new class Nml2Quantity (*this, f, c);
17351  }
17352 
17354  ~Nml2Quantity ()
17355  {
17356  }
17357 
17358  // Nml2Quantity_none
17359  //
17360 
17363  : ::xml_schema::string ()
17364  {
17365  }
17366 
17368  Nml2Quantity_none (const char* _xsd_string_base)
17369  : ::xml_schema::string (_xsd_string_base)
17370  {
17371  }
17372 
17374  Nml2Quantity_none (const ::std::string& _xsd_string_base)
17375  : ::xml_schema::string (_xsd_string_base)
17376  {
17377  }
17378 
17381  : ::xml_schema::string (_xsd_string_base)
17382  {
17383  }
17384 
17387  ::xml_schema::flags f,
17388  ::xml_schema::container* c)
17389  : ::xml_schema::string (x, f, c)
17390  {
17391  }
17392 
17394  Nml2Quantity_none (const ::xercesc::DOMElement& e,
17395  ::xml_schema::flags f,
17396  ::xml_schema::container* c)
17397  : ::xml_schema::string (e, f, c)
17398  {
17399  }
17400 
17402  Nml2Quantity_none (const ::xercesc::DOMAttr& a,
17403  ::xml_schema::flags f,
17404  ::xml_schema::container* c)
17405  : ::xml_schema::string (a, f, c)
17406  {
17407  }
17408 
17411  const ::xercesc::DOMElement* e,
17412  ::xml_schema::flags f,
17413  ::xml_schema::container* c)
17414  : ::xml_schema::string (s, e, f, c)
17415  {
17416  }
17417 
17420  ::xml_schema::container* c) const
17421  {
17422  return new class Nml2Quantity_none (*this, f, c);
17423  }
17424 
17427  {
17428  }
17429 
17430  // Nml2Quantity_voltage
17431  //
17432 
17435  : ::xml_schema::string ()
17436  {
17437  }
17438 
17440  Nml2Quantity_voltage (const char* _xsd_string_base)
17441  : ::xml_schema::string (_xsd_string_base)
17442  {
17443  }
17444 
17446  Nml2Quantity_voltage (const ::std::string& _xsd_string_base)
17447  : ::xml_schema::string (_xsd_string_base)
17448  {
17449  }
17450 
17453  : ::xml_schema::string (_xsd_string_base)
17454  {
17455  }
17456 
17459  ::xml_schema::flags f,
17460  ::xml_schema::container* c)
17461  : ::xml_schema::string (x, f, c)
17462  {
17463  }
17464 
17466  Nml2Quantity_voltage (const ::xercesc::DOMElement& e,
17467  ::xml_schema::flags f,
17468  ::xml_schema::container* c)
17469  : ::xml_schema::string (e, f, c)
17470  {
17471  }
17472 
17474  Nml2Quantity_voltage (const ::xercesc::DOMAttr& a,
17475  ::xml_schema::flags f,
17476  ::xml_schema::container* c)
17477  : ::xml_schema::string (a, f, c)
17478  {
17479  }
17480 
17483  const ::xercesc::DOMElement* e,
17484  ::xml_schema::flags f,
17485  ::xml_schema::container* c)
17486  : ::xml_schema::string (s, e, f, c)
17487  {
17488  }
17489 
17492  ::xml_schema::container* c) const
17493  {
17494  return new class Nml2Quantity_voltage (*this, f, c);
17495  }
17496 
17499  {
17500  }
17501 
17502  // Nml2Quantity_length
17503  //
17504 
17507  : ::xml_schema::string ()
17508  {
17509  }
17510 
17512  Nml2Quantity_length (const char* _xsd_string_base)
17513  : ::xml_schema::string (_xsd_string_base)
17514  {
17515  }
17516 
17518  Nml2Quantity_length (const ::std::string& _xsd_string_base)
17519  : ::xml_schema::string (_xsd_string_base)
17520  {
17521  }
17522 
17525  : ::xml_schema::string (_xsd_string_base)
17526  {
17527  }
17528 
17531  ::xml_schema::flags f,
17532  ::xml_schema::container* c)
17533  : ::xml_schema::string (x, f, c)
17534  {
17535  }
17536 
17538  Nml2Quantity_length (const ::xercesc::DOMElement& e,
17539  ::xml_schema::flags f,
17540  ::xml_schema::container* c)
17541  : ::xml_schema::string (e, f, c)
17542  {
17543  }
17544 
17546  Nml2Quantity_length (const ::xercesc::DOMAttr& a,
17547  ::xml_schema::flags f,
17548  ::xml_schema::container* c)
17549  : ::xml_schema::string (a, f, c)
17550  {
17551  }
17552 
17555  const ::xercesc::DOMElement* e,
17556  ::xml_schema::flags f,
17557  ::xml_schema::container* c)
17558  : ::xml_schema::string (s, e, f, c)
17559  {
17560  }
17561 
17564  ::xml_schema::container* c) const
17565  {
17566  return new class Nml2Quantity_length (*this, f, c);
17567  }
17568 
17571  {
17572  }
17573 
17574  // Nml2Quantity_resistance
17575  //
17576 
17579  : ::xml_schema::string ()
17580  {
17581  }
17582 
17584  Nml2Quantity_resistance (const char* _xsd_string_base)
17585  : ::xml_schema::string (_xsd_string_base)
17586  {
17587  }
17588 
17591  : ::xml_schema::string (_xsd_string_base)
17592  {
17593  }
17594 
17597  : ::xml_schema::string (_xsd_string_base)
17598  {
17599  }
17600 
17603  ::xml_schema::flags f,
17604  ::xml_schema::container* c)
17605  : ::xml_schema::string (x, f, c)
17606  {
17607  }
17608 
17610  Nml2Quantity_resistance (const ::xercesc::DOMElement& e,
17611  ::xml_schema::flags f,
17612  ::xml_schema::container* c)
17613  : ::xml_schema::string (e, f, c)
17614  {
17615  }
17616 
17618  Nml2Quantity_resistance (const ::xercesc::DOMAttr& a,
17619  ::xml_schema::flags f,
17620  ::xml_schema::container* c)
17621  : ::xml_schema::string (a, f, c)
17622  {
17623  }
17624 
17627  const ::xercesc::DOMElement* e,
17628  ::xml_schema::flags f,
17629  ::xml_schema::container* c)
17630  : ::xml_schema::string (s, e, f, c)
17631  {
17632  }
17633 
17636  ::xml_schema::container* c) const
17637  {
17638  return new class Nml2Quantity_resistance (*this, f, c);
17639  }
17640 
17643  {
17644  }
17645 
17646  // Nml2Quantity_resistivity
17647  //
17648 
17651  : ::xml_schema::string ()
17652  {
17653  }
17654 
17656  Nml2Quantity_resistivity (const char* _xsd_string_base)
17657  : ::xml_schema::string (_xsd_string_base)
17658  {
17659  }
17660 
17663  : ::xml_schema::string (_xsd_string_base)
17664  {
17665  }
17666 
17669  : ::xml_schema::string (_xsd_string_base)
17670  {
17671  }
17672 
17675  ::xml_schema::flags f,
17676  ::xml_schema::container* c)
17677  : ::xml_schema::string (x, f, c)
17678  {
17679  }
17680 
17682  Nml2Quantity_resistivity (const ::xercesc::DOMElement& e,
17683  ::xml_schema::flags f,
17684  ::xml_schema::container* c)
17685  : ::xml_schema::string (e, f, c)
17686  {
17687  }
17688 
17690  Nml2Quantity_resistivity (const ::xercesc::DOMAttr& a,
17691  ::xml_schema::flags f,
17692  ::xml_schema::container* c)
17693  : ::xml_schema::string (a, f, c)
17694  {
17695  }
17696 
17699  const ::xercesc::DOMElement* e,
17700  ::xml_schema::flags f,
17701  ::xml_schema::container* c)
17702  : ::xml_schema::string (s, e, f, c)
17703  {
17704  }
17705 
17708  ::xml_schema::container* c) const
17709  {
17710  return new class Nml2Quantity_resistivity (*this, f, c);
17711  }
17712 
17715  {
17716  }
17717 
17718  // Nml2Quantity_conductance
17719  //
17720 
17723  : ::xml_schema::string ()
17724  {
17725  }
17726 
17728  Nml2Quantity_conductance (const char* _xsd_string_base)
17729  : ::xml_schema::string (_xsd_string_base)
17730  {
17731  }
17732 
17735  : ::xml_schema::string (_xsd_string_base)
17736  {
17737  }
17738 
17741  : ::xml_schema::string (_xsd_string_base)
17742  {
17743  }
17744 
17747  ::xml_schema::flags f,
17748  ::xml_schema::container* c)
17749  : ::xml_schema::string (x, f, c)
17750  {
17751  }
17752 
17754  Nml2Quantity_conductance (const ::xercesc::DOMElement& e,
17755  ::xml_schema::flags f,
17756  ::xml_schema::container* c)
17757  : ::xml_schema::string (e, f, c)
17758  {
17759  }
17760 
17762  Nml2Quantity_conductance (const ::xercesc::DOMAttr& a,
17763  ::xml_schema::flags f,
17764  ::xml_schema::container* c)
17765  : ::xml_schema::string (a, f, c)
17766  {
17767  }
17768 
17771  const ::xercesc::DOMElement* e,
17772  ::xml_schema::flags f,
17773  ::xml_schema::container* c)
17774  : ::xml_schema::string (s, e, f, c)
17775  {
17776  }
17777 
17780  ::xml_schema::container* c) const
17781  {
17782  return new class Nml2Quantity_conductance (*this, f, c);
17783  }
17784 
17787  {
17788  }
17789 
17790  // Nml2Quantity_conductanceDensity
17791  //
17792 
17795  : ::xml_schema::string ()
17796  {
17797  }
17798 
17800  Nml2Quantity_conductanceDensity (const char* _xsd_string_base)
17801  : ::xml_schema::string (_xsd_string_base)
17802  {
17803  }
17804 
17807  : ::xml_schema::string (_xsd_string_base)
17808  {
17809  }
17810 
17813  : ::xml_schema::string (_xsd_string_base)
17814  {
17815  }
17816 
17819  ::xml_schema::flags f,
17820  ::xml_schema::container* c)
17821  : ::xml_schema::string (x, f, c)
17822  {
17823  }
17824 
17826  Nml2Quantity_conductanceDensity (const ::xercesc::DOMElement& e,
17827  ::xml_schema::flags f,
17828  ::xml_schema::container* c)
17829  : ::xml_schema::string (e, f, c)
17830  {
17831  }
17832 
17834  Nml2Quantity_conductanceDensity (const ::xercesc::DOMAttr& a,
17835  ::xml_schema::flags f,
17836  ::xml_schema::container* c)
17837  : ::xml_schema::string (a, f, c)
17838  {
17839  }
17840 
17843  const ::xercesc::DOMElement* e,
17844  ::xml_schema::flags f,
17845  ::xml_schema::container* c)
17846  : ::xml_schema::string (s, e, f, c)
17847  {
17848  }
17849 
17852  ::xml_schema::container* c) const
17853  {
17854  return new class Nml2Quantity_conductanceDensity (*this, f, c);
17855  }
17856 
17859  {
17860  }
17861 
17862  // Nml2Quantity_permeability
17863  //
17864 
17867  : ::xml_schema::string ()
17868  {
17869  }
17870 
17872  Nml2Quantity_permeability (const char* _xsd_string_base)
17873  : ::xml_schema::string (_xsd_string_base)
17874  {
17875  }
17876 
17879  : ::xml_schema::string (_xsd_string_base)
17880  {
17881  }
17882 
17885  : ::xml_schema::string (_xsd_string_base)
17886  {
17887  }
17888 
17891  ::xml_schema::flags f,
17892  ::xml_schema::container* c)
17893  : ::xml_schema::string (x, f, c)
17894  {
17895  }
17896 
17898  Nml2Quantity_permeability (const ::xercesc::DOMElement& e,
17899  ::xml_schema::flags f,
17900  ::xml_schema::container* c)
17901  : ::xml_schema::string (e, f, c)
17902  {
17903  }
17904 
17906  Nml2Quantity_permeability (const ::xercesc::DOMAttr& a,
17907  ::xml_schema::flags f,
17908  ::xml_schema::container* c)
17909  : ::xml_schema::string (a, f, c)
17910  {
17911  }
17912 
17915  const ::xercesc::DOMElement* e,
17916  ::xml_schema::flags f,
17917  ::xml_schema::container* c)
17918  : ::xml_schema::string (s, e, f, c)
17919  {
17920  }
17921 
17924  ::xml_schema::container* c) const
17925  {
17926  return new class Nml2Quantity_permeability (*this, f, c);
17927  }
17928 
17931  {
17932  }
17933 
17934  // Nml2Quantity_time
17935  //
17936 
17939  : ::xml_schema::string ()
17940  {
17941  }
17942 
17944  Nml2Quantity_time (const char* _xsd_string_base)
17945  : ::xml_schema::string (_xsd_string_base)
17946  {
17947  }
17948 
17950  Nml2Quantity_time (const ::std::string& _xsd_string_base)
17951  : ::xml_schema::string (_xsd_string_base)
17952  {
17953  }
17954 
17957  : ::xml_schema::string (_xsd_string_base)
17958  {
17959  }
17960 
17963  ::xml_schema::flags f,
17964  ::xml_schema::container* c)
17965  : ::xml_schema::string (x, f, c)
17966  {
17967  }
17968 
17970  Nml2Quantity_time (const ::xercesc::DOMElement& e,
17971  ::xml_schema::flags f,
17972  ::xml_schema::container* c)
17973  : ::xml_schema::string (e, f, c)
17974  {
17975  }
17976 
17978  Nml2Quantity_time (const ::xercesc::DOMAttr& a,
17979  ::xml_schema::flags f,
17980  ::xml_schema::container* c)
17981  : ::xml_schema::string (a, f, c)
17982  {
17983  }
17984 
17987  const ::xercesc::DOMElement* e,
17988  ::xml_schema::flags f,
17989  ::xml_schema::container* c)
17990  : ::xml_schema::string (s, e, f, c)
17991  {
17992  }
17993 
17996  ::xml_schema::container* c) const
17997  {
17998  return new class Nml2Quantity_time (*this, f, c);
17999  }
18000 
18003  {
18004  }
18005 
18006  // Nml2Quantity_pertime
18007  //
18008 
18011  : ::xml_schema::string ()
18012  {
18013  }
18014 
18016  Nml2Quantity_pertime (const char* _xsd_string_base)
18017  : ::xml_schema::string (_xsd_string_base)
18018  {
18019  }
18020 
18022  Nml2Quantity_pertime (const ::std::string& _xsd_string_base)
18023  : ::xml_schema::string (_xsd_string_base)
18024  {
18025  }
18026 
18029  : ::xml_schema::string (_xsd_string_base)
18030  {
18031  }
18032 
18035  ::xml_schema::flags f,
18036  ::xml_schema::container* c)
18037  : ::xml_schema::string (x, f, c)
18038  {
18039  }
18040 
18042  Nml2Quantity_pertime (const ::xercesc::DOMElement& e,
18043  ::xml_schema::flags f,
18044  ::xml_schema::container* c)
18045  : ::xml_schema::string (e, f, c)
18046  {
18047  }
18048 
18050  Nml2Quantity_pertime (const ::xercesc::DOMAttr& a,
18051  ::xml_schema::flags f,
18052  ::xml_schema::container* c)
18053  : ::xml_schema::string (a, f, c)
18054  {
18055  }
18056 
18059  const ::xercesc::DOMElement* e,
18060  ::xml_schema::flags f,
18061  ::xml_schema::container* c)
18062  : ::xml_schema::string (s, e, f, c)
18063  {
18064  }
18065 
18068  ::xml_schema::container* c) const
18069  {
18070  return new class Nml2Quantity_pertime (*this, f, c);
18071  }
18072 
18075  {
18076  }
18077 
18078  // Nml2Quantity_capacitance
18079  //
18080 
18083  : ::xml_schema::string ()
18084  {
18085  }
18086 
18088  Nml2Quantity_capacitance (const char* _xsd_string_base)
18089  : ::xml_schema::string (_xsd_string_base)
18090  {
18091  }
18092 
18095  : ::xml_schema::string (_xsd_string_base)
18096  {
18097  }
18098 
18101  : ::xml_schema::string (_xsd_string_base)
18102  {
18103  }
18104 
18107  ::xml_schema::flags f,
18108  ::xml_schema::container* c)
18109  : ::xml_schema::string (x, f, c)
18110  {
18111  }
18112 
18114  Nml2Quantity_capacitance (const ::xercesc::DOMElement& e,
18115  ::xml_schema::flags f,
18116  ::xml_schema::container* c)
18117  : ::xml_schema::string (e, f, c)
18118  {
18119  }
18120 
18122  Nml2Quantity_capacitance (const ::xercesc::DOMAttr& a,
18123  ::xml_schema::flags f,
18124  ::xml_schema::container* c)
18125  : ::xml_schema::string (a, f, c)
18126  {
18127  }
18128 
18131  const ::xercesc::DOMElement* e,
18132  ::xml_schema::flags f,
18133  ::xml_schema::container* c)
18134  : ::xml_schema::string (s, e, f, c)
18135  {
18136  }
18137 
18140  ::xml_schema::container* c) const
18141  {
18142  return new class Nml2Quantity_capacitance (*this, f, c);
18143  }
18144 
18147  {
18148  }
18149 
18150  // Nml2Quantity_specificCapacitance
18151  //
18152 
18155  : ::xml_schema::string ()
18156  {
18157  }
18158 
18160  Nml2Quantity_specificCapacitance (const char* _xsd_string_base)
18161  : ::xml_schema::string (_xsd_string_base)
18162  {
18163  }
18164 
18167  : ::xml_schema::string (_xsd_string_base)
18168  {
18169  }
18170 
18173  : ::xml_schema::string (_xsd_string_base)
18174  {
18175  }
18176 
18179  ::xml_schema::flags f,
18180  ::xml_schema::container* c)
18181  : ::xml_schema::string (x, f, c)
18182  {
18183  }
18184 
18186  Nml2Quantity_specificCapacitance (const ::xercesc::DOMElement& e,
18187  ::xml_schema::flags f,
18188  ::xml_schema::container* c)
18189  : ::xml_schema::string (e, f, c)
18190  {
18191  }
18192 
18194  Nml2Quantity_specificCapacitance (const ::xercesc::DOMAttr& a,
18195  ::xml_schema::flags f,
18196  ::xml_schema::container* c)
18197  : ::xml_schema::string (a, f, c)
18198  {
18199  }
18200 
18203  const ::xercesc::DOMElement* e,
18204  ::xml_schema::flags f,
18205  ::xml_schema::container* c)
18206  : ::xml_schema::string (s, e, f, c)
18207  {
18208  }
18209 
18212  ::xml_schema::container* c) const
18213  {
18214  return new class Nml2Quantity_specificCapacitance (*this, f, c);
18215  }
18216 
18219  {
18220  }
18221 
18222  // Nml2Quantity_concentration
18223  //
18224 
18227  : ::xml_schema::string ()
18228  {
18229  }
18230 
18232  Nml2Quantity_concentration (const char* _xsd_string_base)
18233  : ::xml_schema::string (_xsd_string_base)
18234  {
18235  }
18236 
18239  : ::xml_schema::string (_xsd_string_base)
18240  {
18241  }
18242 
18245  : ::xml_schema::string (_xsd_string_base)
18246  {
18247  }
18248 
18251  ::xml_schema::flags f,
18252  ::xml_schema::container* c)
18253  : ::xml_schema::string (x, f, c)
18254  {
18255  }
18256 
18258  Nml2Quantity_concentration (const ::xercesc::DOMElement& e,
18259  ::xml_schema::flags f,
18260  ::xml_schema::container* c)
18261  : ::xml_schema::string (e, f, c)
18262  {
18263  }
18264 
18266  Nml2Quantity_concentration (const ::xercesc::DOMAttr& a,
18267  ::xml_schema::flags f,
18268  ::xml_schema::container* c)
18269  : ::xml_schema::string (a, f, c)
18270  {
18271  }
18272 
18275  const ::xercesc::DOMElement* e,
18276  ::xml_schema::flags f,
18277  ::xml_schema::container* c)
18278  : ::xml_schema::string (s, e, f, c)
18279  {
18280  }
18281 
18284  ::xml_schema::container* c) const
18285  {
18286  return new class Nml2Quantity_concentration (*this, f, c);
18287  }
18288 
18291  {
18292  }
18293 
18294  // Nml2Quantity_current
18295  //
18296 
18299  : ::xml_schema::string ()
18300  {
18301  }
18302 
18304  Nml2Quantity_current (const char* _xsd_string_base)
18305  : ::xml_schema::string (_xsd_string_base)
18306  {
18307  }
18308 
18310  Nml2Quantity_current (const ::std::string& _xsd_string_base)
18311  : ::xml_schema::string (_xsd_string_base)
18312  {
18313  }
18314 
18317  : ::xml_schema::string (_xsd_string_base)
18318  {
18319  }
18320 
18323  ::xml_schema::flags f,
18324  ::xml_schema::container* c)
18325  : ::xml_schema::string (x, f, c)
18326  {
18327  }
18328 
18330  Nml2Quantity_current (const ::xercesc::DOMElement& e,
18331  ::xml_schema::flags f,
18332  ::xml_schema::container* c)
18333  : ::xml_schema::string (e, f, c)
18334  {
18335  }
18336 
18338  Nml2Quantity_current (const ::xercesc::DOMAttr& a,
18339  ::xml_schema::flags f,
18340  ::xml_schema::container* c)
18341  : ::xml_schema::string (a, f, c)
18342  {
18343  }
18344 
18347  const ::xercesc::DOMElement* e,
18348  ::xml_schema::flags f,
18349  ::xml_schema::container* c)
18350  : ::xml_schema::string (s, e, f, c)
18351  {
18352  }
18353 
18356  ::xml_schema::container* c) const
18357  {
18358  return new class Nml2Quantity_current (*this, f, c);
18359  }
18360 
18363  {
18364  }
18365 
18366  // Nml2Quantity_currentDensity
18367  //
18368 
18371  : ::xml_schema::string ()
18372  {
18373  }
18374 
18376  Nml2Quantity_currentDensity (const char* _xsd_string_base)
18377  : ::xml_schema::string (_xsd_string_base)
18378  {
18379  }
18380 
18383  : ::xml_schema::string (_xsd_string_base)
18384  {
18385  }
18386 
18389  : ::xml_schema::string (_xsd_string_base)
18390  {
18391  }
18392 
18395  ::xml_schema::flags f,
18396  ::xml_schema::container* c)
18397  : ::xml_schema::string (x, f, c)
18398  {
18399  }
18400 
18402  Nml2Quantity_currentDensity (const ::xercesc::DOMElement& e,
18403  ::xml_schema::flags f,
18404  ::xml_schema::container* c)
18405  : ::xml_schema::string (e, f, c)
18406  {
18407  }
18408 
18410  Nml2Quantity_currentDensity (const ::xercesc::DOMAttr& a,
18411  ::xml_schema::flags f,
18412  ::xml_schema::container* c)
18413  : ::xml_schema::string (a, f, c)
18414  {
18415  }
18416 
18419  const ::xercesc::DOMElement* e,
18420  ::xml_schema::flags f,
18421  ::xml_schema::container* c)
18422  : ::xml_schema::string (s, e, f, c)
18423  {
18424  }
18425 
18428  ::xml_schema::container* c) const
18429  {
18430  return new class Nml2Quantity_currentDensity (*this, f, c);
18431  }
18432 
18435  {
18436  }
18437 
18438  // Nml2Quantity_temperature
18439  //
18440 
18443  : ::xml_schema::string ()
18444  {
18445  }
18446 
18448  Nml2Quantity_temperature (const char* _xsd_string_base)
18449  : ::xml_schema::string (_xsd_string_base)
18450  {
18451  }
18452 
18455  : ::xml_schema::string (_xsd_string_base)
18456  {
18457  }
18458 
18461  : ::xml_schema::string (_xsd_string_base)
18462  {
18463  }
18464 
18467  ::xml_schema::flags f,
18468  ::xml_schema::container* c)
18469  : ::xml_schema::string (x, f, c)
18470  {
18471  }
18472 
18474  Nml2Quantity_temperature (const ::xercesc::DOMElement& e,
18475  ::xml_schema::flags f,
18476  ::xml_schema::container* c)
18477  : ::xml_schema::string (e, f, c)
18478  {
18479  }
18480 
18482  Nml2Quantity_temperature (const ::xercesc::DOMAttr& a,
18483  ::xml_schema::flags f,
18484  ::xml_schema::container* c)
18485  : ::xml_schema::string (a, f, c)
18486  {
18487  }
18488 
18491  const ::xercesc::DOMElement* e,
18492  ::xml_schema::flags f,
18493  ::xml_schema::container* c)
18494  : ::xml_schema::string (s, e, f, c)
18495  {
18496  }
18497 
18500  ::xml_schema::container* c) const
18501  {
18502  return new class Nml2Quantity_temperature (*this, f, c);
18503  }
18504 
18507  {
18508  }
18509 
18510  // Nml2Quantity_rhoFactor
18511  //
18512 
18515  : ::xml_schema::string ()
18516  {
18517  }
18518 
18520  Nml2Quantity_rhoFactor (const char* _xsd_string_base)
18521  : ::xml_schema::string (_xsd_string_base)
18522  {
18523  }
18524 
18526  Nml2Quantity_rhoFactor (const ::std::string& _xsd_string_base)
18527  : ::xml_schema::string (_xsd_string_base)
18528  {
18529  }
18530 
18533  : ::xml_schema::string (_xsd_string_base)
18534  {
18535  }
18536 
18539  ::xml_schema::flags f,
18540  ::xml_schema::container* c)
18541  : ::xml_schema::string (x, f, c)
18542  {
18543  }
18544 
18546  Nml2Quantity_rhoFactor (const ::xercesc::DOMElement& e,
18547  ::xml_schema::flags f,
18548  ::xml_schema::container* c)
18549  : ::xml_schema::string (e, f, c)
18550  {
18551  }
18552 
18554  Nml2Quantity_rhoFactor (const ::xercesc::DOMAttr& a,
18555  ::xml_schema::flags f,
18556  ::xml_schema::container* c)
18557  : ::xml_schema::string (a, f, c)
18558  {
18559  }
18560 
18563  const ::xercesc::DOMElement* e,
18564  ::xml_schema::flags f,
18565  ::xml_schema::container* c)
18566  : ::xml_schema::string (s, e, f, c)
18567  {
18568  }
18569 
18572  ::xml_schema::container* c) const
18573  {
18574  return new class Nml2Quantity_rhoFactor (*this, f, c);
18575  }
18576 
18579  {
18580  }
18581 
18582  // Nml2Quantity_conductancePerVoltage
18583  //
18584 
18587  : ::xml_schema::string ()
18588  {
18589  }
18590 
18592  Nml2Quantity_conductancePerVoltage (const char* _xsd_string_base)
18593  : ::xml_schema::string (_xsd_string_base)
18594  {
18595  }
18596 
18599  : ::xml_schema::string (_xsd_string_base)
18600  {
18601  }
18602 
18605  : ::xml_schema::string (_xsd_string_base)
18606  {
18607  }
18608 
18611  ::xml_schema::flags f,
18612  ::xml_schema::container* c)
18613  : ::xml_schema::string (x, f, c)
18614  {
18615  }
18616 
18618  Nml2Quantity_conductancePerVoltage (const ::xercesc::DOMElement& e,
18619  ::xml_schema::flags f,
18620  ::xml_schema::container* c)
18621  : ::xml_schema::string (e, f, c)
18622  {
18623  }
18624 
18626  Nml2Quantity_conductancePerVoltage (const ::xercesc::DOMAttr& a,
18627  ::xml_schema::flags f,
18628  ::xml_schema::container* c)
18629  : ::xml_schema::string (a, f, c)
18630  {
18631  }
18632 
18635  const ::xercesc::DOMElement* e,
18636  ::xml_schema::flags f,
18637  ::xml_schema::container* c)
18638  : ::xml_schema::string (s, e, f, c)
18639  {
18640  }
18641 
18644  ::xml_schema::container* c) const
18645  {
18646  return new class Nml2Quantity_conductancePerVoltage (*this, f, c);
18647  }
18648 
18651  {
18652  }
18653 
18654  // MetaId
18655  //
18656 
18658  MetaId ()
18659  : ::xml_schema::string ()
18660  {
18661  }
18662 
18664  MetaId (const char* _xsd_string_base)
18665  : ::xml_schema::string (_xsd_string_base)
18666  {
18667  }
18668 
18670  MetaId (const ::std::string& _xsd_string_base)
18671  : ::xml_schema::string (_xsd_string_base)
18672  {
18673  }
18674 
18676  MetaId (const ::xml_schema::string& _xsd_string_base)
18677  : ::xml_schema::string (_xsd_string_base)
18678  {
18679  }
18680 
18682  MetaId (const MetaId& x,
18683  ::xml_schema::flags f,
18684  ::xml_schema::container* c)
18685  : ::xml_schema::string (x, f, c)
18686  {
18687  }
18688 
18690  MetaId (const ::xercesc::DOMElement& e,
18691  ::xml_schema::flags f,
18692  ::xml_schema::container* c)
18693  : ::xml_schema::string (e, f, c)
18694  {
18695  }
18696 
18698  MetaId (const ::xercesc::DOMAttr& a,
18699  ::xml_schema::flags f,
18700  ::xml_schema::container* c)
18701  : ::xml_schema::string (a, f, c)
18702  {
18703  }
18704 
18707  const ::xercesc::DOMElement* e,
18708  ::xml_schema::flags f,
18709  ::xml_schema::container* c)
18710  : ::xml_schema::string (s, e, f, c)
18711  {
18712  }
18713 
18716  ::xml_schema::container* c) const
18717  {
18718  return new class MetaId (*this, f, c);
18719  }
18720 
18722  ~MetaId ()
18723  {
18724  }
18725 
18726  // NeuroLexId
18727  //
18728 
18730  NeuroLexId ()
18731  : ::xml_schema::string ()
18732  {
18733  }
18734 
18736  NeuroLexId (const char* _xsd_string_base)
18737  : ::xml_schema::string (_xsd_string_base)
18738  {
18739  }
18740 
18742  NeuroLexId (const ::std::string& _xsd_string_base)
18743  : ::xml_schema::string (_xsd_string_base)
18744  {
18745  }
18746 
18748  NeuroLexId (const ::xml_schema::string& _xsd_string_base)
18749  : ::xml_schema::string (_xsd_string_base)
18750  {
18751  }
18752 
18754  NeuroLexId (const NeuroLexId& x,
18755  ::xml_schema::flags f,
18756  ::xml_schema::container* c)
18757  : ::xml_schema::string (x, f, c)
18758  {
18759  }
18760 
18762  NeuroLexId (const ::xercesc::DOMElement& e,
18763  ::xml_schema::flags f,
18764  ::xml_schema::container* c)
18765  : ::xml_schema::string (e, f, c)
18766  {
18767  }
18768 
18770  NeuroLexId (const ::xercesc::DOMAttr& a,
18771  ::xml_schema::flags f,
18772  ::xml_schema::container* c)
18773  : ::xml_schema::string (a, f, c)
18774  {
18775  }
18776 
18779  const ::xercesc::DOMElement* e,
18780  ::xml_schema::flags f,
18781  ::xml_schema::container* c)
18782  : ::xml_schema::string (s, e, f, c)
18783  {
18784  }
18785 
18788  ::xml_schema::container* c) const
18789  {
18790  return new class NeuroLexId (*this, f, c);
18791  }
18792 
18794  ~NeuroLexId ()
18795  {
18796  }
18797 
18798  // Nml2PopulationReferencePath
18799  //
18800 
18803  : ::xml_schema::string ()
18804  {
18805  }
18806 
18808  Nml2PopulationReferencePath (const char* _xsd_string_base)
18809  : ::xml_schema::string (_xsd_string_base)
18810  {
18811  }
18812 
18815  : ::xml_schema::string (_xsd_string_base)
18816  {
18817  }
18818 
18821  : ::xml_schema::string (_xsd_string_base)
18822  {
18823  }
18824 
18827  ::xml_schema::flags f,
18828  ::xml_schema::container* c)
18829  : ::xml_schema::string (x, f, c)
18830  {
18831  }
18832 
18834  Nml2PopulationReferencePath (const ::xercesc::DOMElement& e,
18835  ::xml_schema::flags f,
18836  ::xml_schema::container* c)
18837  : ::xml_schema::string (e, f, c)
18838  {
18839  }
18840 
18842  Nml2PopulationReferencePath (const ::xercesc::DOMAttr& a,
18843  ::xml_schema::flags f,
18844  ::xml_schema::container* c)
18845  : ::xml_schema::string (a, f, c)
18846  {
18847  }
18848 
18851  const ::xercesc::DOMElement* e,
18852  ::xml_schema::flags f,
18853  ::xml_schema::container* c)
18854  : ::xml_schema::string (s, e, f, c)
18855  {
18856  }
18857 
18860  ::xml_schema::container* c) const
18861  {
18862  return new class Nml2PopulationReferencePath (*this, f, c);
18863  }
18864 
18867  {
18868  }
18869 
18870  // NonNegativeInteger
18871  //
18872 
18874  NonNegativeInteger (const ::xml_schema::non_negative_integer& _xsd_non_negative_integer_base)
18875  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::non_negative_integer, char, ::xml_schema::simple_type > (_xsd_non_negative_integer_base)
18876  {
18877  }
18878 
18881  ::xml_schema::flags f,
18882  ::xml_schema::container* c)
18883  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::non_negative_integer, char, ::xml_schema::simple_type > (x, f, c)
18884  {
18885  }
18886 
18888  NonNegativeInteger (const ::xercesc::DOMElement& e,
18889  ::xml_schema::flags f,
18890  ::xml_schema::container* c)
18891  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::non_negative_integer, char, ::xml_schema::simple_type > (e, f, c)
18892  {
18893  }
18894 
18896  NonNegativeInteger (const ::xercesc::DOMAttr& a,
18897  ::xml_schema::flags f,
18898  ::xml_schema::container* c)
18899  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::non_negative_integer, char, ::xml_schema::simple_type > (a, f, c)
18900  {
18901  }
18902 
18905  const ::xercesc::DOMElement* e,
18906  ::xml_schema::flags f,
18907  ::xml_schema::container* c)
18908  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::non_negative_integer, char, ::xml_schema::simple_type > (s, e, f, c)
18909  {
18910  }
18911 
18914  ::xml_schema::container* c) const
18915  {
18916  return new class NonNegativeInteger (*this, f, c);
18917  }
18918 
18921  {
18922  }
18923 
18924  // PositiveInteger
18925  //
18926 
18928  PositiveInteger (const ::xml_schema::positive_integer& _xsd_positive_integer_base)
18929  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::positive_integer, char, ::xml_schema::simple_type > (_xsd_positive_integer_base)
18930  {
18931  }
18932 
18935  ::xml_schema::flags f,
18936  ::xml_schema::container* c)
18937  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::positive_integer, char, ::xml_schema::simple_type > (x, f, c)
18938  {
18939  }
18940 
18942  PositiveInteger (const ::xercesc::DOMElement& e,
18943  ::xml_schema::flags f,
18944  ::xml_schema::container* c)
18945  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::positive_integer, char, ::xml_schema::simple_type > (e, f, c)
18946  {
18947  }
18948 
18950  PositiveInteger (const ::xercesc::DOMAttr& a,
18951  ::xml_schema::flags f,
18952  ::xml_schema::container* c)
18953  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::positive_integer, char, ::xml_schema::simple_type > (a, f, c)
18954  {
18955  }
18956 
18959  const ::xercesc::DOMElement* e,
18960  ::xml_schema::flags f,
18961  ::xml_schema::container* c)
18962  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::positive_integer, char, ::xml_schema::simple_type > (s, e, f, c)
18963  {
18964  }
18965 
18968  ::xml_schema::container* c) const
18969  {
18970  return new class PositiveInteger (*this, f, c);
18971  }
18972 
18975  {
18976  }
18977 
18978  // DoubleGreaterThanZero
18979  //
18980 
18983  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::double_, char, ::xml_schema::simple_type, ::xsd::cxx::tree::schema_type::double_ > (_xsd_double__base)
18984  {
18985  }
18986 
18989  ::xml_schema::flags f,
18990  ::xml_schema::container* c)
18991  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::double_, char, ::xml_schema::simple_type, ::xsd::cxx::tree::schema_type::double_ > (x, f, c)
18992  {
18993  }
18994 
18996  DoubleGreaterThanZero (const ::xercesc::DOMElement& e,
18997  ::xml_schema::flags f,
18998  ::xml_schema::container* c)
18999  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::double_, char, ::xml_schema::simple_type, ::xsd::cxx::tree::schema_type::double_ > (e, f, c)
19000  {
19001  }
19002 
19004  DoubleGreaterThanZero (const ::xercesc::DOMAttr& a,
19005  ::xml_schema::flags f,
19006  ::xml_schema::container* c)
19007  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::double_, char, ::xml_schema::simple_type, ::xsd::cxx::tree::schema_type::double_ > (a, f, c)
19008  {
19009  }
19010 
19013  const ::xercesc::DOMElement* e,
19014  ::xml_schema::flags f,
19015  ::xml_schema::container* c)
19016  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::double_, char, ::xml_schema::simple_type, ::xsd::cxx::tree::schema_type::double_ > (s, e, f, c)
19017  {
19018  }
19019 
19022  ::xml_schema::container* c) const
19023  {
19024  return new class DoubleGreaterThanZero (*this, f, c);
19025  }
19026 
19029  {
19030  }
19031 
19032  // ZeroOrOne
19033  //
19034 
19036  ZeroOrOne (const ::xercesc::DOMElement& e,
19037  ::xml_schema::flags f,
19038  ::xml_schema::container* c)
19039  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::double_, char, ::xml_schema::simple_type, ::xsd::cxx::tree::schema_type::double_ > (e, f, c)
19040  {
19041  }
19042 
19044  ZeroOrOne (const ::xercesc::DOMAttr& a,
19045  ::xml_schema::flags f,
19046  ::xml_schema::container* c)
19047  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::double_, char, ::xml_schema::simple_type, ::xsd::cxx::tree::schema_type::double_ > (a, f, c)
19048  {
19049  }
19050 
19053  const ::xercesc::DOMElement* e,
19054  ::xml_schema::flags f,
19055  ::xml_schema::container* c)
19056  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::double_, char, ::xml_schema::simple_type, ::xsd::cxx::tree::schema_type::double_ > (s, e, f, c)
19057  {
19058  }
19059 
19062  ::xml_schema::container* c) const
19063  {
19064  return new class ZeroOrOne (*this, f, c);
19065  }
19066 
19067  // Notes
19068  //
19069 
19071  Notes ()
19072  : ::xml_schema::string ()
19073  {
19074  }
19075 
19077  Notes (const char* _xsd_string_base)
19078  : ::xml_schema::string (_xsd_string_base)
19079  {
19080  }
19081 
19083  Notes (const ::std::string& _xsd_string_base)
19084  : ::xml_schema::string (_xsd_string_base)
19085  {
19086  }
19087 
19089  Notes (const ::xml_schema::string& _xsd_string_base)
19090  : ::xml_schema::string (_xsd_string_base)
19091  {
19092  }
19093 
19095  Notes (const Notes& x,
19096  ::xml_schema::flags f,
19097  ::xml_schema::container* c)
19098  : ::xml_schema::string (x, f, c)
19099  {
19100  }
19101 
19103  Notes (const ::xercesc::DOMElement& e,
19104  ::xml_schema::flags f,
19105  ::xml_schema::container* c)
19106  : ::xml_schema::string (e, f, c)
19107  {
19108  }
19109 
19111  Notes (const ::xercesc::DOMAttr& a,
19112  ::xml_schema::flags f,
19113  ::xml_schema::container* c)
19114  : ::xml_schema::string (a, f, c)
19115  {
19116  }
19117 
19120  const ::xercesc::DOMElement* e,
19121  ::xml_schema::flags f,
19122  ::xml_schema::container* c)
19123  : ::xml_schema::string (s, e, f, c)
19124  {
19125  }
19126 
19129  ::xml_schema::container* c) const
19130  {
19131  return new class Notes (*this, f, c);
19132  }
19133 
19135  ~Notes ()
19136  {
19137  }
19138 
19139  // BaseWithoutId
19140  //
19141 
19143  BaseWithoutId ()
19144  : ::xml_schema::type ()
19145  {
19146  }
19147 
19149  BaseWithoutId (const BaseWithoutId& x,
19150  ::xml_schema::flags f,
19151  ::xml_schema::container* c)
19152  : ::xml_schema::type (x, f, c)
19153  {
19154  }
19155 
19157  BaseWithoutId (const ::xercesc::DOMElement& e,
19158  ::xml_schema::flags f,
19159  ::xml_schema::container* c)
19160  : ::xml_schema::type (e, f, c)
19161  {
19162  }
19163 
19165  BaseWithoutId (const ::xercesc::DOMAttr& a,
19166  ::xml_schema::flags f,
19167  ::xml_schema::container* c)
19168  : ::xml_schema::type (a, f, c)
19169  {
19170  }
19171 
19174  const ::xercesc::DOMElement* e,
19175  ::xml_schema::flags f,
19176  ::xml_schema::container* c)
19177  : ::xml_schema::type (s, e, f, c)
19178  {
19179  }
19180 
19183  ::xml_schema::container* c) const
19184  {
19185  return new class BaseWithoutId (*this, f, c);
19186  }
19187 
19189  ~BaseWithoutId ()
19190  {
19191  }
19192 
19193  bool
19194  operator== (const BaseWithoutId&, const BaseWithoutId&)
19195  {
19196  return true;
19197  }
19198 
19199  bool
19200  operator!= (const BaseWithoutId& x, const BaseWithoutId& y)
19201  {
19202  return !(x == y);
19203  }
19204 
19205  // Property
19206  //
19207 
19209  Property (const tag_type& tag,
19210  const value_type& value)
19211  : ::neuroml2::BaseWithoutId (),
19212  tag_ (tag, this),
19213  value_ (value, this)
19214  {
19215  }
19216 
19218  Property (const Property& x,
19219  ::xml_schema::flags f,
19220  ::xml_schema::container* c)
19221  : ::neuroml2::BaseWithoutId (x, f, c),
19222  tag_ (x.tag_, f, this),
19223  value_ (x.value_, f, this)
19224  {
19225  }
19226 
19228  Property (const ::xercesc::DOMElement& e,
19229  ::xml_schema::flags f,
19230  ::xml_schema::container* c)
19231  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
19232  tag_ (this),
19233  value_ (this)
19234  {
19235  if ((f & ::xml_schema::flags::base) == 0)
19236  {
19237  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
19238  this->parse (p, f);
19239  }
19240  }
19241 
19242  void Property::
19243  parse (::xsd::cxx::xml::dom::parser< char >& p,
19244  ::xml_schema::flags f)
19245  {
19246  while (p.more_attributes ())
19247  {
19248  const ::xercesc::DOMAttr& i (p.next_attribute ());
19249  const ::xsd::cxx::xml::qualified_name< char > n (
19250  ::xsd::cxx::xml::dom::name< char > (i));
19251 
19252  if (n.name () == "tag" && n.namespace_ ().empty ())
19253  {
19254  this->tag_.set (tag_traits::create (i, f, this));
19255  continue;
19256  }
19257 
19258  if (n.name () == "value" && n.namespace_ ().empty ())
19259  {
19260  this->value_.set (value_traits::create (i, f, this));
19261  continue;
19262  }
19263  }
19264 
19265  if (!tag_.present ())
19266  {
19267  throw ::xsd::cxx::tree::expected_attribute< char > (
19268  "tag",
19269  "");
19270  }
19271 
19272  if (!value_.present ())
19273  {
19274  throw ::xsd::cxx::tree::expected_attribute< char > (
19275  "value",
19276  "");
19277  }
19278  }
19279 
19282  ::xml_schema::container* c) const
19283  {
19284  return new class Property (*this, f, c);
19285  }
19286 
19288  operator= (const Property& x)
19289  {
19290  if (this != &x)
19291  {
19292  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
19293  this->tag_ = x.tag_;
19294  this->value_ = x.value_;
19295  }
19296 
19297  return *this;
19298  }
19299 
19301  ~Property ()
19302  {
19303  }
19304 
19305  bool
19306  operator== (const Property& x, const Property& y)
19307  {
19308  if (!(x.tag () == y.tag ()))
19309  return false;
19310 
19311  if (!(x.value () == y.value ()))
19312  return false;
19313 
19314  return true;
19315  }
19316 
19317  bool
19318  operator!= (const Property& x, const Property& y)
19319  {
19320  return !(x == y);
19321  }
19322 
19323  // Annotation
19324  //
19325 
19327  Annotation ()
19328  : ::neuroml2::BaseWithoutId ()
19329  {
19330  }
19331 
19333  Annotation (const Annotation& x,
19334  ::xml_schema::flags f,
19335  ::xml_schema::container* c)
19336  : ::neuroml2::BaseWithoutId (x, f, c)
19337  {
19338  }
19339 
19341  Annotation (const ::xercesc::DOMElement& e,
19342  ::xml_schema::flags f,
19343  ::xml_schema::container* c)
19344  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c)
19345  {
19346  if ((f & ::xml_schema::flags::base) == 0)
19347  {
19348  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, false);
19349  this->parse (p, f);
19350  }
19351  }
19352 
19353  void Annotation::
19354  parse (::xsd::cxx::xml::dom::parser< char >& p,
19356  {
19357  for (; p.more_content (); p.next_content (false))
19358  {
19359  const ::xercesc::DOMElement& i (p.cur_element ());
19360  const ::xsd::cxx::xml::qualified_name< char > n (
19361  ::xsd::cxx::xml::dom::name< char > (i));
19362 
19363  break;
19364  }
19365  }
19366 
19369  ::xml_schema::container* c) const
19370  {
19371  return new class Annotation (*this, f, c);
19372  }
19373 
19375  ~Annotation ()
19376  {
19377  }
19378 
19379  // ComponentType
19380  //
19381 
19383  ComponentType (const name_type& name)
19384  : ::xml_schema::type (),
19385  Property_ (this),
19386  Parameter_ (this),
19387  DerivedParameter_ (this),
19388  Constant_ (this),
19389  Exposure_ (this),
19390  Requirement_ (this),
19391  InstanceRequirement_ (this),
19392  Dynamics_ (this),
19393  name_ (name, this),
19394  extends_ (this),
19395  description_ (this)
19396  {
19397  }
19398 
19400  ComponentType (const ComponentType& x,
19401  ::xml_schema::flags f,
19402  ::xml_schema::container* c)
19403  : ::xml_schema::type (x, f, c),
19404  Property_ (x.Property_, f, this),
19405  Parameter_ (x.Parameter_, f, this),
19406  DerivedParameter_ (x.DerivedParameter_, f, this),
19407  Constant_ (x.Constant_, f, this),
19408  Exposure_ (x.Exposure_, f, this),
19409  Requirement_ (x.Requirement_, f, this),
19410  InstanceRequirement_ (x.InstanceRequirement_, f, this),
19411  Dynamics_ (x.Dynamics_, f, this),
19412  name_ (x.name_, f, this),
19413  extends_ (x.extends_, f, this),
19414  description_ (x.description_, f, this)
19415  {
19416  }
19417 
19419  ComponentType (const ::xercesc::DOMElement& e,
19420  ::xml_schema::flags f,
19421  ::xml_schema::container* c)
19422  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
19423  Property_ (this),
19424  Parameter_ (this),
19425  DerivedParameter_ (this),
19426  Constant_ (this),
19427  Exposure_ (this),
19428  Requirement_ (this),
19429  InstanceRequirement_ (this),
19430  Dynamics_ (this),
19431  name_ (this),
19432  extends_ (this),
19433  description_ (this)
19434  {
19435  if ((f & ::xml_schema::flags::base) == 0)
19436  {
19437  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
19438  this->parse (p, f);
19439  }
19440  }
19441 
19442  void ComponentType::
19443  parse (::xsd::cxx::xml::dom::parser< char >& p,
19444  ::xml_schema::flags f)
19445  {
19446  for (; p.more_content (); p.next_content (false))
19447  {
19448  const ::xercesc::DOMElement& i (p.cur_element ());
19449  const ::xsd::cxx::xml::qualified_name< char > n (
19450  ::xsd::cxx::xml::dom::name< char > (i));
19451 
19452  // Property
19453  //
19454  if (n.name () == "Property" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
19455  {
19456  ::std::unique_ptr< Property_type > r (
19457  Property_traits::create (i, f, this));
19458 
19459  this->Property_.push_back (::std::move (r));
19460  continue;
19461  }
19462 
19463  // Parameter
19464  //
19465  if (n.name () == "Parameter" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
19466  {
19467  ::std::unique_ptr< Parameter_type > r (
19468  Parameter_traits::create (i, f, this));
19469 
19470  this->Parameter_.push_back (::std::move (r));
19471  continue;
19472  }
19473 
19474  // DerivedParameter
19475  //
19476  if (n.name () == "DerivedParameter" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
19477  {
19478  ::std::unique_ptr< DerivedParameter_type > r (
19479  DerivedParameter_traits::create (i, f, this));
19480 
19481  this->DerivedParameter_.push_back (::std::move (r));
19482  continue;
19483  }
19484 
19485  // Constant
19486  //
19487  if (n.name () == "Constant" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
19488  {
19489  ::std::unique_ptr< Constant_type > r (
19490  Constant_traits::create (i, f, this));
19491 
19492  this->Constant_.push_back (::std::move (r));
19493  continue;
19494  }
19495 
19496  // Exposure
19497  //
19498  if (n.name () == "Exposure" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
19499  {
19500  ::std::unique_ptr< Exposure_type > r (
19501  Exposure_traits::create (i, f, this));
19502 
19503  this->Exposure_.push_back (::std::move (r));
19504  continue;
19505  }
19506 
19507  // Requirement
19508  //
19509  if (n.name () == "Requirement" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
19510  {
19511  ::std::unique_ptr< Requirement_type > r (
19512  Requirement_traits::create (i, f, this));
19513 
19514  this->Requirement_.push_back (::std::move (r));
19515  continue;
19516  }
19517 
19518  // InstanceRequirement
19519  //
19520  if (n.name () == "InstanceRequirement" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
19521  {
19522  ::std::unique_ptr< InstanceRequirement_type > r (
19523  InstanceRequirement_traits::create (i, f, this));
19524 
19525  this->InstanceRequirement_.push_back (::std::move (r));
19526  continue;
19527  }
19528 
19529  // Dynamics
19530  //
19531  if (n.name () == "Dynamics" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
19532  {
19533  ::std::unique_ptr< Dynamics_type > r (
19534  Dynamics_traits::create (i, f, this));
19535 
19536  this->Dynamics_.push_back (::std::move (r));
19537  continue;
19538  }
19539 
19540  break;
19541  }
19542 
19543  while (p.more_attributes ())
19544  {
19545  const ::xercesc::DOMAttr& i (p.next_attribute ());
19546  const ::xsd::cxx::xml::qualified_name< char > n (
19547  ::xsd::cxx::xml::dom::name< char > (i));
19548 
19549  if (n.name () == "name" && n.namespace_ ().empty ())
19550  {
19551  this->name_.set (name_traits::create (i, f, this));
19552  continue;
19553  }
19554 
19555  if (n.name () == "extends" && n.namespace_ ().empty ())
19556  {
19557  this->extends_.set (extends_traits::create (i, f, this));
19558  continue;
19559  }
19560 
19561  if (n.name () == "description" && n.namespace_ ().empty ())
19562  {
19563  this->description_.set (description_traits::create (i, f, this));
19564  continue;
19565  }
19566  }
19567 
19568  if (!name_.present ())
19569  {
19570  throw ::xsd::cxx::tree::expected_attribute< char > (
19571  "name",
19572  "");
19573  }
19574  }
19575 
19578  ::xml_schema::container* c) const
19579  {
19580  return new class ComponentType (*this, f, c);
19581  }
19582 
19584  operator= (const ComponentType& x)
19585  {
19586  if (this != &x)
19587  {
19588  static_cast< ::xml_schema::type& > (*this) = x;
19589  this->Property_ = x.Property_;
19590  this->Parameter_ = x.Parameter_;
19591  this->DerivedParameter_ = x.DerivedParameter_;
19592  this->Constant_ = x.Constant_;
19593  this->Exposure_ = x.Exposure_;
19594  this->Requirement_ = x.Requirement_;
19595  this->InstanceRequirement_ = x.InstanceRequirement_;
19596  this->Dynamics_ = x.Dynamics_;
19597  this->name_ = x.name_;
19598  this->extends_ = x.extends_;
19599  this->description_ = x.description_;
19600  }
19601 
19602  return *this;
19603  }
19604 
19606  ~ComponentType ()
19607  {
19608  }
19609 
19610  bool
19611  operator== (const ComponentType& x, const ComponentType& y)
19612  {
19613  if (!(x.Property () == y.Property ()))
19614  return false;
19615 
19616  if (!(x.Parameter () == y.Parameter ()))
19617  return false;
19618 
19619  if (!(x.DerivedParameter () == y.DerivedParameter ()))
19620  return false;
19621 
19622  if (!(x.Constant () == y.Constant ()))
19623  return false;
19624 
19625  if (!(x.Exposure () == y.Exposure ()))
19626  return false;
19627 
19628  if (!(x.Requirement () == y.Requirement ()))
19629  return false;
19630 
19631  if (!(x.InstanceRequirement () == y.InstanceRequirement ()))
19632  return false;
19633 
19634  if (!(x.Dynamics () == y.Dynamics ()))
19635  return false;
19636 
19637  if (!(x.name () == y.name ()))
19638  return false;
19639 
19640  if (!(x.extends () == y.extends ()))
19641  return false;
19642 
19643  if (!(x.description () == y.description ()))
19644  return false;
19645 
19646  return true;
19647  }
19648 
19649  bool
19650  operator!= (const ComponentType& x, const ComponentType& y)
19651  {
19652  return !(x == y);
19653  }
19654 
19655  // Constant
19656  //
19657 
19659  Constant (const name_type& name,
19660  const dimension_type& dimension,
19661  const value_type& value)
19662  : ::neuroml2::BaseWithoutId (),
19663  name_ (name, this),
19664  dimension_ (dimension, this),
19665  value_ (value, this),
19666  description_ (this)
19667  {
19668  }
19669 
19671  Constant (const Constant& x,
19672  ::xml_schema::flags f,
19673  ::xml_schema::container* c)
19674  : ::neuroml2::BaseWithoutId (x, f, c),
19675  name_ (x.name_, f, this),
19676  dimension_ (x.dimension_, f, this),
19677  value_ (x.value_, f, this),
19678  description_ (x.description_, f, this)
19679  {
19680  }
19681 
19683  Constant (const ::xercesc::DOMElement& e,
19684  ::xml_schema::flags f,
19685  ::xml_schema::container* c)
19686  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
19687  name_ (this),
19688  dimension_ (this),
19689  value_ (this),
19690  description_ (this)
19691  {
19692  if ((f & ::xml_schema::flags::base) == 0)
19693  {
19694  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
19695  this->parse (p, f);
19696  }
19697  }
19698 
19699  void Constant::
19700  parse (::xsd::cxx::xml::dom::parser< char >& p,
19701  ::xml_schema::flags f)
19702  {
19703  while (p.more_attributes ())
19704  {
19705  const ::xercesc::DOMAttr& i (p.next_attribute ());
19706  const ::xsd::cxx::xml::qualified_name< char > n (
19707  ::xsd::cxx::xml::dom::name< char > (i));
19708 
19709  if (n.name () == "name" && n.namespace_ ().empty ())
19710  {
19711  this->name_.set (name_traits::create (i, f, this));
19712  continue;
19713  }
19714 
19715  if (n.name () == "dimension" && n.namespace_ ().empty ())
19716  {
19717  this->dimension_.set (dimension_traits::create (i, f, this));
19718  continue;
19719  }
19720 
19721  if (n.name () == "value" && n.namespace_ ().empty ())
19722  {
19723  this->value_.set (value_traits::create (i, f, this));
19724  continue;
19725  }
19726 
19727  if (n.name () == "description" && n.namespace_ ().empty ())
19728  {
19729  this->description_.set (description_traits::create (i, f, this));
19730  continue;
19731  }
19732  }
19733 
19734  if (!name_.present ())
19735  {
19736  throw ::xsd::cxx::tree::expected_attribute< char > (
19737  "name",
19738  "");
19739  }
19740 
19741  if (!dimension_.present ())
19742  {
19743  throw ::xsd::cxx::tree::expected_attribute< char > (
19744  "dimension",
19745  "");
19746  }
19747 
19748  if (!value_.present ())
19749  {
19750  throw ::xsd::cxx::tree::expected_attribute< char > (
19751  "value",
19752  "");
19753  }
19754  }
19755 
19758  ::xml_schema::container* c) const
19759  {
19760  return new class Constant (*this, f, c);
19761  }
19762 
19764  operator= (const Constant& x)
19765  {
19766  if (this != &x)
19767  {
19768  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
19769  this->name_ = x.name_;
19770  this->dimension_ = x.dimension_;
19771  this->value_ = x.value_;
19772  this->description_ = x.description_;
19773  }
19774 
19775  return *this;
19776  }
19777 
19779  ~Constant ()
19780  {
19781  }
19782 
19783  bool
19784  operator== (const Constant& x, const Constant& y)
19785  {
19786  if (!(x.name () == y.name ()))
19787  return false;
19788 
19789  if (!(x.dimension () == y.dimension ()))
19790  return false;
19791 
19792  if (!(x.value () == y.value ()))
19793  return false;
19794 
19795  if (!(x.description () == y.description ()))
19796  return false;
19797 
19798  return true;
19799  }
19800 
19801  bool
19802  operator!= (const Constant& x, const Constant& y)
19803  {
19804  return !(x == y);
19805  }
19806 
19807  // Exposure
19808  //
19809 
19811  Exposure (const name_type& name,
19812  const dimension_type& dimension)
19813  : ::neuroml2::BaseWithoutId (),
19814  name_ (name, this),
19815  dimension_ (dimension, this),
19816  description_ (this)
19817  {
19818  }
19819 
19821  Exposure (const Exposure& x,
19822  ::xml_schema::flags f,
19823  ::xml_schema::container* c)
19824  : ::neuroml2::BaseWithoutId (x, f, c),
19825  name_ (x.name_, f, this),
19826  dimension_ (x.dimension_, f, this),
19827  description_ (x.description_, f, this)
19828  {
19829  }
19830 
19832  Exposure (const ::xercesc::DOMElement& e,
19833  ::xml_schema::flags f,
19834  ::xml_schema::container* c)
19835  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
19836  name_ (this),
19837  dimension_ (this),
19838  description_ (this)
19839  {
19840  if ((f & ::xml_schema::flags::base) == 0)
19841  {
19842  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
19843  this->parse (p, f);
19844  }
19845  }
19846 
19847  void Exposure::
19848  parse (::xsd::cxx::xml::dom::parser< char >& p,
19849  ::xml_schema::flags f)
19850  {
19851  while (p.more_attributes ())
19852  {
19853  const ::xercesc::DOMAttr& i (p.next_attribute ());
19854  const ::xsd::cxx::xml::qualified_name< char > n (
19855  ::xsd::cxx::xml::dom::name< char > (i));
19856 
19857  if (n.name () == "name" && n.namespace_ ().empty ())
19858  {
19859  this->name_.set (name_traits::create (i, f, this));
19860  continue;
19861  }
19862 
19863  if (n.name () == "dimension" && n.namespace_ ().empty ())
19864  {
19865  this->dimension_.set (dimension_traits::create (i, f, this));
19866  continue;
19867  }
19868 
19869  if (n.name () == "description" && n.namespace_ ().empty ())
19870  {
19871  this->description_.set (description_traits::create (i, f, this));
19872  continue;
19873  }
19874  }
19875 
19876  if (!name_.present ())
19877  {
19878  throw ::xsd::cxx::tree::expected_attribute< char > (
19879  "name",
19880  "");
19881  }
19882 
19883  if (!dimension_.present ())
19884  {
19885  throw ::xsd::cxx::tree::expected_attribute< char > (
19886  "dimension",
19887  "");
19888  }
19889  }
19890 
19893  ::xml_schema::container* c) const
19894  {
19895  return new class Exposure (*this, f, c);
19896  }
19897 
19899  operator= (const Exposure& x)
19900  {
19901  if (this != &x)
19902  {
19903  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
19904  this->name_ = x.name_;
19905  this->dimension_ = x.dimension_;
19906  this->description_ = x.description_;
19907  }
19908 
19909  return *this;
19910  }
19911 
19913  ~Exposure ()
19914  {
19915  }
19916 
19917  bool
19918  operator== (const Exposure& x, const Exposure& y)
19919  {
19920  if (!(x.name () == y.name ()))
19921  return false;
19922 
19923  if (!(x.dimension () == y.dimension ()))
19924  return false;
19925 
19926  if (!(x.description () == y.description ()))
19927  return false;
19928 
19929  return true;
19930  }
19931 
19932  bool
19933  operator!= (const Exposure& x, const Exposure& y)
19934  {
19935  return !(x == y);
19936  }
19937 
19938  // NamedDimensionalType
19939  //
19940 
19943  const dimension_type& dimension)
19944  : ::neuroml2::BaseWithoutId (),
19945  name_ (name, this),
19946  dimension_ (dimension, this),
19947  description_ (this)
19948  {
19949  }
19950 
19953  ::xml_schema::flags f,
19954  ::xml_schema::container* c)
19955  : ::neuroml2::BaseWithoutId (x, f, c),
19956  name_ (x.name_, f, this),
19957  dimension_ (x.dimension_, f, this),
19958  description_ (x.description_, f, this)
19959  {
19960  }
19961 
19963  NamedDimensionalType (const ::xercesc::DOMElement& e,
19964  ::xml_schema::flags f,
19965  ::xml_schema::container* c)
19966  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
19967  name_ (this),
19968  dimension_ (this),
19969  description_ (this)
19970  {
19971  if ((f & ::xml_schema::flags::base) == 0)
19972  {
19973  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
19974  this->parse (p, f);
19975  }
19976  }
19977 
19978  void NamedDimensionalType::
19979  parse (::xsd::cxx::xml::dom::parser< char >& p,
19980  ::xml_schema::flags f)
19981  {
19982  while (p.more_attributes ())
19983  {
19984  const ::xercesc::DOMAttr& i (p.next_attribute ());
19985  const ::xsd::cxx::xml::qualified_name< char > n (
19986  ::xsd::cxx::xml::dom::name< char > (i));
19987 
19988  if (n.name () == "name" && n.namespace_ ().empty ())
19989  {
19990  this->name_.set (name_traits::create (i, f, this));
19991  continue;
19992  }
19993 
19994  if (n.name () == "dimension" && n.namespace_ ().empty ())
19995  {
19996  this->dimension_.set (dimension_traits::create (i, f, this));
19997  continue;
19998  }
19999 
20000  if (n.name () == "description" && n.namespace_ ().empty ())
20001  {
20002  this->description_.set (description_traits::create (i, f, this));
20003  continue;
20004  }
20005  }
20006 
20007  if (!name_.present ())
20008  {
20009  throw ::xsd::cxx::tree::expected_attribute< char > (
20010  "name",
20011  "");
20012  }
20013 
20014  if (!dimension_.present ())
20015  {
20016  throw ::xsd::cxx::tree::expected_attribute< char > (
20017  "dimension",
20018  "");
20019  }
20020  }
20021 
20024  ::xml_schema::container* c) const
20025  {
20026  return new class NamedDimensionalType (*this, f, c);
20027  }
20028 
20031  {
20032  if (this != &x)
20033  {
20034  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
20035  this->name_ = x.name_;
20036  this->dimension_ = x.dimension_;
20037  this->description_ = x.description_;
20038  }
20039 
20040  return *this;
20041  }
20042 
20045  {
20046  }
20047 
20048  bool
20049  operator== (const NamedDimensionalType& x, const NamedDimensionalType& y)
20050  {
20051  if (!(x.name () == y.name ()))
20052  return false;
20053 
20054  if (!(x.dimension () == y.dimension ()))
20055  return false;
20056 
20057  if (!(x.description () == y.description ()))
20058  return false;
20059 
20060  return true;
20061  }
20062 
20063  bool
20064  operator!= (const NamedDimensionalType& x, const NamedDimensionalType& y)
20065  {
20066  return !(x == y);
20067  }
20068 
20069  // NamedDimensionalVariable
20070  //
20071 
20074  const dimension_type& dimension)
20075  : ::neuroml2::BaseWithoutId (),
20076  name_ (name, this),
20077  dimension_ (dimension, this),
20078  description_ (this),
20079  exposure_ (this)
20080  {
20081  }
20082 
20085  ::xml_schema::flags f,
20086  ::xml_schema::container* c)
20087  : ::neuroml2::BaseWithoutId (x, f, c),
20088  name_ (x.name_, f, this),
20089  dimension_ (x.dimension_, f, this),
20090  description_ (x.description_, f, this),
20091  exposure_ (x.exposure_, f, this)
20092  {
20093  }
20094 
20096  NamedDimensionalVariable (const ::xercesc::DOMElement& e,
20097  ::xml_schema::flags f,
20098  ::xml_schema::container* c)
20099  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
20100  name_ (this),
20101  dimension_ (this),
20102  description_ (this),
20103  exposure_ (this)
20104  {
20105  if ((f & ::xml_schema::flags::base) == 0)
20106  {
20107  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
20108  this->parse (p, f);
20109  }
20110  }
20111 
20112  void NamedDimensionalVariable::
20113  parse (::xsd::cxx::xml::dom::parser< char >& p,
20114  ::xml_schema::flags f)
20115  {
20116  while (p.more_attributes ())
20117  {
20118  const ::xercesc::DOMAttr& i (p.next_attribute ());
20119  const ::xsd::cxx::xml::qualified_name< char > n (
20120  ::xsd::cxx::xml::dom::name< char > (i));
20121 
20122  if (n.name () == "name" && n.namespace_ ().empty ())
20123  {
20124  this->name_.set (name_traits::create (i, f, this));
20125  continue;
20126  }
20127 
20128  if (n.name () == "dimension" && n.namespace_ ().empty ())
20129  {
20130  this->dimension_.set (dimension_traits::create (i, f, this));
20131  continue;
20132  }
20133 
20134  if (n.name () == "description" && n.namespace_ ().empty ())
20135  {
20136  this->description_.set (description_traits::create (i, f, this));
20137  continue;
20138  }
20139 
20140  if (n.name () == "exposure" && n.namespace_ ().empty ())
20141  {
20142  this->exposure_.set (exposure_traits::create (i, f, this));
20143  continue;
20144  }
20145  }
20146 
20147  if (!name_.present ())
20148  {
20149  throw ::xsd::cxx::tree::expected_attribute< char > (
20150  "name",
20151  "");
20152  }
20153 
20154  if (!dimension_.present ())
20155  {
20156  throw ::xsd::cxx::tree::expected_attribute< char > (
20157  "dimension",
20158  "");
20159  }
20160  }
20161 
20164  ::xml_schema::container* c) const
20165  {
20166  return new class NamedDimensionalVariable (*this, f, c);
20167  }
20168 
20171  {
20172  if (this != &x)
20173  {
20174  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
20175  this->name_ = x.name_;
20176  this->dimension_ = x.dimension_;
20177  this->description_ = x.description_;
20178  this->exposure_ = x.exposure_;
20179  }
20180 
20181  return *this;
20182  }
20183 
20186  {
20187  }
20188 
20189  bool
20190  operator== (const NamedDimensionalVariable& x, const NamedDimensionalVariable& y)
20191  {
20192  if (!(x.name () == y.name ()))
20193  return false;
20194 
20195  if (!(x.dimension () == y.dimension ()))
20196  return false;
20197 
20198  if (!(x.description () == y.description ()))
20199  return false;
20200 
20201  if (!(x.exposure () == y.exposure ()))
20202  return false;
20203 
20204  return true;
20205  }
20206 
20207  bool
20208  operator!= (const NamedDimensionalVariable& x, const NamedDimensionalVariable& y)
20209  {
20210  return !(x == y);
20211  }
20212 
20213  // Parameter
20214  //
20215 
20217  Parameter (const name_type& name,
20218  const dimension_type& dimension)
20220  dimension)
20221  {
20222  }
20223 
20225  Parameter (const Parameter& x,
20226  ::xml_schema::flags f,
20227  ::xml_schema::container* c)
20228  : ::neuroml2::NamedDimensionalType (x, f, c)
20229  {
20230  }
20231 
20233  Parameter (const ::xercesc::DOMElement& e,
20234  ::xml_schema::flags f,
20235  ::xml_schema::container* c)
20236  : ::neuroml2::NamedDimensionalType (e, f, c)
20237  {
20238  }
20239 
20242  ::xml_schema::container* c) const
20243  {
20244  return new class Parameter (*this, f, c);
20245  }
20246 
20248  ~Parameter ()
20249  {
20250  }
20251 
20252  // DerivedParameter
20253  //
20254 
20257  const dimension_type& dimension,
20258  const value_type& value)
20260  dimension),
20261  value_ (value, this)
20262  {
20263  }
20264 
20267  ::xml_schema::flags f,
20268  ::xml_schema::container* c)
20269  : ::neuroml2::NamedDimensionalType (x, f, c),
20270  value_ (x.value_, f, this)
20271  {
20272  }
20273 
20275  DerivedParameter (const ::xercesc::DOMElement& e,
20276  ::xml_schema::flags f,
20277  ::xml_schema::container* c)
20278  : ::neuroml2::NamedDimensionalType (e, f | ::xml_schema::flags::base, c),
20279  value_ (this)
20280  {
20281  if ((f & ::xml_schema::flags::base) == 0)
20282  {
20283  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
20284  this->parse (p, f);
20285  }
20286  }
20287 
20288  void DerivedParameter::
20289  parse (::xsd::cxx::xml::dom::parser< char >& p,
20290  ::xml_schema::flags f)
20291  {
20292  this->::neuroml2::NamedDimensionalType::parse (p, f);
20293 
20294  p.reset_attributes ();
20295 
20296  while (p.more_attributes ())
20297  {
20298  const ::xercesc::DOMAttr& i (p.next_attribute ());
20299  const ::xsd::cxx::xml::qualified_name< char > n (
20300  ::xsd::cxx::xml::dom::name< char > (i));
20301 
20302  if (n.name () == "value" && n.namespace_ ().empty ())
20303  {
20304  this->value_.set (value_traits::create (i, f, this));
20305  continue;
20306  }
20307  }
20308 
20309  if (!value_.present ())
20310  {
20311  throw ::xsd::cxx::tree::expected_attribute< char > (
20312  "value",
20313  "");
20314  }
20315  }
20316 
20319  ::xml_schema::container* c) const
20320  {
20321  return new class DerivedParameter (*this, f, c);
20322  }
20323 
20325  operator= (const DerivedParameter& x)
20326  {
20327  if (this != &x)
20328  {
20329  static_cast< ::neuroml2::NamedDimensionalType& > (*this) = x;
20330  this->value_ = x.value_;
20331  }
20332 
20333  return *this;
20334  }
20335 
20338  {
20339  }
20340 
20341  bool
20342  operator== (const DerivedParameter& x, const DerivedParameter& y)
20343  {
20344  if (!(static_cast< const ::neuroml2::NamedDimensionalType& > (x) ==
20345  static_cast< const ::neuroml2::NamedDimensionalType& > (y)))
20346  return false;
20347 
20348  if (!(x.value () == y.value ()))
20349  return false;
20350 
20351  return true;
20352  }
20353 
20354  bool
20355  operator!= (const DerivedParameter& x, const DerivedParameter& y)
20356  {
20357  return !(x == y);
20358  }
20359 
20360  // LEMS_Property
20361  //
20362 
20364  LEMS_Property (const name_type& name,
20365  const dimension_type& dimension)
20367  dimension),
20368  defaultValue_ (this)
20369  {
20370  }
20371 
20373  LEMS_Property (const LEMS_Property& x,
20374  ::xml_schema::flags f,
20375  ::xml_schema::container* c)
20376  : ::neuroml2::NamedDimensionalType (x, f, c),
20377  defaultValue_ (x.defaultValue_, f, this)
20378  {
20379  }
20380 
20382  LEMS_Property (const ::xercesc::DOMElement& e,
20383  ::xml_schema::flags f,
20384  ::xml_schema::container* c)
20385  : ::neuroml2::NamedDimensionalType (e, f | ::xml_schema::flags::base, c),
20386  defaultValue_ (this)
20387  {
20388  if ((f & ::xml_schema::flags::base) == 0)
20389  {
20390  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
20391  this->parse (p, f);
20392  }
20393  }
20394 
20395  void LEMS_Property::
20396  parse (::xsd::cxx::xml::dom::parser< char >& p,
20397  ::xml_schema::flags f)
20398  {
20399  this->::neuroml2::NamedDimensionalType::parse (p, f);
20400 
20401  p.reset_attributes ();
20402 
20403  while (p.more_attributes ())
20404  {
20405  const ::xercesc::DOMAttr& i (p.next_attribute ());
20406  const ::xsd::cxx::xml::qualified_name< char > n (
20407  ::xsd::cxx::xml::dom::name< char > (i));
20408 
20409  if (n.name () == "defaultValue" && n.namespace_ ().empty ())
20410  {
20411  this->defaultValue_.set (defaultValue_traits::create (i, f, this));
20412  continue;
20413  }
20414  }
20415  }
20416 
20419  ::xml_schema::container* c) const
20420  {
20421  return new class LEMS_Property (*this, f, c);
20422  }
20423 
20425  operator= (const LEMS_Property& x)
20426  {
20427  if (this != &x)
20428  {
20429  static_cast< ::neuroml2::NamedDimensionalType& > (*this) = x;
20430  this->defaultValue_ = x.defaultValue_;
20431  }
20432 
20433  return *this;
20434  }
20435 
20437  ~LEMS_Property ()
20438  {
20439  }
20440 
20441  bool
20442  operator== (const LEMS_Property& x, const LEMS_Property& y)
20443  {
20444  if (!(static_cast< const ::neuroml2::NamedDimensionalType& > (x) ==
20445  static_cast< const ::neuroml2::NamedDimensionalType& > (y)))
20446  return false;
20447 
20448  if (!(x.defaultValue () == y.defaultValue ()))
20449  return false;
20450 
20451  return true;
20452  }
20453 
20454  bool
20455  operator!= (const LEMS_Property& x, const LEMS_Property& y)
20456  {
20457  return !(x == y);
20458  }
20459 
20460  // Requirement
20461  //
20462 
20464  Requirement (const name_type& name,
20465  const dimension_type& dimension)
20467  dimension)
20468  {
20469  }
20470 
20472  Requirement (const Requirement& x,
20473  ::xml_schema::flags f,
20474  ::xml_schema::container* c)
20475  : ::neuroml2::NamedDimensionalType (x, f, c)
20476  {
20477  }
20478 
20480  Requirement (const ::xercesc::DOMElement& e,
20481  ::xml_schema::flags f,
20482  ::xml_schema::container* c)
20483  : ::neuroml2::NamedDimensionalType (e, f, c)
20484  {
20485  }
20486 
20489  ::xml_schema::container* c) const
20490  {
20491  return new class Requirement (*this, f, c);
20492  }
20493 
20495  ~Requirement ()
20496  {
20497  }
20498 
20499  // InstanceRequirement
20500  //
20501 
20504  const type_type& type)
20505  : ::xml_schema::type (),
20506  name_ (name, this),
20507  type_ (type, this)
20508  {
20509  }
20510 
20513  ::xml_schema::flags f,
20514  ::xml_schema::container* c)
20515  : ::xml_schema::type (x, f, c),
20516  name_ (x.name_, f, this),
20517  type_ (x.type_, f, this)
20518  {
20519  }
20520 
20522  InstanceRequirement (const ::xercesc::DOMElement& e,
20523  ::xml_schema::flags f,
20524  ::xml_schema::container* c)
20525  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
20526  name_ (this),
20527  type_ (this)
20528  {
20529  if ((f & ::xml_schema::flags::base) == 0)
20530  {
20531  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
20532  this->parse (p, f);
20533  }
20534  }
20535 
20536  void InstanceRequirement::
20537  parse (::xsd::cxx::xml::dom::parser< char >& p,
20538  ::xml_schema::flags f)
20539  {
20540  while (p.more_attributes ())
20541  {
20542  const ::xercesc::DOMAttr& i (p.next_attribute ());
20543  const ::xsd::cxx::xml::qualified_name< char > n (
20544  ::xsd::cxx::xml::dom::name< char > (i));
20545 
20546  if (n.name () == "name" && n.namespace_ ().empty ())
20547  {
20548  this->name_.set (name_traits::create (i, f, this));
20549  continue;
20550  }
20551 
20552  if (n.name () == "type" && n.namespace_ ().empty ())
20553  {
20554  this->type_.set (type_traits::create (i, f, this));
20555  continue;
20556  }
20557  }
20558 
20559  if (!name_.present ())
20560  {
20561  throw ::xsd::cxx::tree::expected_attribute< char > (
20562  "name",
20563  "");
20564  }
20565 
20566  if (!type_.present ())
20567  {
20568  throw ::xsd::cxx::tree::expected_attribute< char > (
20569  "type",
20570  "");
20571  }
20572  }
20573 
20576  ::xml_schema::container* c) const
20577  {
20578  return new class InstanceRequirement (*this, f, c);
20579  }
20580 
20583  {
20584  if (this != &x)
20585  {
20586  static_cast< ::xml_schema::type& > (*this) = x;
20587  this->name_ = x.name_;
20588  this->type_ = x.type_;
20589  }
20590 
20591  return *this;
20592  }
20593 
20596  {
20597  }
20598 
20599  bool
20600  operator== (const InstanceRequirement& x, const InstanceRequirement& y)
20601  {
20602  if (!(x.name () == y.name ()))
20603  return false;
20604 
20605  if (!(x.type () == y.type ()))
20606  return false;
20607 
20608  return true;
20609  }
20610 
20611  bool
20612  operator!= (const InstanceRequirement& x, const InstanceRequirement& y)
20613  {
20614  return !(x == y);
20615  }
20616 
20617  // Dynamics
20618  //
20619 
20621  Dynamics ()
20622  : ::xml_schema::type (),
20623  StateVariable_ (this),
20624  DerivedVariable_ (this),
20625  ConditionalDerivedVariable_ (this),
20626  TimeDerivative_ (this),
20627  OnStart_ (this),
20628  OnEvent_ (this),
20629  OnCondition_ (this),
20630  Regime_ (this)
20631  {
20632  }
20633 
20635  Dynamics (const Dynamics& x,
20636  ::xml_schema::flags f,
20637  ::xml_schema::container* c)
20638  : ::xml_schema::type (x, f, c),
20639  StateVariable_ (x.StateVariable_, f, this),
20640  DerivedVariable_ (x.DerivedVariable_, f, this),
20641  ConditionalDerivedVariable_ (x.ConditionalDerivedVariable_, f, this),
20642  TimeDerivative_ (x.TimeDerivative_, f, this),
20643  OnStart_ (x.OnStart_, f, this),
20644  OnEvent_ (x.OnEvent_, f, this),
20645  OnCondition_ (x.OnCondition_, f, this),
20646  Regime_ (x.Regime_, f, this)
20647  {
20648  }
20649 
20651  Dynamics (const ::xercesc::DOMElement& e,
20652  ::xml_schema::flags f,
20653  ::xml_schema::container* c)
20654  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
20655  StateVariable_ (this),
20656  DerivedVariable_ (this),
20657  ConditionalDerivedVariable_ (this),
20658  TimeDerivative_ (this),
20659  OnStart_ (this),
20660  OnEvent_ (this),
20661  OnCondition_ (this),
20662  Regime_ (this)
20663  {
20664  if ((f & ::xml_schema::flags::base) == 0)
20665  {
20666  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, false);
20667  this->parse (p, f);
20668  }
20669  }
20670 
20671  void Dynamics::
20672  parse (::xsd::cxx::xml::dom::parser< char >& p,
20673  ::xml_schema::flags f)
20674  {
20675  for (; p.more_content (); p.next_content (false))
20676  {
20677  const ::xercesc::DOMElement& i (p.cur_element ());
20678  const ::xsd::cxx::xml::qualified_name< char > n (
20679  ::xsd::cxx::xml::dom::name< char > (i));
20680 
20681  // StateVariable
20682  //
20683  if (n.name () == "StateVariable" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
20684  {
20685  ::std::unique_ptr< StateVariable_type > r (
20686  StateVariable_traits::create (i, f, this));
20687 
20688  this->StateVariable_.push_back (::std::move (r));
20689  continue;
20690  }
20691 
20692  // DerivedVariable
20693  //
20694  if (n.name () == "DerivedVariable" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
20695  {
20696  ::std::unique_ptr< DerivedVariable_type > r (
20697  DerivedVariable_traits::create (i, f, this));
20698 
20699  this->DerivedVariable_.push_back (::std::move (r));
20700  continue;
20701  }
20702 
20703  // ConditionalDerivedVariable
20704  //
20705  if (n.name () == "ConditionalDerivedVariable" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
20706  {
20707  ::std::unique_ptr< ConditionalDerivedVariable_type > r (
20708  ConditionalDerivedVariable_traits::create (i, f, this));
20709 
20710  this->ConditionalDerivedVariable_.push_back (::std::move (r));
20711  continue;
20712  }
20713 
20714  // TimeDerivative
20715  //
20716  if (n.name () == "TimeDerivative" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
20717  {
20718  ::std::unique_ptr< TimeDerivative_type > r (
20719  TimeDerivative_traits::create (i, f, this));
20720 
20721  this->TimeDerivative_.push_back (::std::move (r));
20722  continue;
20723  }
20724 
20725  // OnStart
20726  //
20727  if (n.name () == "OnStart" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
20728  {
20729  ::std::unique_ptr< OnStart_type > r (
20730  OnStart_traits::create (i, f, this));
20731 
20732  if (!this->OnStart_)
20733  {
20734  this->OnStart_.set (::std::move (r));
20735  continue;
20736  }
20737  }
20738 
20739  // OnEvent
20740  //
20741  if (n.name () == "OnEvent" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
20742  {
20743  ::std::unique_ptr< OnEvent_type > r (
20744  OnEvent_traits::create (i, f, this));
20745 
20746  this->OnEvent_.push_back (::std::move (r));
20747  continue;
20748  }
20749 
20750  // OnCondition
20751  //
20752  if (n.name () == "OnCondition" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
20753  {
20754  ::std::unique_ptr< OnCondition_type > r (
20755  OnCondition_traits::create (i, f, this));
20756 
20757  this->OnCondition_.push_back (::std::move (r));
20758  continue;
20759  }
20760 
20761  // Regime
20762  //
20763  if (n.name () == "Regime" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
20764  {
20765  ::std::unique_ptr< Regime_type > r (
20766  Regime_traits::create (i, f, this));
20767 
20768  this->Regime_.push_back (::std::move (r));
20769  continue;
20770  }
20771 
20772  break;
20773  }
20774  }
20775 
20778  ::xml_schema::container* c) const
20779  {
20780  return new class Dynamics (*this, f, c);
20781  }
20782 
20784  operator= (const Dynamics& x)
20785  {
20786  if (this != &x)
20787  {
20788  static_cast< ::xml_schema::type& > (*this) = x;
20789  this->StateVariable_ = x.StateVariable_;
20790  this->DerivedVariable_ = x.DerivedVariable_;
20791  this->ConditionalDerivedVariable_ = x.ConditionalDerivedVariable_;
20792  this->TimeDerivative_ = x.TimeDerivative_;
20793  this->OnStart_ = x.OnStart_;
20794  this->OnEvent_ = x.OnEvent_;
20795  this->OnCondition_ = x.OnCondition_;
20796  this->Regime_ = x.Regime_;
20797  }
20798 
20799  return *this;
20800  }
20801 
20803  ~Dynamics ()
20804  {
20805  }
20806 
20807  bool
20808  operator== (const Dynamics& x, const Dynamics& y)
20809  {
20810  if (!(x.StateVariable () == y.StateVariable ()))
20811  return false;
20812 
20813  if (!(x.DerivedVariable () == y.DerivedVariable ()))
20814  return false;
20815 
20817  return false;
20818 
20819  if (!(x.TimeDerivative () == y.TimeDerivative ()))
20820  return false;
20821 
20822  if (!(x.OnStart () == y.OnStart ()))
20823  return false;
20824 
20825  if (!(x.OnEvent () == y.OnEvent ()))
20826  return false;
20827 
20828  if (!(x.OnCondition () == y.OnCondition ()))
20829  return false;
20830 
20831  if (!(x.Regime () == y.Regime ()))
20832  return false;
20833 
20834  return true;
20835  }
20836 
20837  bool
20838  operator!= (const Dynamics& x, const Dynamics& y)
20839  {
20840  return !(x == y);
20841  }
20842 
20843  // DerivedVariable
20844  //
20845 
20848  const dimension_type& dimension)
20850  dimension),
20851  value_ (this),
20852  select_ (this)
20853  {
20854  }
20855 
20858  ::xml_schema::flags f,
20859  ::xml_schema::container* c)
20860  : ::neuroml2::NamedDimensionalVariable (x, f, c),
20861  value_ (x.value_, f, this),
20862  select_ (x.select_, f, this)
20863  {
20864  }
20865 
20867  DerivedVariable (const ::xercesc::DOMElement& e,
20868  ::xml_schema::flags f,
20869  ::xml_schema::container* c)
20870  : ::neuroml2::NamedDimensionalVariable (e, f | ::xml_schema::flags::base, c),
20871  value_ (this),
20872  select_ (this)
20873  {
20874  if ((f & ::xml_schema::flags::base) == 0)
20875  {
20876  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
20877  this->parse (p, f);
20878  }
20879  }
20880 
20881  void DerivedVariable::
20882  parse (::xsd::cxx::xml::dom::parser< char >& p,
20883  ::xml_schema::flags f)
20884  {
20885  this->::neuroml2::NamedDimensionalVariable::parse (p, f);
20886 
20887  p.reset_attributes ();
20888 
20889  while (p.more_attributes ())
20890  {
20891  const ::xercesc::DOMAttr& i (p.next_attribute ());
20892  const ::xsd::cxx::xml::qualified_name< char > n (
20893  ::xsd::cxx::xml::dom::name< char > (i));
20894 
20895  if (n.name () == "value" && n.namespace_ ().empty ())
20896  {
20897  this->value_.set (value_traits::create (i, f, this));
20898  continue;
20899  }
20900 
20901  if (n.name () == "select" && n.namespace_ ().empty ())
20902  {
20903  this->select_.set (select_traits::create (i, f, this));
20904  continue;
20905  }
20906  }
20907  }
20908 
20911  ::xml_schema::container* c) const
20912  {
20913  return new class DerivedVariable (*this, f, c);
20914  }
20915 
20917  operator= (const DerivedVariable& x)
20918  {
20919  if (this != &x)
20920  {
20921  static_cast< ::neuroml2::NamedDimensionalVariable& > (*this) = x;
20922  this->value_ = x.value_;
20923  this->select_ = x.select_;
20924  }
20925 
20926  return *this;
20927  }
20928 
20931  {
20932  }
20933 
20934  bool
20935  operator== (const DerivedVariable& x, const DerivedVariable& y)
20936  {
20937  if (!(static_cast< const ::neuroml2::NamedDimensionalVariable& > (x) ==
20938  static_cast< const ::neuroml2::NamedDimensionalVariable& > (y)))
20939  return false;
20940 
20941  if (!(x.value () == y.value ()))
20942  return false;
20943 
20944  if (!(x.select () == y.select ()))
20945  return false;
20946 
20947  return true;
20948  }
20949 
20950  bool
20951  operator!= (const DerivedVariable& x, const DerivedVariable& y)
20952  {
20953  return !(x == y);
20954  }
20955 
20956  // StateVariable
20957  //
20958 
20960  StateVariable (const name_type& name,
20961  const dimension_type& dimension)
20963  dimension)
20964  {
20965  }
20966 
20968  StateVariable (const StateVariable& x,
20969  ::xml_schema::flags f,
20970  ::xml_schema::container* c)
20971  : ::neuroml2::NamedDimensionalVariable (x, f, c)
20972  {
20973  }
20974 
20976  StateVariable (const ::xercesc::DOMElement& e,
20977  ::xml_schema::flags f,
20978  ::xml_schema::container* c)
20979  : ::neuroml2::NamedDimensionalVariable (e, f, c)
20980  {
20981  }
20982 
20985  ::xml_schema::container* c) const
20986  {
20987  return new class StateVariable (*this, f, c);
20988  }
20989 
20991  ~StateVariable ()
20992  {
20993  }
20994 
20995  // ConditionalDerivedVariable
20996  //
20997 
21000  const dimension_type& dimension)
21002  dimension),
21003  Case_ (this)
21004  {
21005  }
21006 
21009  ::xml_schema::flags f,
21010  ::xml_schema::container* c)
21011  : ::neuroml2::NamedDimensionalVariable (x, f, c),
21012  Case_ (x.Case_, f, this)
21013  {
21014  }
21015 
21017  ConditionalDerivedVariable (const ::xercesc::DOMElement& e,
21018  ::xml_schema::flags f,
21019  ::xml_schema::container* c)
21020  : ::neuroml2::NamedDimensionalVariable (e, f | ::xml_schema::flags::base, c),
21021  Case_ (this)
21022  {
21023  if ((f & ::xml_schema::flags::base) == 0)
21024  {
21025  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
21026  this->parse (p, f);
21027  }
21028  }
21029 
21030  void ConditionalDerivedVariable::
21031  parse (::xsd::cxx::xml::dom::parser< char >& p,
21032  ::xml_schema::flags f)
21033  {
21034  this->::neuroml2::NamedDimensionalVariable::parse (p, f);
21035 
21036  for (; p.more_content (); p.next_content (false))
21037  {
21038  const ::xercesc::DOMElement& i (p.cur_element ());
21039  const ::xsd::cxx::xml::qualified_name< char > n (
21040  ::xsd::cxx::xml::dom::name< char > (i));
21041 
21042  // Case
21043  //
21044  if (n.name () == "Case" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
21045  {
21046  ::std::unique_ptr< Case_type > r (
21047  Case_traits::create (i, f, this));
21048 
21049  this->Case_.push_back (::std::move (r));
21050  continue;
21051  }
21052 
21053  break;
21054  }
21055  }
21056 
21059  ::xml_schema::container* c) const
21060  {
21061  return new class ConditionalDerivedVariable (*this, f, c);
21062  }
21063 
21066  {
21067  if (this != &x)
21068  {
21069  static_cast< ::neuroml2::NamedDimensionalVariable& > (*this) = x;
21070  this->Case_ = x.Case_;
21071  }
21072 
21073  return *this;
21074  }
21075 
21078  {
21079  }
21080 
21081  bool
21082  operator== (const ConditionalDerivedVariable& x, const ConditionalDerivedVariable& y)
21083  {
21084  if (!(static_cast< const ::neuroml2::NamedDimensionalVariable& > (x) ==
21085  static_cast< const ::neuroml2::NamedDimensionalVariable& > (y)))
21086  return false;
21087 
21088  if (!(x.Case () == y.Case ()))
21089  return false;
21090 
21091  return true;
21092  }
21093 
21094  bool
21095  operator!= (const ConditionalDerivedVariable& x, const ConditionalDerivedVariable& y)
21096  {
21097  return !(x == y);
21098  }
21099 
21100  // Case
21101  //
21102 
21104  Case (const value_type& value)
21105  : ::xml_schema::type (),
21106  condition_ (this),
21107  value_ (value, this)
21108  {
21109  }
21110 
21112  Case (const Case& x,
21113  ::xml_schema::flags f,
21114  ::xml_schema::container* c)
21115  : ::xml_schema::type (x, f, c),
21116  condition_ (x.condition_, f, this),
21117  value_ (x.value_, f, this)
21118  {
21119  }
21120 
21122  Case (const ::xercesc::DOMElement& e,
21123  ::xml_schema::flags f,
21124  ::xml_schema::container* c)
21125  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
21126  condition_ (this),
21127  value_ (this)
21128  {
21129  if ((f & ::xml_schema::flags::base) == 0)
21130  {
21131  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
21132  this->parse (p, f);
21133  }
21134  }
21135 
21136  void Case::
21137  parse (::xsd::cxx::xml::dom::parser< char >& p,
21138  ::xml_schema::flags f)
21139  {
21140  while (p.more_attributes ())
21141  {
21142  const ::xercesc::DOMAttr& i (p.next_attribute ());
21143  const ::xsd::cxx::xml::qualified_name< char > n (
21144  ::xsd::cxx::xml::dom::name< char > (i));
21145 
21146  if (n.name () == "condition" && n.namespace_ ().empty ())
21147  {
21148  this->condition_.set (condition_traits::create (i, f, this));
21149  continue;
21150  }
21151 
21152  if (n.name () == "value" && n.namespace_ ().empty ())
21153  {
21154  this->value_.set (value_traits::create (i, f, this));
21155  continue;
21156  }
21157  }
21158 
21159  if (!value_.present ())
21160  {
21161  throw ::xsd::cxx::tree::expected_attribute< char > (
21162  "value",
21163  "");
21164  }
21165  }
21166 
21169  ::xml_schema::container* c) const
21170  {
21171  return new class Case (*this, f, c);
21172  }
21173 
21175  operator= (const Case& x)
21176  {
21177  if (this != &x)
21178  {
21179  static_cast< ::xml_schema::type& > (*this) = x;
21180  this->condition_ = x.condition_;
21181  this->value_ = x.value_;
21182  }
21183 
21184  return *this;
21185  }
21186 
21188  ~Case ()
21189  {
21190  }
21191 
21192  bool
21193  operator== (const Case& x, const Case& y)
21194  {
21195  if (!(x.condition () == y.condition ()))
21196  return false;
21197 
21198  if (!(x.value () == y.value ()))
21199  return false;
21200 
21201  return true;
21202  }
21203 
21204  bool
21205  operator!= (const Case& x, const Case& y)
21206  {
21207  return !(x == y);
21208  }
21209 
21210  // TimeDerivative
21211  //
21212 
21214  TimeDerivative (const variable_type& variable,
21215  const value_type& value)
21216  : ::xml_schema::type (),
21217  variable_ (variable, this),
21218  value_ (value, this)
21219  {
21220  }
21221 
21224  ::xml_schema::flags f,
21225  ::xml_schema::container* c)
21226  : ::xml_schema::type (x, f, c),
21227  variable_ (x.variable_, f, this),
21228  value_ (x.value_, f, this)
21229  {
21230  }
21231 
21233  TimeDerivative (const ::xercesc::DOMElement& e,
21234  ::xml_schema::flags f,
21235  ::xml_schema::container* c)
21236  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
21237  variable_ (this),
21238  value_ (this)
21239  {
21240  if ((f & ::xml_schema::flags::base) == 0)
21241  {
21242  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
21243  this->parse (p, f);
21244  }
21245  }
21246 
21247  void TimeDerivative::
21248  parse (::xsd::cxx::xml::dom::parser< char >& p,
21249  ::xml_schema::flags f)
21250  {
21251  while (p.more_attributes ())
21252  {
21253  const ::xercesc::DOMAttr& i (p.next_attribute ());
21254  const ::xsd::cxx::xml::qualified_name< char > n (
21255  ::xsd::cxx::xml::dom::name< char > (i));
21256 
21257  if (n.name () == "variable" && n.namespace_ ().empty ())
21258  {
21259  this->variable_.set (variable_traits::create (i, f, this));
21260  continue;
21261  }
21262 
21263  if (n.name () == "value" && n.namespace_ ().empty ())
21264  {
21265  this->value_.set (value_traits::create (i, f, this));
21266  continue;
21267  }
21268  }
21269 
21270  if (!variable_.present ())
21271  {
21272  throw ::xsd::cxx::tree::expected_attribute< char > (
21273  "variable",
21274  "");
21275  }
21276 
21277  if (!value_.present ())
21278  {
21279  throw ::xsd::cxx::tree::expected_attribute< char > (
21280  "value",
21281  "");
21282  }
21283  }
21284 
21287  ::xml_schema::container* c) const
21288  {
21289  return new class TimeDerivative (*this, f, c);
21290  }
21291 
21293  operator= (const TimeDerivative& x)
21294  {
21295  if (this != &x)
21296  {
21297  static_cast< ::xml_schema::type& > (*this) = x;
21298  this->variable_ = x.variable_;
21299  this->value_ = x.value_;
21300  }
21301 
21302  return *this;
21303  }
21304 
21307  {
21308  }
21309 
21310  bool
21311  operator== (const TimeDerivative& x, const TimeDerivative& y)
21312  {
21313  if (!(x.variable () == y.variable ()))
21314  return false;
21315 
21316  if (!(x.value () == y.value ()))
21317  return false;
21318 
21319  return true;
21320  }
21321 
21322  bool
21323  operator!= (const TimeDerivative& x, const TimeDerivative& y)
21324  {
21325  return !(x == y);
21326  }
21327 
21328  // OnStart
21329  //
21330 
21332  OnStart ()
21333  : ::xml_schema::type (),
21334  StateAssignment_ (this)
21335  {
21336  }
21337 
21339  OnStart (const OnStart& x,
21340  ::xml_schema::flags f,
21341  ::xml_schema::container* c)
21342  : ::xml_schema::type (x, f, c),
21343  StateAssignment_ (x.StateAssignment_, f, this)
21344  {
21345  }
21346 
21348  OnStart (const ::xercesc::DOMElement& e,
21349  ::xml_schema::flags f,
21350  ::xml_schema::container* c)
21351  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
21352  StateAssignment_ (this)
21353  {
21354  if ((f & ::xml_schema::flags::base) == 0)
21355  {
21356  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, false);
21357  this->parse (p, f);
21358  }
21359  }
21360 
21361  void OnStart::
21362  parse (::xsd::cxx::xml::dom::parser< char >& p,
21363  ::xml_schema::flags f)
21364  {
21365  for (; p.more_content (); p.next_content (false))
21366  {
21367  const ::xercesc::DOMElement& i (p.cur_element ());
21368  const ::xsd::cxx::xml::qualified_name< char > n (
21369  ::xsd::cxx::xml::dom::name< char > (i));
21370 
21371  // StateAssignment
21372  //
21373  if (n.name () == "StateAssignment" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
21374  {
21375  ::std::unique_ptr< StateAssignment_type > r (
21376  StateAssignment_traits::create (i, f, this));
21377 
21378  this->StateAssignment_.push_back (::std::move (r));
21379  continue;
21380  }
21381 
21382  break;
21383  }
21384  }
21385 
21388  ::xml_schema::container* c) const
21389  {
21390  return new class OnStart (*this, f, c);
21391  }
21392 
21394  operator= (const OnStart& x)
21395  {
21396  if (this != &x)
21397  {
21398  static_cast< ::xml_schema::type& > (*this) = x;
21399  this->StateAssignment_ = x.StateAssignment_;
21400  }
21401 
21402  return *this;
21403  }
21404 
21406  ~OnStart ()
21407  {
21408  }
21409 
21410  bool
21411  operator== (const OnStart& x, const OnStart& y)
21412  {
21413  if (!(x.StateAssignment () == y.StateAssignment ()))
21414  return false;
21415 
21416  return true;
21417  }
21418 
21419  bool
21420  operator!= (const OnStart& x, const OnStart& y)
21421  {
21422  return !(x == y);
21423  }
21424 
21425  // StateAssignment
21426  //
21427 
21429  StateAssignment (const variable_type& variable,
21430  const value_type& value)
21431  : ::xml_schema::type (),
21432  variable_ (variable, this),
21433  value_ (value, this)
21434  {
21435  }
21436 
21439  ::xml_schema::flags f,
21440  ::xml_schema::container* c)
21441  : ::xml_schema::type (x, f, c),
21442  variable_ (x.variable_, f, this),
21443  value_ (x.value_, f, this)
21444  {
21445  }
21446 
21448  StateAssignment (const ::xercesc::DOMElement& e,
21449  ::xml_schema::flags f,
21450  ::xml_schema::container* c)
21451  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
21452  variable_ (this),
21453  value_ (this)
21454  {
21455  if ((f & ::xml_schema::flags::base) == 0)
21456  {
21457  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
21458  this->parse (p, f);
21459  }
21460  }
21461 
21462  void StateAssignment::
21463  parse (::xsd::cxx::xml::dom::parser< char >& p,
21464  ::xml_schema::flags f)
21465  {
21466  while (p.more_attributes ())
21467  {
21468  const ::xercesc::DOMAttr& i (p.next_attribute ());
21469  const ::xsd::cxx::xml::qualified_name< char > n (
21470  ::xsd::cxx::xml::dom::name< char > (i));
21471 
21472  if (n.name () == "variable" && n.namespace_ ().empty ())
21473  {
21474  this->variable_.set (variable_traits::create (i, f, this));
21475  continue;
21476  }
21477 
21478  if (n.name () == "value" && n.namespace_ ().empty ())
21479  {
21480  this->value_.set (value_traits::create (i, f, this));
21481  continue;
21482  }
21483  }
21484 
21485  if (!variable_.present ())
21486  {
21487  throw ::xsd::cxx::tree::expected_attribute< char > (
21488  "variable",
21489  "");
21490  }
21491 
21492  if (!value_.present ())
21493  {
21494  throw ::xsd::cxx::tree::expected_attribute< char > (
21495  "value",
21496  "");
21497  }
21498  }
21499 
21502  ::xml_schema::container* c) const
21503  {
21504  return new class StateAssignment (*this, f, c);
21505  }
21506 
21508  operator= (const StateAssignment& x)
21509  {
21510  if (this != &x)
21511  {
21512  static_cast< ::xml_schema::type& > (*this) = x;
21513  this->variable_ = x.variable_;
21514  this->value_ = x.value_;
21515  }
21516 
21517  return *this;
21518  }
21519 
21522  {
21523  }
21524 
21525  bool
21526  operator== (const StateAssignment& x, const StateAssignment& y)
21527  {
21528  if (!(x.variable () == y.variable ()))
21529  return false;
21530 
21531  if (!(x.value () == y.value ()))
21532  return false;
21533 
21534  return true;
21535  }
21536 
21537  bool
21538  operator!= (const StateAssignment& x, const StateAssignment& y)
21539  {
21540  return !(x == y);
21541  }
21542 
21543  // OnEvent
21544  //
21545 
21547  OnEvent (const port_type& port)
21548  : ::xml_schema::type (),
21549  StateAssignment_ (this),
21550  EventOut_ (this),
21551  port_ (port, this)
21552  {
21553  }
21554 
21556  OnEvent (const OnEvent& x,
21557  ::xml_schema::flags f,
21558  ::xml_schema::container* c)
21559  : ::xml_schema::type (x, f, c),
21560  StateAssignment_ (x.StateAssignment_, f, this),
21561  EventOut_ (x.EventOut_, f, this),
21562  port_ (x.port_, f, this)
21563  {
21564  }
21565 
21567  OnEvent (const ::xercesc::DOMElement& e,
21568  ::xml_schema::flags f,
21569  ::xml_schema::container* c)
21570  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
21571  StateAssignment_ (this),
21572  EventOut_ (this),
21573  port_ (this)
21574  {
21575  if ((f & ::xml_schema::flags::base) == 0)
21576  {
21577  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
21578  this->parse (p, f);
21579  }
21580  }
21581 
21582  void OnEvent::
21583  parse (::xsd::cxx::xml::dom::parser< char >& p,
21584  ::xml_schema::flags f)
21585  {
21586  for (; p.more_content (); p.next_content (false))
21587  {
21588  const ::xercesc::DOMElement& i (p.cur_element ());
21589  const ::xsd::cxx::xml::qualified_name< char > n (
21590  ::xsd::cxx::xml::dom::name< char > (i));
21591 
21592  // StateAssignment
21593  //
21594  if (n.name () == "StateAssignment" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
21595  {
21596  ::std::unique_ptr< StateAssignment_type > r (
21597  StateAssignment_traits::create (i, f, this));
21598 
21599  this->StateAssignment_.push_back (::std::move (r));
21600  continue;
21601  }
21602 
21603  // EventOut
21604  //
21605  if (n.name () == "EventOut" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
21606  {
21607  ::std::unique_ptr< EventOut_type > r (
21608  EventOut_traits::create (i, f, this));
21609 
21610  this->EventOut_.push_back (::std::move (r));
21611  continue;
21612  }
21613 
21614  break;
21615  }
21616 
21617  while (p.more_attributes ())
21618  {
21619  const ::xercesc::DOMAttr& i (p.next_attribute ());
21620  const ::xsd::cxx::xml::qualified_name< char > n (
21621  ::xsd::cxx::xml::dom::name< char > (i));
21622 
21623  if (n.name () == "port" && n.namespace_ ().empty ())
21624  {
21625  this->port_.set (port_traits::create (i, f, this));
21626  continue;
21627  }
21628  }
21629 
21630  if (!port_.present ())
21631  {
21632  throw ::xsd::cxx::tree::expected_attribute< char > (
21633  "port",
21634  "");
21635  }
21636  }
21637 
21640  ::xml_schema::container* c) const
21641  {
21642  return new class OnEvent (*this, f, c);
21643  }
21644 
21646  operator= (const OnEvent& x)
21647  {
21648  if (this != &x)
21649  {
21650  static_cast< ::xml_schema::type& > (*this) = x;
21651  this->StateAssignment_ = x.StateAssignment_;
21652  this->EventOut_ = x.EventOut_;
21653  this->port_ = x.port_;
21654  }
21655 
21656  return *this;
21657  }
21658 
21660  ~OnEvent ()
21661  {
21662  }
21663 
21664  bool
21665  operator== (const OnEvent& x, const OnEvent& y)
21666  {
21667  if (!(x.StateAssignment () == y.StateAssignment ()))
21668  return false;
21669 
21670  if (!(x.EventOut () == y.EventOut ()))
21671  return false;
21672 
21673  if (!(x.port () == y.port ()))
21674  return false;
21675 
21676  return true;
21677  }
21678 
21679  bool
21680  operator!= (const OnEvent& x, const OnEvent& y)
21681  {
21682  return !(x == y);
21683  }
21684 
21685  // EventOut
21686  //
21687 
21689  EventOut (const port_type& port)
21690  : ::xml_schema::type (),
21691  port_ (port, this)
21692  {
21693  }
21694 
21696  EventOut (const EventOut& x,
21697  ::xml_schema::flags f,
21698  ::xml_schema::container* c)
21699  : ::xml_schema::type (x, f, c),
21700  port_ (x.port_, f, this)
21701  {
21702  }
21703 
21705  EventOut (const ::xercesc::DOMElement& e,
21706  ::xml_schema::flags f,
21707  ::xml_schema::container* c)
21708  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
21709  port_ (this)
21710  {
21711  if ((f & ::xml_schema::flags::base) == 0)
21712  {
21713  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
21714  this->parse (p, f);
21715  }
21716  }
21717 
21718  void EventOut::
21719  parse (::xsd::cxx::xml::dom::parser< char >& p,
21720  ::xml_schema::flags f)
21721  {
21722  while (p.more_attributes ())
21723  {
21724  const ::xercesc::DOMAttr& i (p.next_attribute ());
21725  const ::xsd::cxx::xml::qualified_name< char > n (
21726  ::xsd::cxx::xml::dom::name< char > (i));
21727 
21728  if (n.name () == "port" && n.namespace_ ().empty ())
21729  {
21730  this->port_.set (port_traits::create (i, f, this));
21731  continue;
21732  }
21733  }
21734 
21735  if (!port_.present ())
21736  {
21737  throw ::xsd::cxx::tree::expected_attribute< char > (
21738  "port",
21739  "");
21740  }
21741  }
21742 
21745  ::xml_schema::container* c) const
21746  {
21747  return new class EventOut (*this, f, c);
21748  }
21749 
21751  operator= (const EventOut& x)
21752  {
21753  if (this != &x)
21754  {
21755  static_cast< ::xml_schema::type& > (*this) = x;
21756  this->port_ = x.port_;
21757  }
21758 
21759  return *this;
21760  }
21761 
21763  ~EventOut ()
21764  {
21765  }
21766 
21767  bool
21768  operator== (const EventOut& x, const EventOut& y)
21769  {
21770  if (!(x.port () == y.port ()))
21771  return false;
21772 
21773  return true;
21774  }
21775 
21776  bool
21777  operator!= (const EventOut& x, const EventOut& y)
21778  {
21779  return !(x == y);
21780  }
21781 
21782  // OnCondition
21783  //
21784 
21786  OnCondition (const test_type& test)
21787  : ::xml_schema::type (),
21788  StateAssignment_ (this),
21789  EventOut_ (this),
21790  Transition_ (this),
21791  test_ (test, this)
21792  {
21793  }
21794 
21796  OnCondition (const OnCondition& x,
21797  ::xml_schema::flags f,
21798  ::xml_schema::container* c)
21799  : ::xml_schema::type (x, f, c),
21800  StateAssignment_ (x.StateAssignment_, f, this),
21801  EventOut_ (x.EventOut_, f, this),
21802  Transition_ (x.Transition_, f, this),
21803  test_ (x.test_, f, this)
21804  {
21805  }
21806 
21808  OnCondition (const ::xercesc::DOMElement& e,
21809  ::xml_schema::flags f,
21810  ::xml_schema::container* c)
21811  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
21812  StateAssignment_ (this),
21813  EventOut_ (this),
21814  Transition_ (this),
21815  test_ (this)
21816  {
21817  if ((f & ::xml_schema::flags::base) == 0)
21818  {
21819  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
21820  this->parse (p, f);
21821  }
21822  }
21823 
21824  void OnCondition::
21825  parse (::xsd::cxx::xml::dom::parser< char >& p,
21826  ::xml_schema::flags f)
21827  {
21828  for (; p.more_content (); p.next_content (false))
21829  {
21830  const ::xercesc::DOMElement& i (p.cur_element ());
21831  const ::xsd::cxx::xml::qualified_name< char > n (
21832  ::xsd::cxx::xml::dom::name< char > (i));
21833 
21834  // StateAssignment
21835  //
21836  if (n.name () == "StateAssignment" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
21837  {
21838  ::std::unique_ptr< StateAssignment_type > r (
21839  StateAssignment_traits::create (i, f, this));
21840 
21841  this->StateAssignment_.push_back (::std::move (r));
21842  continue;
21843  }
21844 
21845  // EventOut
21846  //
21847  if (n.name () == "EventOut" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
21848  {
21849  ::std::unique_ptr< EventOut_type > r (
21850  EventOut_traits::create (i, f, this));
21851 
21852  this->EventOut_.push_back (::std::move (r));
21853  continue;
21854  }
21855 
21856  // Transition
21857  //
21858  if (n.name () == "Transition" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
21859  {
21860  ::std::unique_ptr< Transition_type > r (
21861  Transition_traits::create (i, f, this));
21862 
21863  if (!this->Transition_)
21864  {
21865  this->Transition_.set (::std::move (r));
21866  continue;
21867  }
21868  }
21869 
21870  break;
21871  }
21872 
21873  while (p.more_attributes ())
21874  {
21875  const ::xercesc::DOMAttr& i (p.next_attribute ());
21876  const ::xsd::cxx::xml::qualified_name< char > n (
21877  ::xsd::cxx::xml::dom::name< char > (i));
21878 
21879  if (n.name () == "test" && n.namespace_ ().empty ())
21880  {
21881  this->test_.set (test_traits::create (i, f, this));
21882  continue;
21883  }
21884  }
21885 
21886  if (!test_.present ())
21887  {
21888  throw ::xsd::cxx::tree::expected_attribute< char > (
21889  "test",
21890  "");
21891  }
21892  }
21893 
21896  ::xml_schema::container* c) const
21897  {
21898  return new class OnCondition (*this, f, c);
21899  }
21900 
21902  operator= (const OnCondition& x)
21903  {
21904  if (this != &x)
21905  {
21906  static_cast< ::xml_schema::type& > (*this) = x;
21907  this->StateAssignment_ = x.StateAssignment_;
21908  this->EventOut_ = x.EventOut_;
21909  this->Transition_ = x.Transition_;
21910  this->test_ = x.test_;
21911  }
21912 
21913  return *this;
21914  }
21915 
21917  ~OnCondition ()
21918  {
21919  }
21920 
21921  bool
21922  operator== (const OnCondition& x, const OnCondition& y)
21923  {
21924  if (!(x.StateAssignment () == y.StateAssignment ()))
21925  return false;
21926 
21927  if (!(x.EventOut () == y.EventOut ()))
21928  return false;
21929 
21930  if (!(x.Transition () == y.Transition ()))
21931  return false;
21932 
21933  if (!(x.test () == y.test ()))
21934  return false;
21935 
21936  return true;
21937  }
21938 
21939  bool
21940  operator!= (const OnCondition& x, const OnCondition& y)
21941  {
21942  return !(x == y);
21943  }
21944 
21945  // Transition
21946  //
21947 
21949  Transition (const regime_type& regime)
21950  : ::xml_schema::type (),
21951  regime_ (regime, this)
21952  {
21953  }
21954 
21956  Transition (const Transition& x,
21957  ::xml_schema::flags f,
21958  ::xml_schema::container* c)
21959  : ::xml_schema::type (x, f, c),
21960  regime_ (x.regime_, f, this)
21961  {
21962  }
21963 
21965  Transition (const ::xercesc::DOMElement& e,
21966  ::xml_schema::flags f,
21967  ::xml_schema::container* c)
21968  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
21969  regime_ (this)
21970  {
21971  if ((f & ::xml_schema::flags::base) == 0)
21972  {
21973  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
21974  this->parse (p, f);
21975  }
21976  }
21977 
21978  void Transition::
21979  parse (::xsd::cxx::xml::dom::parser< char >& p,
21980  ::xml_schema::flags f)
21981  {
21982  while (p.more_attributes ())
21983  {
21984  const ::xercesc::DOMAttr& i (p.next_attribute ());
21985  const ::xsd::cxx::xml::qualified_name< char > n (
21986  ::xsd::cxx::xml::dom::name< char > (i));
21987 
21988  if (n.name () == "regime" && n.namespace_ ().empty ())
21989  {
21990  this->regime_.set (regime_traits::create (i, f, this));
21991  continue;
21992  }
21993  }
21994 
21995  if (!regime_.present ())
21996  {
21997  throw ::xsd::cxx::tree::expected_attribute< char > (
21998  "regime",
21999  "");
22000  }
22001  }
22002 
22005  ::xml_schema::container* c) const
22006  {
22007  return new class Transition (*this, f, c);
22008  }
22009 
22011  operator= (const Transition& x)
22012  {
22013  if (this != &x)
22014  {
22015  static_cast< ::xml_schema::type& > (*this) = x;
22016  this->regime_ = x.regime_;
22017  }
22018 
22019  return *this;
22020  }
22021 
22023  ~Transition ()
22024  {
22025  }
22026 
22027  bool
22028  operator== (const Transition& x, const Transition& y)
22029  {
22030  if (!(x.regime () == y.regime ()))
22031  return false;
22032 
22033  return true;
22034  }
22035 
22036  bool
22037  operator!= (const Transition& x, const Transition& y)
22038  {
22039  return !(x == y);
22040  }
22041 
22042  // Regime
22043  //
22044 
22046  Regime (const name_type& name)
22047  : ::xml_schema::type (),
22048  TimeDerivative_ (this),
22049  OnEntry_ (this),
22050  OnCondition_ (this),
22051  name_ (name, this),
22052  initial_ (this)
22053  {
22054  }
22055 
22057  Regime (const Regime& x,
22058  ::xml_schema::flags f,
22059  ::xml_schema::container* c)
22060  : ::xml_schema::type (x, f, c),
22061  TimeDerivative_ (x.TimeDerivative_, f, this),
22062  OnEntry_ (x.OnEntry_, f, this),
22063  OnCondition_ (x.OnCondition_, f, this),
22064  name_ (x.name_, f, this),
22065  initial_ (x.initial_, f, this)
22066  {
22067  }
22068 
22070  Regime (const ::xercesc::DOMElement& e,
22071  ::xml_schema::flags f,
22072  ::xml_schema::container* c)
22073  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
22074  TimeDerivative_ (this),
22075  OnEntry_ (this),
22076  OnCondition_ (this),
22077  name_ (this),
22078  initial_ (this)
22079  {
22080  if ((f & ::xml_schema::flags::base) == 0)
22081  {
22082  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
22083  this->parse (p, f);
22084  }
22085  }
22086 
22087  void Regime::
22088  parse (::xsd::cxx::xml::dom::parser< char >& p,
22089  ::xml_schema::flags f)
22090  {
22091  for (; p.more_content (); p.next_content (false))
22092  {
22093  const ::xercesc::DOMElement& i (p.cur_element ());
22094  const ::xsd::cxx::xml::qualified_name< char > n (
22095  ::xsd::cxx::xml::dom::name< char > (i));
22096 
22097  // TimeDerivative
22098  //
22099  if (n.name () == "TimeDerivative" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
22100  {
22101  ::std::unique_ptr< TimeDerivative_type > r (
22102  TimeDerivative_traits::create (i, f, this));
22103 
22104  this->TimeDerivative_.push_back (::std::move (r));
22105  continue;
22106  }
22107 
22108  // OnEntry
22109  //
22110  if (n.name () == "OnEntry" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
22111  {
22112  ::std::unique_ptr< OnEntry_type > r (
22113  OnEntry_traits::create (i, f, this));
22114 
22115  if (!this->OnEntry_)
22116  {
22117  this->OnEntry_.set (::std::move (r));
22118  continue;
22119  }
22120  }
22121 
22122  // OnCondition
22123  //
22124  if (n.name () == "OnCondition" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
22125  {
22126  ::std::unique_ptr< OnCondition_type > r (
22127  OnCondition_traits::create (i, f, this));
22128 
22129  this->OnCondition_.push_back (::std::move (r));
22130  continue;
22131  }
22132 
22133  break;
22134  }
22135 
22136  while (p.more_attributes ())
22137  {
22138  const ::xercesc::DOMAttr& i (p.next_attribute ());
22139  const ::xsd::cxx::xml::qualified_name< char > n (
22140  ::xsd::cxx::xml::dom::name< char > (i));
22141 
22142  if (n.name () == "name" && n.namespace_ ().empty ())
22143  {
22144  this->name_.set (name_traits::create (i, f, this));
22145  continue;
22146  }
22147 
22148  if (n.name () == "initial" && n.namespace_ ().empty ())
22149  {
22150  this->initial_.set (initial_traits::create (i, f, this));
22151  continue;
22152  }
22153  }
22154 
22155  if (!name_.present ())
22156  {
22157  throw ::xsd::cxx::tree::expected_attribute< char > (
22158  "name",
22159  "");
22160  }
22161  }
22162 
22165  ::xml_schema::container* c) const
22166  {
22167  return new class Regime (*this, f, c);
22168  }
22169 
22171  operator= (const Regime& x)
22172  {
22173  if (this != &x)
22174  {
22175  static_cast< ::xml_schema::type& > (*this) = x;
22176  this->TimeDerivative_ = x.TimeDerivative_;
22177  this->OnEntry_ = x.OnEntry_;
22178  this->OnCondition_ = x.OnCondition_;
22179  this->name_ = x.name_;
22180  this->initial_ = x.initial_;
22181  }
22182 
22183  return *this;
22184  }
22185 
22187  ~Regime ()
22188  {
22189  }
22190 
22191  bool
22192  operator== (const Regime& x, const Regime& y)
22193  {
22194  if (!(x.TimeDerivative () == y.TimeDerivative ()))
22195  return false;
22196 
22197  if (!(x.OnEntry () == y.OnEntry ()))
22198  return false;
22199 
22200  if (!(x.OnCondition () == y.OnCondition ()))
22201  return false;
22202 
22203  if (!(x.name () == y.name ()))
22204  return false;
22205 
22206  if (!(x.initial () == y.initial ()))
22207  return false;
22208 
22209  return true;
22210  }
22211 
22212  bool
22213  operator!= (const Regime& x, const Regime& y)
22214  {
22215  return !(x == y);
22216  }
22217 
22218  // OnEntry
22219  //
22220 
22222  OnEntry ()
22223  : ::xml_schema::type (),
22224  StateAssignment_ (this)
22225  {
22226  }
22227 
22229  OnEntry (const OnEntry& x,
22230  ::xml_schema::flags f,
22231  ::xml_schema::container* c)
22232  : ::xml_schema::type (x, f, c),
22233  StateAssignment_ (x.StateAssignment_, f, this)
22234  {
22235  }
22236 
22238  OnEntry (const ::xercesc::DOMElement& e,
22239  ::xml_schema::flags f,
22240  ::xml_schema::container* c)
22241  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
22242  StateAssignment_ (this)
22243  {
22244  if ((f & ::xml_schema::flags::base) == 0)
22245  {
22246  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, false);
22247  this->parse (p, f);
22248  }
22249  }
22250 
22251  void OnEntry::
22252  parse (::xsd::cxx::xml::dom::parser< char >& p,
22253  ::xml_schema::flags f)
22254  {
22255  for (; p.more_content (); p.next_content (false))
22256  {
22257  const ::xercesc::DOMElement& i (p.cur_element ());
22258  const ::xsd::cxx::xml::qualified_name< char > n (
22259  ::xsd::cxx::xml::dom::name< char > (i));
22260 
22261  // StateAssignment
22262  //
22263  if (n.name () == "StateAssignment" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
22264  {
22265  ::std::unique_ptr< StateAssignment_type > r (
22266  StateAssignment_traits::create (i, f, this));
22267 
22268  this->StateAssignment_.push_back (::std::move (r));
22269  continue;
22270  }
22271 
22272  break;
22273  }
22274  }
22275 
22278  ::xml_schema::container* c) const
22279  {
22280  return new class OnEntry (*this, f, c);
22281  }
22282 
22284  operator= (const OnEntry& x)
22285  {
22286  if (this != &x)
22287  {
22288  static_cast< ::xml_schema::type& > (*this) = x;
22289  this->StateAssignment_ = x.StateAssignment_;
22290  }
22291 
22292  return *this;
22293  }
22294 
22296  ~OnEntry ()
22297  {
22298  }
22299 
22300  bool
22301  operator== (const OnEntry& x, const OnEntry& y)
22302  {
22303  if (!(x.StateAssignment () == y.StateAssignment ()))
22304  return false;
22305 
22306  return true;
22307  }
22308 
22309  bool
22310  operator!= (const OnEntry& x, const OnEntry& y)
22311  {
22312  return !(x == y);
22313  }
22314 
22315  // TrueOrFalse
22316  //
22317 
22319  TrueOrFalse (const ::xercesc::DOMElement& e,
22320  ::xml_schema::flags f,
22321  ::xml_schema::container* c)
22322  : ::xml_schema::string (e, f, c)
22323  {
22324  _xsd_TrueOrFalse_convert ();
22325  }
22326 
22328  TrueOrFalse (const ::xercesc::DOMAttr& a,
22329  ::xml_schema::flags f,
22330  ::xml_schema::container* c)
22331  : ::xml_schema::string (a, f, c)
22332  {
22333  _xsd_TrueOrFalse_convert ();
22334  }
22335 
22338  const ::xercesc::DOMElement* e,
22339  ::xml_schema::flags f,
22340  ::xml_schema::container* c)
22341  : ::xml_schema::string (s, e, f, c)
22342  {
22343  _xsd_TrueOrFalse_convert ();
22344  }
22345 
22348  ::xml_schema::container* c) const
22349  {
22350  return new class TrueOrFalse (*this, f, c);
22351  }
22352 
22353  TrueOrFalse::value TrueOrFalse::
22354  _xsd_TrueOrFalse_convert () const
22355  {
22356  ::xsd::cxx::tree::enum_comparator< char > c (_xsd_TrueOrFalse_literals_);
22357  const value* i (::std::lower_bound (
22358  _xsd_TrueOrFalse_indexes_,
22359  _xsd_TrueOrFalse_indexes_ + 2,
22360  *this,
22361  c));
22362 
22363  if (i == _xsd_TrueOrFalse_indexes_ + 2 || _xsd_TrueOrFalse_literals_[*i] != *this)
22364  {
22365  throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this);
22366  }
22367 
22368  return *i;
22369  }
22370 
22371  const char* const TrueOrFalse::
22372  _xsd_TrueOrFalse_literals_[2] =
22373  {
22374  "true",
22375  "false"
22376  };
22377 
22378  const TrueOrFalse::value TrueOrFalse::
22379  _xsd_TrueOrFalse_indexes_[2] =
22380  {
22381  ::neuroml2::TrueOrFalse::false_,
22382  ::neuroml2::TrueOrFalse::true_
22383  };
22384 
22385  // ZeroToOne
22386  //
22387 
22389  ZeroToOne (const ::xml_schema::float_& _xsd_float__base)
22390  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::float_, char, ::xml_schema::simple_type > (_xsd_float__base)
22391  {
22392  }
22393 
22395  ZeroToOne (const ZeroToOne& x,
22396  ::xml_schema::flags f,
22397  ::xml_schema::container* c)
22398  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::float_, char, ::xml_schema::simple_type > (x, f, c)
22399  {
22400  }
22401 
22403  ZeroToOne (const ::xercesc::DOMElement& e,
22404  ::xml_schema::flags f,
22405  ::xml_schema::container* c)
22406  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::float_, char, ::xml_schema::simple_type > (e, f, c)
22407  {
22408  }
22409 
22411  ZeroToOne (const ::xercesc::DOMAttr& a,
22412  ::xml_schema::flags f,
22413  ::xml_schema::container* c)
22414  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::float_, char, ::xml_schema::simple_type > (a, f, c)
22415  {
22416  }
22417 
22420  const ::xercesc::DOMElement* e,
22421  ::xml_schema::flags f,
22422  ::xml_schema::container* c)
22423  : ::xsd::cxx::tree::fundamental_base< ::xml_schema::float_, char, ::xml_schema::simple_type > (s, e, f, c)
22424  {
22425  }
22426 
22429  ::xml_schema::container* c) const
22430  {
22431  return new class ZeroToOne (*this, f, c);
22432  }
22433 
22435  ~ZeroToOne ()
22436  {
22437  }
22438 
22439  // Base
22440  //
22441 
22443  Base (const id_type& id)
22444  : ::neuroml2::BaseWithoutId (),
22445  id_ (id, this)
22446  {
22447  }
22448 
22450  Base (const Base& x,
22451  ::xml_schema::flags f,
22452  ::xml_schema::container* c)
22453  : ::neuroml2::BaseWithoutId (x, f, c),
22454  id_ (x.id_, f, this)
22455  {
22456  }
22457 
22459  Base (const ::xercesc::DOMElement& e,
22460  ::xml_schema::flags f,
22461  ::xml_schema::container* c)
22462  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
22463  id_ (this)
22464  {
22465  if ((f & ::xml_schema::flags::base) == 0)
22466  {
22467  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
22468  this->parse (p, f);
22469  }
22470  }
22471 
22472  void Base::
22473  parse (::xsd::cxx::xml::dom::parser< char >& p,
22474  ::xml_schema::flags f)
22475  {
22476  while (p.more_attributes ())
22477  {
22478  const ::xercesc::DOMAttr& i (p.next_attribute ());
22479  const ::xsd::cxx::xml::qualified_name< char > n (
22480  ::xsd::cxx::xml::dom::name< char > (i));
22481 
22482  if (n.name () == "id" && n.namespace_ ().empty ())
22483  {
22484  this->id_.set (id_traits::create (i, f, this));
22485  continue;
22486  }
22487  }
22488 
22489  if (!id_.present ())
22490  {
22491  throw ::xsd::cxx::tree::expected_attribute< char > (
22492  "id",
22493  "");
22494  }
22495  }
22496 
22499  ::xml_schema::container* c) const
22500  {
22501  return new class Base (*this, f, c);
22502  }
22503 
22505  operator= (const Base& x)
22506  {
22507  if (this != &x)
22508  {
22509  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
22510  this->id_ = x.id_;
22511  }
22512 
22513  return *this;
22514  }
22515 
22517  ~Base ()
22518  {
22519  }
22520 
22521  bool
22522  operator== (const Base& x, const Base& y)
22523  {
22524  if (!(x.id () == y.id ()))
22525  return false;
22526 
22527  return true;
22528  }
22529 
22530  bool
22531  operator!= (const Base& x, const Base& y)
22532  {
22533  return !(x == y);
22534  }
22535 
22536  // Standalone
22537  //
22538 
22540  Standalone (const id_type& id)
22541  : ::neuroml2::Base (id),
22542  notes_ (this),
22543  property_ (this),
22544  annotation_ (this),
22545  metaid_ (this)
22546  {
22547  }
22548 
22550  Standalone (const Standalone& x,
22551  ::xml_schema::flags f,
22552  ::xml_schema::container* c)
22553  : ::neuroml2::Base (x, f, c),
22554  notes_ (x.notes_, f, this),
22555  property_ (x.property_, f, this),
22556  annotation_ (x.annotation_, f, this),
22557  metaid_ (x.metaid_, f, this)
22558  {
22559  }
22560 
22562  Standalone (const ::xercesc::DOMElement& e,
22563  ::xml_schema::flags f,
22564  ::xml_schema::container* c)
22565  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
22566  notes_ (this),
22567  property_ (this),
22568  annotation_ (this),
22569  metaid_ (this)
22570  {
22571  if ((f & ::xml_schema::flags::base) == 0)
22572  {
22573  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
22574  this->parse (p, f);
22575  }
22576  }
22577 
22578  void Standalone::
22579  parse (::xsd::cxx::xml::dom::parser< char >& p,
22580  ::xml_schema::flags f)
22581  {
22582  this->::neuroml2::Base::parse (p, f);
22583 
22584  for (; p.more_content (); p.next_content (false))
22585  {
22586  const ::xercesc::DOMElement& i (p.cur_element ());
22587  const ::xsd::cxx::xml::qualified_name< char > n (
22588  ::xsd::cxx::xml::dom::name< char > (i));
22589 
22590  // notes
22591  //
22592  if (n.name () == "notes" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
22593  {
22594  ::std::unique_ptr< notes_type > r (
22595  notes_traits::create (i, f, this));
22596 
22597  if (!this->notes_)
22598  {
22599  this->notes_.set (::std::move (r));
22600  continue;
22601  }
22602  }
22603 
22604  // property
22605  //
22606  if (n.name () == "property" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
22607  {
22608  ::std::unique_ptr< property_type > r (
22609  property_traits::create (i, f, this));
22610 
22611  this->property_.push_back (::std::move (r));
22612  continue;
22613  }
22614 
22615  // annotation
22616  //
22617  if (n.name () == "annotation" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
22618  {
22619  ::std::unique_ptr< annotation_type > r (
22620  annotation_traits::create (i, f, this));
22621 
22622  if (!this->annotation_)
22623  {
22624  this->annotation_.set (::std::move (r));
22625  continue;
22626  }
22627  }
22628 
22629  break;
22630  }
22631 
22632  p.reset_attributes ();
22633 
22634  while (p.more_attributes ())
22635  {
22636  const ::xercesc::DOMAttr& i (p.next_attribute ());
22637  const ::xsd::cxx::xml::qualified_name< char > n (
22638  ::xsd::cxx::xml::dom::name< char > (i));
22639 
22640  if (n.name () == "metaid" && n.namespace_ ().empty ())
22641  {
22642  this->metaid_.set (metaid_traits::create (i, f, this));
22643  continue;
22644  }
22645  }
22646  }
22647 
22650  ::xml_schema::container* c) const
22651  {
22652  return new class Standalone (*this, f, c);
22653  }
22654 
22656  operator= (const Standalone& x)
22657  {
22658  if (this != &x)
22659  {
22660  static_cast< ::neuroml2::Base& > (*this) = x;
22661  this->notes_ = x.notes_;
22662  this->property_ = x.property_;
22663  this->annotation_ = x.annotation_;
22664  this->metaid_ = x.metaid_;
22665  }
22666 
22667  return *this;
22668  }
22669 
22671  ~Standalone ()
22672  {
22673  }
22674 
22675  bool
22676  operator== (const Standalone& x, const Standalone& y)
22677  {
22678  if (!(static_cast< const ::neuroml2::Base& > (x) ==
22679  static_cast< const ::neuroml2::Base& > (y)))
22680  return false;
22681 
22682  if (!(x.notes () == y.notes ()))
22683  return false;
22684 
22685  if (!(x.property () == y.property ()))
22686  return false;
22687 
22688  if (!(x.annotation () == y.annotation ()))
22689  return false;
22690 
22691  if (!(x.metaid () == y.metaid ()))
22692  return false;
22693 
22694  return true;
22695  }
22696 
22697  bool
22698  operator!= (const Standalone& x, const Standalone& y)
22699  {
22700  return !(x == y);
22701  }
22702 
22703  // NeuroMLDocument_base
22704  //
22705 
22707  NeuroMLDocument_base (const id_type& id)
22708  : ::neuroml2::Standalone (id),
22709  include_ (this),
22710  extracellularProperties_ (this),
22711  intracellularProperties_ (this),
22712  morphology_ (this),
22713  ionChannel_ (this),
22714  ionChannelHH_ (this),
22715  ionChannelVShift_ (this),
22716  ionChannelKS_ (this),
22717  decayingPoolConcentrationModel_ (this),
22718  fixedFactorConcentrationModel_ (this),
22719  alphaCurrentSynapse_ (this),
22720  alphaSynapse_ (this),
22721  expOneSynapse_ (this),
22722  expTwoSynapse_ (this),
22723  expThreeSynapse_ (this),
22724  blockingPlasticSynapse_ (this),
22725  doubleSynapse_ (this),
22726  gapJunction_ (this),
22727  silentSynapse_ (this),
22728  linearGradedSynapse_ (this),
22729  gradedSynapse_ (this),
22730  biophysicalProperties_ (this),
22731  cell_ (this),
22732  cell2CaPools_ (this),
22733  baseCell_ (this),
22734  iafTauCell_ (this),
22735  iafTauRefCell_ (this),
22736  iafCell_ (this),
22737  iafRefCell_ (this),
22738  izhikevichCell_ (this),
22739  izhikevich2007Cell_ (this),
22740  adExIaFCell_ (this),
22741  fitzHughNagumoCell_ (this),
22742  fitzHughNagumo1969Cell_ (this),
22743  pinskyRinzelCA3Cell_ (this),
22744  hindmarshRose1984Cell_ (this),
22745  pulseGenerator_ (this),
22746  pulseGeneratorDL_ (this),
22747  sineGenerator_ (this),
22748  sineGeneratorDL_ (this),
22749  rampGenerator_ (this),
22750  rampGeneratorDL_ (this),
22751  compoundInput_ (this),
22752  compoundInputDL_ (this),
22753  voltageClamp_ (this),
22754  voltageClampTriple_ (this),
22755  spikeArray_ (this),
22756  timedSynapticInput_ (this),
22757  spikeGenerator_ (this),
22758  spikeGeneratorRandom_ (this),
22759  spikeGeneratorPoisson_ (this),
22760  spikeGeneratorRefPoisson_ (this),
22761  poissonFiringSynapse_ (this),
22762  transientPoissonFiringSynapse_ (this),
22763  IF_curr_alpha_ (this),
22764  IF_curr_exp_ (this),
22765  IF_cond_alpha_ (this),
22766  IF_cond_exp_ (this),
22767  EIF_cond_exp_isfa_ista_ (this),
22768  EIF_cond_alpha_isfa_ista_ (this),
22769  HH_cond_exp_ (this),
22770  expCondSynapse_ (this),
22771  alphaCondSynapse_ (this),
22772  expCurrSynapse_ (this),
22773  alphaCurrSynapse_ (this),
22774  SpikeSourcePoisson_ (this),
22775  network_ (this),
22776  ComponentType_ (this)
22777  {
22778  }
22779 
22782  ::xml_schema::flags f,
22783  ::xml_schema::container* c)
22784  : ::neuroml2::Standalone (x, f, c),
22785  include_ (x.include_, f, this),
22786  extracellularProperties_ (x.extracellularProperties_, f, this),
22787  intracellularProperties_ (x.intracellularProperties_, f, this),
22788  morphology_ (x.morphology_, f, this),
22789  ionChannel_ (x.ionChannel_, f, this),
22790  ionChannelHH_ (x.ionChannelHH_, f, this),
22791  ionChannelVShift_ (x.ionChannelVShift_, f, this),
22792  ionChannelKS_ (x.ionChannelKS_, f, this),
22793  decayingPoolConcentrationModel_ (x.decayingPoolConcentrationModel_, f, this),
22794  fixedFactorConcentrationModel_ (x.fixedFactorConcentrationModel_, f, this),
22795  alphaCurrentSynapse_ (x.alphaCurrentSynapse_, f, this),
22796  alphaSynapse_ (x.alphaSynapse_, f, this),
22797  expOneSynapse_ (x.expOneSynapse_, f, this),
22798  expTwoSynapse_ (x.expTwoSynapse_, f, this),
22799  expThreeSynapse_ (x.expThreeSynapse_, f, this),
22800  blockingPlasticSynapse_ (x.blockingPlasticSynapse_, f, this),
22801  doubleSynapse_ (x.doubleSynapse_, f, this),
22802  gapJunction_ (x.gapJunction_, f, this),
22803  silentSynapse_ (x.silentSynapse_, f, this),
22804  linearGradedSynapse_ (x.linearGradedSynapse_, f, this),
22805  gradedSynapse_ (x.gradedSynapse_, f, this),
22806  biophysicalProperties_ (x.biophysicalProperties_, f, this),
22807  cell_ (x.cell_, f, this),
22808  cell2CaPools_ (x.cell2CaPools_, f, this),
22809  baseCell_ (x.baseCell_, f, this),
22810  iafTauCell_ (x.iafTauCell_, f, this),
22811  iafTauRefCell_ (x.iafTauRefCell_, f, this),
22812  iafCell_ (x.iafCell_, f, this),
22813  iafRefCell_ (x.iafRefCell_, f, this),
22814  izhikevichCell_ (x.izhikevichCell_, f, this),
22815  izhikevich2007Cell_ (x.izhikevich2007Cell_, f, this),
22816  adExIaFCell_ (x.adExIaFCell_, f, this),
22817  fitzHughNagumoCell_ (x.fitzHughNagumoCell_, f, this),
22818  fitzHughNagumo1969Cell_ (x.fitzHughNagumo1969Cell_, f, this),
22819  pinskyRinzelCA3Cell_ (x.pinskyRinzelCA3Cell_, f, this),
22820  hindmarshRose1984Cell_ (x.hindmarshRose1984Cell_, f, this),
22821  pulseGenerator_ (x.pulseGenerator_, f, this),
22822  pulseGeneratorDL_ (x.pulseGeneratorDL_, f, this),
22823  sineGenerator_ (x.sineGenerator_, f, this),
22824  sineGeneratorDL_ (x.sineGeneratorDL_, f, this),
22825  rampGenerator_ (x.rampGenerator_, f, this),
22826  rampGeneratorDL_ (x.rampGeneratorDL_, f, this),
22827  compoundInput_ (x.compoundInput_, f, this),
22828  compoundInputDL_ (x.compoundInputDL_, f, this),
22829  voltageClamp_ (x.voltageClamp_, f, this),
22830  voltageClampTriple_ (x.voltageClampTriple_, f, this),
22831  spikeArray_ (x.spikeArray_, f, this),
22832  timedSynapticInput_ (x.timedSynapticInput_, f, this),
22833  spikeGenerator_ (x.spikeGenerator_, f, this),
22834  spikeGeneratorRandom_ (x.spikeGeneratorRandom_, f, this),
22835  spikeGeneratorPoisson_ (x.spikeGeneratorPoisson_, f, this),
22836  spikeGeneratorRefPoisson_ (x.spikeGeneratorRefPoisson_, f, this),
22837  poissonFiringSynapse_ (x.poissonFiringSynapse_, f, this),
22838  transientPoissonFiringSynapse_ (x.transientPoissonFiringSynapse_, f, this),
22839  IF_curr_alpha_ (x.IF_curr_alpha_, f, this),
22840  IF_curr_exp_ (x.IF_curr_exp_, f, this),
22841  IF_cond_alpha_ (x.IF_cond_alpha_, f, this),
22842  IF_cond_exp_ (x.IF_cond_exp_, f, this),
22843  EIF_cond_exp_isfa_ista_ (x.EIF_cond_exp_isfa_ista_, f, this),
22844  EIF_cond_alpha_isfa_ista_ (x.EIF_cond_alpha_isfa_ista_, f, this),
22845  HH_cond_exp_ (x.HH_cond_exp_, f, this),
22846  expCondSynapse_ (x.expCondSynapse_, f, this),
22847  alphaCondSynapse_ (x.alphaCondSynapse_, f, this),
22848  expCurrSynapse_ (x.expCurrSynapse_, f, this),
22849  alphaCurrSynapse_ (x.alphaCurrSynapse_, f, this),
22850  SpikeSourcePoisson_ (x.SpikeSourcePoisson_, f, this),
22851  network_ (x.network_, f, this),
22852  ComponentType_ (x.ComponentType_, f, this)
22853  {
22854  }
22855 
22857  NeuroMLDocument_base (const ::xercesc::DOMElement& e,
22858  ::xml_schema::flags f,
22859  ::xml_schema::container* c)
22860  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
22861  include_ (this),
22862  extracellularProperties_ (this),
22863  intracellularProperties_ (this),
22864  morphology_ (this),
22865  ionChannel_ (this),
22866  ionChannelHH_ (this),
22867  ionChannelVShift_ (this),
22868  ionChannelKS_ (this),
22869  decayingPoolConcentrationModel_ (this),
22870  fixedFactorConcentrationModel_ (this),
22871  alphaCurrentSynapse_ (this),
22872  alphaSynapse_ (this),
22873  expOneSynapse_ (this),
22874  expTwoSynapse_ (this),
22875  expThreeSynapse_ (this),
22876  blockingPlasticSynapse_ (this),
22877  doubleSynapse_ (this),
22878  gapJunction_ (this),
22879  silentSynapse_ (this),
22880  linearGradedSynapse_ (this),
22881  gradedSynapse_ (this),
22882  biophysicalProperties_ (this),
22883  cell_ (this),
22884  cell2CaPools_ (this),
22885  baseCell_ (this),
22886  iafTauCell_ (this),
22887  iafTauRefCell_ (this),
22888  iafCell_ (this),
22889  iafRefCell_ (this),
22890  izhikevichCell_ (this),
22891  izhikevich2007Cell_ (this),
22892  adExIaFCell_ (this),
22893  fitzHughNagumoCell_ (this),
22894  fitzHughNagumo1969Cell_ (this),
22895  pinskyRinzelCA3Cell_ (this),
22896  hindmarshRose1984Cell_ (this),
22897  pulseGenerator_ (this),
22898  pulseGeneratorDL_ (this),
22899  sineGenerator_ (this),
22900  sineGeneratorDL_ (this),
22901  rampGenerator_ (this),
22902  rampGeneratorDL_ (this),
22903  compoundInput_ (this),
22904  compoundInputDL_ (this),
22905  voltageClamp_ (this),
22906  voltageClampTriple_ (this),
22907  spikeArray_ (this),
22908  timedSynapticInput_ (this),
22909  spikeGenerator_ (this),
22910  spikeGeneratorRandom_ (this),
22911  spikeGeneratorPoisson_ (this),
22912  spikeGeneratorRefPoisson_ (this),
22913  poissonFiringSynapse_ (this),
22914  transientPoissonFiringSynapse_ (this),
22915  IF_curr_alpha_ (this),
22916  IF_curr_exp_ (this),
22917  IF_cond_alpha_ (this),
22918  IF_cond_exp_ (this),
22919  EIF_cond_exp_isfa_ista_ (this),
22920  EIF_cond_alpha_isfa_ista_ (this),
22921  HH_cond_exp_ (this),
22922  expCondSynapse_ (this),
22923  alphaCondSynapse_ (this),
22924  expCurrSynapse_ (this),
22925  alphaCurrSynapse_ (this),
22926  SpikeSourcePoisson_ (this),
22927  network_ (this),
22928  ComponentType_ (this)
22929  {
22930  if ((f & ::xml_schema::flags::base) == 0)
22931  {
22932  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
22933  this->parse (p, f);
22934  }
22935  }
22936 
22937  void NeuroMLDocument_base::
22938  parse (::xsd::cxx::xml::dom::parser< char >& p,
22939  ::xml_schema::flags f)
22940  {
22941  this->::neuroml2::Standalone::parse (p, f);
22942 
22943  for (; p.more_content (); p.next_content (false))
22944  {
22945  const ::xercesc::DOMElement& i (p.cur_element ());
22946  const ::xsd::cxx::xml::qualified_name< char > n (
22947  ::xsd::cxx::xml::dom::name< char > (i));
22948 
22949  // include
22950  //
22951  if (n.name () == "include" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
22952  {
22953  ::std::unique_ptr< include_type > r (
22954  include_traits::create (i, f, this));
22955 
22956  this->include_.push_back (::std::move (r));
22957  continue;
22958  }
22959 
22960  // extracellularProperties
22961  //
22962  if (n.name () == "extracellularProperties" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
22963  {
22964  ::std::unique_ptr< extracellularProperties_type > r (
22965  extracellularProperties_traits::create (i, f, this));
22966 
22967  this->extracellularProperties_.push_back (::std::move (r));
22968  continue;
22969  }
22970 
22971  // intracellularProperties
22972  //
22973  if (n.name () == "intracellularProperties" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
22974  {
22975  ::std::unique_ptr< intracellularProperties_type > r (
22976  intracellularProperties_traits::create (i, f, this));
22977 
22978  this->intracellularProperties_.push_back (::std::move (r));
22979  continue;
22980  }
22981 
22982  // morphology
22983  //
22984  if (n.name () == "morphology" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
22985  {
22986  ::std::unique_ptr< morphology_type > r (
22987  morphology_traits::create (i, f, this));
22988 
22989  this->morphology_.push_back (::std::move (r));
22990  continue;
22991  }
22992 
22993  // ionChannel
22994  //
22995  if (n.name () == "ionChannel" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
22996  {
22997  ::std::unique_ptr< ionChannel_type > r (
22998  ionChannel_traits::create (i, f, this));
22999 
23000  this->ionChannel_.push_back (::std::move (r));
23001  continue;
23002  }
23003 
23004  // ionChannelHH
23005  //
23006  if (n.name () == "ionChannelHH" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23007  {
23008  ::std::unique_ptr< ionChannelHH_type > r (
23009  ionChannelHH_traits::create (i, f, this));
23010 
23011  this->ionChannelHH_.push_back (::std::move (r));
23012  continue;
23013  }
23014 
23015  // ionChannelVShift
23016  //
23017  if (n.name () == "ionChannelVShift" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23018  {
23019  ::std::unique_ptr< ionChannelVShift_type > r (
23020  ionChannelVShift_traits::create (i, f, this));
23021 
23022  this->ionChannelVShift_.push_back (::std::move (r));
23023  continue;
23024  }
23025 
23026  // ionChannelKS
23027  //
23028  if (n.name () == "ionChannelKS" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23029  {
23030  ::std::unique_ptr< ionChannelKS_type > r (
23031  ionChannelKS_traits::create (i, f, this));
23032 
23033  this->ionChannelKS_.push_back (::std::move (r));
23034  continue;
23035  }
23036 
23037  // decayingPoolConcentrationModel
23038  //
23039  if (n.name () == "decayingPoolConcentrationModel" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23040  {
23041  ::std::unique_ptr< decayingPoolConcentrationModel_type > r (
23042  decayingPoolConcentrationModel_traits::create (i, f, this));
23043 
23044  this->decayingPoolConcentrationModel_.push_back (::std::move (r));
23045  continue;
23046  }
23047 
23048  // fixedFactorConcentrationModel
23049  //
23050  if (n.name () == "fixedFactorConcentrationModel" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23051  {
23052  ::std::unique_ptr< fixedFactorConcentrationModel_type > r (
23053  fixedFactorConcentrationModel_traits::create (i, f, this));
23054 
23055  this->fixedFactorConcentrationModel_.push_back (::std::move (r));
23056  continue;
23057  }
23058 
23059  // alphaCurrentSynapse
23060  //
23061  if (n.name () == "alphaCurrentSynapse" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23062  {
23063  ::std::unique_ptr< alphaCurrentSynapse_type > r (
23064  alphaCurrentSynapse_traits::create (i, f, this));
23065 
23066  this->alphaCurrentSynapse_.push_back (::std::move (r));
23067  continue;
23068  }
23069 
23070  // alphaSynapse
23071  //
23072  if (n.name () == "alphaSynapse" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23073  {
23074  ::std::unique_ptr< alphaSynapse_type > r (
23075  alphaSynapse_traits::create (i, f, this));
23076 
23077  this->alphaSynapse_.push_back (::std::move (r));
23078  continue;
23079  }
23080 
23081  // expOneSynapse
23082  //
23083  if (n.name () == "expOneSynapse" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23084  {
23085  ::std::unique_ptr< expOneSynapse_type > r (
23086  expOneSynapse_traits::create (i, f, this));
23087 
23088  this->expOneSynapse_.push_back (::std::move (r));
23089  continue;
23090  }
23091 
23092  // expTwoSynapse
23093  //
23094  if (n.name () == "expTwoSynapse" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23095  {
23096  ::std::unique_ptr< expTwoSynapse_type > r (
23097  expTwoSynapse_traits::create (i, f, this));
23098 
23099  this->expTwoSynapse_.push_back (::std::move (r));
23100  continue;
23101  }
23102 
23103  // expThreeSynapse
23104  //
23105  if (n.name () == "expThreeSynapse" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23106  {
23107  ::std::unique_ptr< expThreeSynapse_type > r (
23108  expThreeSynapse_traits::create (i, f, this));
23109 
23110  this->expThreeSynapse_.push_back (::std::move (r));
23111  continue;
23112  }
23113 
23114  // blockingPlasticSynapse
23115  //
23116  if (n.name () == "blockingPlasticSynapse" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23117  {
23118  ::std::unique_ptr< blockingPlasticSynapse_type > r (
23119  blockingPlasticSynapse_traits::create (i, f, this));
23120 
23121  this->blockingPlasticSynapse_.push_back (::std::move (r));
23122  continue;
23123  }
23124 
23125  // doubleSynapse
23126  //
23127  if (n.name () == "doubleSynapse" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23128  {
23129  ::std::unique_ptr< doubleSynapse_type > r (
23130  doubleSynapse_traits::create (i, f, this));
23131 
23132  this->doubleSynapse_.push_back (::std::move (r));
23133  continue;
23134  }
23135 
23136  // gapJunction
23137  //
23138  if (n.name () == "gapJunction" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23139  {
23140  ::std::unique_ptr< gapJunction_type > r (
23141  gapJunction_traits::create (i, f, this));
23142 
23143  this->gapJunction_.push_back (::std::move (r));
23144  continue;
23145  }
23146 
23147  // silentSynapse
23148  //
23149  if (n.name () == "silentSynapse" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23150  {
23151  ::std::unique_ptr< silentSynapse_type > r (
23152  silentSynapse_traits::create (i, f, this));
23153 
23154  this->silentSynapse_.push_back (::std::move (r));
23155  continue;
23156  }
23157 
23158  // linearGradedSynapse
23159  //
23160  if (n.name () == "linearGradedSynapse" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23161  {
23162  ::std::unique_ptr< linearGradedSynapse_type > r (
23163  linearGradedSynapse_traits::create (i, f, this));
23164 
23165  this->linearGradedSynapse_.push_back (::std::move (r));
23166  continue;
23167  }
23168 
23169  // gradedSynapse
23170  //
23171  if (n.name () == "gradedSynapse" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23172  {
23173  ::std::unique_ptr< gradedSynapse_type > r (
23174  gradedSynapse_traits::create (i, f, this));
23175 
23176  this->gradedSynapse_.push_back (::std::move (r));
23177  continue;
23178  }
23179 
23180  // biophysicalProperties
23181  //
23182  if (n.name () == "biophysicalProperties" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23183  {
23184  ::std::unique_ptr< biophysicalProperties_type > r (
23185  biophysicalProperties_traits::create (i, f, this));
23186 
23187  this->biophysicalProperties_.push_back (::std::move (r));
23188  continue;
23189  }
23190 
23191  // cell
23192  //
23193  if (n.name () == "cell" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23194  {
23195  ::std::unique_ptr< cell_type > r (
23196  cell_traits::create (i, f, this));
23197 
23198  this->cell_.push_back (::std::move (r));
23199  continue;
23200  }
23201 
23202  // cell2CaPools
23203  //
23204  if (n.name () == "cell2CaPools" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23205  {
23206  ::std::unique_ptr< cell2CaPools_type > r (
23207  cell2CaPools_traits::create (i, f, this));
23208 
23209  this->cell2CaPools_.push_back (::std::move (r));
23210  continue;
23211  }
23212 
23213  // baseCell
23214  //
23215  if (n.name () == "baseCell" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23216  {
23217  ::std::unique_ptr< baseCell_type > r (
23218  baseCell_traits::create (i, f, this));
23219 
23220  this->baseCell_.push_back (::std::move (r));
23221  continue;
23222  }
23223 
23224  // iafTauCell
23225  //
23226  if (n.name () == "iafTauCell" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23227  {
23228  ::std::unique_ptr< iafTauCell_type > r (
23229  iafTauCell_traits::create (i, f, this));
23230 
23231  this->iafTauCell_.push_back (::std::move (r));
23232  continue;
23233  }
23234 
23235  // iafTauRefCell
23236  //
23237  if (n.name () == "iafTauRefCell" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23238  {
23239  ::std::unique_ptr< iafTauRefCell_type > r (
23240  iafTauRefCell_traits::create (i, f, this));
23241 
23242  this->iafTauRefCell_.push_back (::std::move (r));
23243  continue;
23244  }
23245 
23246  // iafCell
23247  //
23248  if (n.name () == "iafCell" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23249  {
23250  ::std::unique_ptr< iafCell_type > r (
23251  iafCell_traits::create (i, f, this));
23252 
23253  this->iafCell_.push_back (::std::move (r));
23254  continue;
23255  }
23256 
23257  // iafRefCell
23258  //
23259  if (n.name () == "iafRefCell" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23260  {
23261  ::std::unique_ptr< iafRefCell_type > r (
23262  iafRefCell_traits::create (i, f, this));
23263 
23264  this->iafRefCell_.push_back (::std::move (r));
23265  continue;
23266  }
23267 
23268  // izhikevichCell
23269  //
23270  if (n.name () == "izhikevichCell" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23271  {
23272  ::std::unique_ptr< izhikevichCell_type > r (
23273  izhikevichCell_traits::create (i, f, this));
23274 
23275  this->izhikevichCell_.push_back (::std::move (r));
23276  continue;
23277  }
23278 
23279  // izhikevich2007Cell
23280  //
23281  if (n.name () == "izhikevich2007Cell" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23282  {
23283  ::std::unique_ptr< izhikevich2007Cell_type > r (
23284  izhikevich2007Cell_traits::create (i, f, this));
23285 
23286  this->izhikevich2007Cell_.push_back (::std::move (r));
23287  continue;
23288  }
23289 
23290  // adExIaFCell
23291  //
23292  if (n.name () == "adExIaFCell" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23293  {
23294  ::std::unique_ptr< adExIaFCell_type > r (
23295  adExIaFCell_traits::create (i, f, this));
23296 
23297  this->adExIaFCell_.push_back (::std::move (r));
23298  continue;
23299  }
23300 
23301  // fitzHughNagumoCell
23302  //
23303  if (n.name () == "fitzHughNagumoCell" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23304  {
23305  ::std::unique_ptr< fitzHughNagumoCell_type > r (
23306  fitzHughNagumoCell_traits::create (i, f, this));
23307 
23308  this->fitzHughNagumoCell_.push_back (::std::move (r));
23309  continue;
23310  }
23311 
23312  // fitzHughNagumo1969Cell
23313  //
23314  if (n.name () == "fitzHughNagumo1969Cell" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23315  {
23316  ::std::unique_ptr< fitzHughNagumo1969Cell_type > r (
23317  fitzHughNagumo1969Cell_traits::create (i, f, this));
23318 
23319  this->fitzHughNagumo1969Cell_.push_back (::std::move (r));
23320  continue;
23321  }
23322 
23323  // pinskyRinzelCA3Cell
23324  //
23325  if (n.name () == "pinskyRinzelCA3Cell" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23326  {
23327  ::std::unique_ptr< pinskyRinzelCA3Cell_type > r (
23328  pinskyRinzelCA3Cell_traits::create (i, f, this));
23329 
23330  this->pinskyRinzelCA3Cell_.push_back (::std::move (r));
23331  continue;
23332  }
23333 
23334  // hindmarshRose1984Cell
23335  //
23336  if (n.name () == "hindmarshRose1984Cell" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23337  {
23338  ::std::unique_ptr< hindmarshRose1984Cell_type > r (
23339  hindmarshRose1984Cell_traits::create (i, f, this));
23340 
23341  this->hindmarshRose1984Cell_.push_back (::std::move (r));
23342  continue;
23343  }
23344 
23345  // pulseGenerator
23346  //
23347  if (n.name () == "pulseGenerator" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23348  {
23349  ::std::unique_ptr< pulseGenerator_type > r (
23350  pulseGenerator_traits::create (i, f, this));
23351 
23352  this->pulseGenerator_.push_back (::std::move (r));
23353  continue;
23354  }
23355 
23356  // pulseGeneratorDL
23357  //
23358  if (n.name () == "pulseGeneratorDL" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23359  {
23360  ::std::unique_ptr< pulseGeneratorDL_type > r (
23361  pulseGeneratorDL_traits::create (i, f, this));
23362 
23363  this->pulseGeneratorDL_.push_back (::std::move (r));
23364  continue;
23365  }
23366 
23367  // sineGenerator
23368  //
23369  if (n.name () == "sineGenerator" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23370  {
23371  ::std::unique_ptr< sineGenerator_type > r (
23372  sineGenerator_traits::create (i, f, this));
23373 
23374  this->sineGenerator_.push_back (::std::move (r));
23375  continue;
23376  }
23377 
23378  // sineGeneratorDL
23379  //
23380  if (n.name () == "sineGeneratorDL" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23381  {
23382  ::std::unique_ptr< sineGeneratorDL_type > r (
23383  sineGeneratorDL_traits::create (i, f, this));
23384 
23385  this->sineGeneratorDL_.push_back (::std::move (r));
23386  continue;
23387  }
23388 
23389  // rampGenerator
23390  //
23391  if (n.name () == "rampGenerator" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23392  {
23393  ::std::unique_ptr< rampGenerator_type > r (
23394  rampGenerator_traits::create (i, f, this));
23395 
23396  this->rampGenerator_.push_back (::std::move (r));
23397  continue;
23398  }
23399 
23400  // rampGeneratorDL
23401  //
23402  if (n.name () == "rampGeneratorDL" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23403  {
23404  ::std::unique_ptr< rampGeneratorDL_type > r (
23405  rampGeneratorDL_traits::create (i, f, this));
23406 
23407  this->rampGeneratorDL_.push_back (::std::move (r));
23408  continue;
23409  }
23410 
23411  // compoundInput
23412  //
23413  if (n.name () == "compoundInput" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23414  {
23415  ::std::unique_ptr< compoundInput_type > r (
23416  compoundInput_traits::create (i, f, this));
23417 
23418  this->compoundInput_.push_back (::std::move (r));
23419  continue;
23420  }
23421 
23422  // compoundInputDL
23423  //
23424  if (n.name () == "compoundInputDL" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23425  {
23426  ::std::unique_ptr< compoundInputDL_type > r (
23427  compoundInputDL_traits::create (i, f, this));
23428 
23429  this->compoundInputDL_.push_back (::std::move (r));
23430  continue;
23431  }
23432 
23433  // voltageClamp
23434  //
23435  if (n.name () == "voltageClamp" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23436  {
23437  ::std::unique_ptr< voltageClamp_type > r (
23438  voltageClamp_traits::create (i, f, this));
23439 
23440  this->voltageClamp_.push_back (::std::move (r));
23441  continue;
23442  }
23443 
23444  // voltageClampTriple
23445  //
23446  if (n.name () == "voltageClampTriple" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23447  {
23448  ::std::unique_ptr< voltageClampTriple_type > r (
23449  voltageClampTriple_traits::create (i, f, this));
23450 
23451  this->voltageClampTriple_.push_back (::std::move (r));
23452  continue;
23453  }
23454 
23455  // spikeArray
23456  //
23457  if (n.name () == "spikeArray" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23458  {
23459  ::std::unique_ptr< spikeArray_type > r (
23460  spikeArray_traits::create (i, f, this));
23461 
23462  this->spikeArray_.push_back (::std::move (r));
23463  continue;
23464  }
23465 
23466  // timedSynapticInput
23467  //
23468  if (n.name () == "timedSynapticInput" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23469  {
23470  ::std::unique_ptr< timedSynapticInput_type > r (
23471  timedSynapticInput_traits::create (i, f, this));
23472 
23473  this->timedSynapticInput_.push_back (::std::move (r));
23474  continue;
23475  }
23476 
23477  // spikeGenerator
23478  //
23479  if (n.name () == "spikeGenerator" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23480  {
23481  ::std::unique_ptr< spikeGenerator_type > r (
23482  spikeGenerator_traits::create (i, f, this));
23483 
23484  this->spikeGenerator_.push_back (::std::move (r));
23485  continue;
23486  }
23487 
23488  // spikeGeneratorRandom
23489  //
23490  if (n.name () == "spikeGeneratorRandom" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23491  {
23492  ::std::unique_ptr< spikeGeneratorRandom_type > r (
23493  spikeGeneratorRandom_traits::create (i, f, this));
23494 
23495  this->spikeGeneratorRandom_.push_back (::std::move (r));
23496  continue;
23497  }
23498 
23499  // spikeGeneratorPoisson
23500  //
23501  if (n.name () == "spikeGeneratorPoisson" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23502  {
23503  ::std::unique_ptr< spikeGeneratorPoisson_type > r (
23504  spikeGeneratorPoisson_traits::create (i, f, this));
23505 
23506  this->spikeGeneratorPoisson_.push_back (::std::move (r));
23507  continue;
23508  }
23509 
23510  // spikeGeneratorRefPoisson
23511  //
23512  if (n.name () == "spikeGeneratorRefPoisson" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23513  {
23514  ::std::unique_ptr< spikeGeneratorRefPoisson_type > r (
23515  spikeGeneratorRefPoisson_traits::create (i, f, this));
23516 
23517  this->spikeGeneratorRefPoisson_.push_back (::std::move (r));
23518  continue;
23519  }
23520 
23521  // poissonFiringSynapse
23522  //
23523  if (n.name () == "poissonFiringSynapse" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23524  {
23525  ::std::unique_ptr< poissonFiringSynapse_type > r (
23526  poissonFiringSynapse_traits::create (i, f, this));
23527 
23528  this->poissonFiringSynapse_.push_back (::std::move (r));
23529  continue;
23530  }
23531 
23532  // transientPoissonFiringSynapse
23533  //
23534  if (n.name () == "transientPoissonFiringSynapse" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23535  {
23536  ::std::unique_ptr< transientPoissonFiringSynapse_type > r (
23537  transientPoissonFiringSynapse_traits::create (i, f, this));
23538 
23539  this->transientPoissonFiringSynapse_.push_back (::std::move (r));
23540  continue;
23541  }
23542 
23543  // IF_curr_alpha
23544  //
23545  if (n.name () == "IF_curr_alpha" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23546  {
23547  ::std::unique_ptr< IF_curr_alpha_type > r (
23548  IF_curr_alpha_traits::create (i, f, this));
23549 
23550  this->IF_curr_alpha_.push_back (::std::move (r));
23551  continue;
23552  }
23553 
23554  // IF_curr_exp
23555  //
23556  if (n.name () == "IF_curr_exp" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23557  {
23558  ::std::unique_ptr< IF_curr_exp_type > r (
23559  IF_curr_exp_traits::create (i, f, this));
23560 
23561  this->IF_curr_exp_.push_back (::std::move (r));
23562  continue;
23563  }
23564 
23565  // IF_cond_alpha
23566  //
23567  if (n.name () == "IF_cond_alpha" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23568  {
23569  ::std::unique_ptr< IF_cond_alpha_type > r (
23570  IF_cond_alpha_traits::create (i, f, this));
23571 
23572  this->IF_cond_alpha_.push_back (::std::move (r));
23573  continue;
23574  }
23575 
23576  // IF_cond_exp
23577  //
23578  if (n.name () == "IF_cond_exp" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23579  {
23580  ::std::unique_ptr< IF_cond_exp_type > r (
23581  IF_cond_exp_traits::create (i, f, this));
23582 
23583  this->IF_cond_exp_.push_back (::std::move (r));
23584  continue;
23585  }
23586 
23587  // EIF_cond_exp_isfa_ista
23588  //
23589  if (n.name () == "EIF_cond_exp_isfa_ista" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23590  {
23591  ::std::unique_ptr< EIF_cond_exp_isfa_ista_type > r (
23592  EIF_cond_exp_isfa_ista_traits::create (i, f, this));
23593 
23594  this->EIF_cond_exp_isfa_ista_.push_back (::std::move (r));
23595  continue;
23596  }
23597 
23598  // EIF_cond_alpha_isfa_ista
23599  //
23600  if (n.name () == "EIF_cond_alpha_isfa_ista" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23601  {
23602  ::std::unique_ptr< EIF_cond_alpha_isfa_ista_type > r (
23603  EIF_cond_alpha_isfa_ista_traits::create (i, f, this));
23604 
23605  this->EIF_cond_alpha_isfa_ista_.push_back (::std::move (r));
23606  continue;
23607  }
23608 
23609  // HH_cond_exp
23610  //
23611  if (n.name () == "HH_cond_exp" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23612  {
23613  ::std::unique_ptr< HH_cond_exp_type > r (
23614  HH_cond_exp_traits::create (i, f, this));
23615 
23616  this->HH_cond_exp_.push_back (::std::move (r));
23617  continue;
23618  }
23619 
23620  // expCondSynapse
23621  //
23622  if (n.name () == "expCondSynapse" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23623  {
23624  ::std::unique_ptr< expCondSynapse_type > r (
23625  expCondSynapse_traits::create (i, f, this));
23626 
23627  this->expCondSynapse_.push_back (::std::move (r));
23628  continue;
23629  }
23630 
23631  // alphaCondSynapse
23632  //
23633  if (n.name () == "alphaCondSynapse" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23634  {
23635  ::std::unique_ptr< alphaCondSynapse_type > r (
23636  alphaCondSynapse_traits::create (i, f, this));
23637 
23638  this->alphaCondSynapse_.push_back (::std::move (r));
23639  continue;
23640  }
23641 
23642  // expCurrSynapse
23643  //
23644  if (n.name () == "expCurrSynapse" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23645  {
23646  ::std::unique_ptr< expCurrSynapse_type > r (
23647  expCurrSynapse_traits::create (i, f, this));
23648 
23649  this->expCurrSynapse_.push_back (::std::move (r));
23650  continue;
23651  }
23652 
23653  // alphaCurrSynapse
23654  //
23655  if (n.name () == "alphaCurrSynapse" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23656  {
23657  ::std::unique_ptr< alphaCurrSynapse_type > r (
23658  alphaCurrSynapse_traits::create (i, f, this));
23659 
23660  this->alphaCurrSynapse_.push_back (::std::move (r));
23661  continue;
23662  }
23663 
23664  // SpikeSourcePoisson
23665  //
23666  if (n.name () == "SpikeSourcePoisson" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23667  {
23668  ::std::unique_ptr< SpikeSourcePoisson_type > r (
23669  SpikeSourcePoisson_traits::create (i, f, this));
23670 
23671  this->SpikeSourcePoisson_.push_back (::std::move (r));
23672  continue;
23673  }
23674 
23675  // network
23676  //
23677  if (n.name () == "network" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23678  {
23679  ::std::unique_ptr< network_type > r (
23680  network_traits::create (i, f, this));
23681 
23682  this->network_.push_back (::std::move (r));
23683  continue;
23684  }
23685 
23686  // ComponentType
23687  //
23688  if (n.name () == "ComponentType" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
23689  {
23690  ::std::unique_ptr< ComponentType_type > r (
23691  ComponentType_traits::create (i, f, this));
23692 
23693  this->ComponentType_.push_back (::std::move (r));
23694  continue;
23695  }
23696 
23697  break;
23698  }
23699  }
23700 
23703  ::xml_schema::container* c) const
23704  {
23705  return new class NeuroMLDocument_base (*this, f, c);
23706  }
23707 
23710  {
23711  if (this != &x)
23712  {
23713  static_cast< ::neuroml2::Standalone& > (*this) = x;
23714  this->include_ = x.include_;
23715  this->extracellularProperties_ = x.extracellularProperties_;
23716  this->intracellularProperties_ = x.intracellularProperties_;
23717  this->morphology_ = x.morphology_;
23718  this->ionChannel_ = x.ionChannel_;
23719  this->ionChannelHH_ = x.ionChannelHH_;
23720  this->ionChannelVShift_ = x.ionChannelVShift_;
23721  this->ionChannelKS_ = x.ionChannelKS_;
23722  this->decayingPoolConcentrationModel_ = x.decayingPoolConcentrationModel_;
23723  this->fixedFactorConcentrationModel_ = x.fixedFactorConcentrationModel_;
23724  this->alphaCurrentSynapse_ = x.alphaCurrentSynapse_;
23725  this->alphaSynapse_ = x.alphaSynapse_;
23726  this->expOneSynapse_ = x.expOneSynapse_;
23727  this->expTwoSynapse_ = x.expTwoSynapse_;
23728  this->expThreeSynapse_ = x.expThreeSynapse_;
23729  this->blockingPlasticSynapse_ = x.blockingPlasticSynapse_;
23730  this->doubleSynapse_ = x.doubleSynapse_;
23731  this->gapJunction_ = x.gapJunction_;
23732  this->silentSynapse_ = x.silentSynapse_;
23733  this->linearGradedSynapse_ = x.linearGradedSynapse_;
23734  this->gradedSynapse_ = x.gradedSynapse_;
23735  this->biophysicalProperties_ = x.biophysicalProperties_;
23736  this->cell_ = x.cell_;
23737  this->cell2CaPools_ = x.cell2CaPools_;
23738  this->baseCell_ = x.baseCell_;
23739  this->iafTauCell_ = x.iafTauCell_;
23740  this->iafTauRefCell_ = x.iafTauRefCell_;
23741  this->iafCell_ = x.iafCell_;
23742  this->iafRefCell_ = x.iafRefCell_;
23743  this->izhikevichCell_ = x.izhikevichCell_;
23744  this->izhikevich2007Cell_ = x.izhikevich2007Cell_;
23745  this->adExIaFCell_ = x.adExIaFCell_;
23746  this->fitzHughNagumoCell_ = x.fitzHughNagumoCell_;
23747  this->fitzHughNagumo1969Cell_ = x.fitzHughNagumo1969Cell_;
23748  this->pinskyRinzelCA3Cell_ = x.pinskyRinzelCA3Cell_;
23749  this->hindmarshRose1984Cell_ = x.hindmarshRose1984Cell_;
23750  this->pulseGenerator_ = x.pulseGenerator_;
23751  this->pulseGeneratorDL_ = x.pulseGeneratorDL_;
23752  this->sineGenerator_ = x.sineGenerator_;
23753  this->sineGeneratorDL_ = x.sineGeneratorDL_;
23754  this->rampGenerator_ = x.rampGenerator_;
23755  this->rampGeneratorDL_ = x.rampGeneratorDL_;
23756  this->compoundInput_ = x.compoundInput_;
23757  this->compoundInputDL_ = x.compoundInputDL_;
23758  this->voltageClamp_ = x.voltageClamp_;
23759  this->voltageClampTriple_ = x.voltageClampTriple_;
23760  this->spikeArray_ = x.spikeArray_;
23761  this->timedSynapticInput_ = x.timedSynapticInput_;
23762  this->spikeGenerator_ = x.spikeGenerator_;
23763  this->spikeGeneratorRandom_ = x.spikeGeneratorRandom_;
23764  this->spikeGeneratorPoisson_ = x.spikeGeneratorPoisson_;
23765  this->spikeGeneratorRefPoisson_ = x.spikeGeneratorRefPoisson_;
23766  this->poissonFiringSynapse_ = x.poissonFiringSynapse_;
23767  this->transientPoissonFiringSynapse_ = x.transientPoissonFiringSynapse_;
23768  this->IF_curr_alpha_ = x.IF_curr_alpha_;
23769  this->IF_curr_exp_ = x.IF_curr_exp_;
23770  this->IF_cond_alpha_ = x.IF_cond_alpha_;
23771  this->IF_cond_exp_ = x.IF_cond_exp_;
23772  this->EIF_cond_exp_isfa_ista_ = x.EIF_cond_exp_isfa_ista_;
23773  this->EIF_cond_alpha_isfa_ista_ = x.EIF_cond_alpha_isfa_ista_;
23774  this->HH_cond_exp_ = x.HH_cond_exp_;
23775  this->expCondSynapse_ = x.expCondSynapse_;
23776  this->alphaCondSynapse_ = x.alphaCondSynapse_;
23777  this->expCurrSynapse_ = x.expCurrSynapse_;
23778  this->alphaCurrSynapse_ = x.alphaCurrSynapse_;
23779  this->SpikeSourcePoisson_ = x.SpikeSourcePoisson_;
23780  this->network_ = x.network_;
23781  this->ComponentType_ = x.ComponentType_;
23782  }
23783 
23784  return *this;
23785  }
23786 
23789  {
23790  }
23791 
23792  bool
23793  operator== (const NeuroMLDocument_base& x, const NeuroMLDocument_base& y)
23794  {
23795  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
23796  static_cast< const ::neuroml2::Standalone& > (y)))
23797  return false;
23798 
23799  if (!(x.include () == y.include ()))
23800  return false;
23801 
23803  return false;
23804 
23806  return false;
23807 
23808  if (!(x.morphology () == y.morphology ()))
23809  return false;
23810 
23811  if (!(x.ionChannel () == y.ionChannel ()))
23812  return false;
23813 
23814  if (!(x.ionChannelHH () == y.ionChannelHH ()))
23815  return false;
23816 
23817  if (!(x.ionChannelVShift () == y.ionChannelVShift ()))
23818  return false;
23819 
23820  if (!(x.ionChannelKS () == y.ionChannelKS ()))
23821  return false;
23822 
23824  return false;
23825 
23827  return false;
23828 
23829  if (!(x.alphaCurrentSynapse () == y.alphaCurrentSynapse ()))
23830  return false;
23831 
23832  if (!(x.alphaSynapse () == y.alphaSynapse ()))
23833  return false;
23834 
23835  if (!(x.expOneSynapse () == y.expOneSynapse ()))
23836  return false;
23837 
23838  if (!(x.expTwoSynapse () == y.expTwoSynapse ()))
23839  return false;
23840 
23841  if (!(x.expThreeSynapse () == y.expThreeSynapse ()))
23842  return false;
23843 
23844  if (!(x.blockingPlasticSynapse () == y.blockingPlasticSynapse ()))
23845  return false;
23846 
23847  if (!(x.doubleSynapse () == y.doubleSynapse ()))
23848  return false;
23849 
23850  if (!(x.gapJunction () == y.gapJunction ()))
23851  return false;
23852 
23853  if (!(x.silentSynapse () == y.silentSynapse ()))
23854  return false;
23855 
23856  if (!(x.linearGradedSynapse () == y.linearGradedSynapse ()))
23857  return false;
23858 
23859  if (!(x.gradedSynapse () == y.gradedSynapse ()))
23860  return false;
23861 
23862  if (!(x.biophysicalProperties () == y.biophysicalProperties ()))
23863  return false;
23864 
23865  if (!(x.cell () == y.cell ()))
23866  return false;
23867 
23868  if (!(x.cell2CaPools () == y.cell2CaPools ()))
23869  return false;
23870 
23871  if (!(x.baseCell () == y.baseCell ()))
23872  return false;
23873 
23874  if (!(x.iafTauCell () == y.iafTauCell ()))
23875  return false;
23876 
23877  if (!(x.iafTauRefCell () == y.iafTauRefCell ()))
23878  return false;
23879 
23880  if (!(x.iafCell () == y.iafCell ()))
23881  return false;
23882 
23883  if (!(x.iafRefCell () == y.iafRefCell ()))
23884  return false;
23885 
23886  if (!(x.izhikevichCell () == y.izhikevichCell ()))
23887  return false;
23888 
23889  if (!(x.izhikevich2007Cell () == y.izhikevich2007Cell ()))
23890  return false;
23891 
23892  if (!(x.adExIaFCell () == y.adExIaFCell ()))
23893  return false;
23894 
23895  if (!(x.fitzHughNagumoCell () == y.fitzHughNagumoCell ()))
23896  return false;
23897 
23898  if (!(x.fitzHughNagumo1969Cell () == y.fitzHughNagumo1969Cell ()))
23899  return false;
23900 
23901  if (!(x.pinskyRinzelCA3Cell () == y.pinskyRinzelCA3Cell ()))
23902  return false;
23903 
23904  if (!(x.hindmarshRose1984Cell () == y.hindmarshRose1984Cell ()))
23905  return false;
23906 
23907  if (!(x.pulseGenerator () == y.pulseGenerator ()))
23908  return false;
23909 
23910  if (!(x.pulseGeneratorDL () == y.pulseGeneratorDL ()))
23911  return false;
23912 
23913  if (!(x.sineGenerator () == y.sineGenerator ()))
23914  return false;
23915 
23916  if (!(x.sineGeneratorDL () == y.sineGeneratorDL ()))
23917  return false;
23918 
23919  if (!(x.rampGenerator () == y.rampGenerator ()))
23920  return false;
23921 
23922  if (!(x.rampGeneratorDL () == y.rampGeneratorDL ()))
23923  return false;
23924 
23925  if (!(x.compoundInput () == y.compoundInput ()))
23926  return false;
23927 
23928  if (!(x.compoundInputDL () == y.compoundInputDL ()))
23929  return false;
23930 
23931  if (!(x.voltageClamp () == y.voltageClamp ()))
23932  return false;
23933 
23934  if (!(x.voltageClampTriple () == y.voltageClampTriple ()))
23935  return false;
23936 
23937  if (!(x.spikeArray () == y.spikeArray ()))
23938  return false;
23939 
23940  if (!(x.timedSynapticInput () == y.timedSynapticInput ()))
23941  return false;
23942 
23943  if (!(x.spikeGenerator () == y.spikeGenerator ()))
23944  return false;
23945 
23946  if (!(x.spikeGeneratorRandom () == y.spikeGeneratorRandom ()))
23947  return false;
23948 
23949  if (!(x.spikeGeneratorPoisson () == y.spikeGeneratorPoisson ()))
23950  return false;
23951 
23953  return false;
23954 
23955  if (!(x.poissonFiringSynapse () == y.poissonFiringSynapse ()))
23956  return false;
23957 
23959  return false;
23960 
23961  if (!(x.IF_curr_alpha () == y.IF_curr_alpha ()))
23962  return false;
23963 
23964  if (!(x.IF_curr_exp () == y.IF_curr_exp ()))
23965  return false;
23966 
23967  if (!(x.IF_cond_alpha () == y.IF_cond_alpha ()))
23968  return false;
23969 
23970  if (!(x.IF_cond_exp () == y.IF_cond_exp ()))
23971  return false;
23972 
23973  if (!(x.EIF_cond_exp_isfa_ista () == y.EIF_cond_exp_isfa_ista ()))
23974  return false;
23975 
23977  return false;
23978 
23979  if (!(x.HH_cond_exp () == y.HH_cond_exp ()))
23980  return false;
23981 
23982  if (!(x.expCondSynapse () == y.expCondSynapse ()))
23983  return false;
23984 
23985  if (!(x.alphaCondSynapse () == y.alphaCondSynapse ()))
23986  return false;
23987 
23988  if (!(x.expCurrSynapse () == y.expCurrSynapse ()))
23989  return false;
23990 
23991  if (!(x.alphaCurrSynapse () == y.alphaCurrSynapse ()))
23992  return false;
23993 
23994  if (!(x.SpikeSourcePoisson () == y.SpikeSourcePoisson ()))
23995  return false;
23996 
23997  if (!(x.network () == y.network ()))
23998  return false;
23999 
24000  if (!(x.ComponentType () == y.ComponentType ()))
24001  return false;
24002 
24003  return true;
24004  }
24005 
24006  bool
24007  operator!= (const NeuroMLDocument_base& x, const NeuroMLDocument_base& y)
24008  {
24009  return !(x == y);
24010  }
24011 
24012  // IncludeType
24013  //
24014 
24016  IncludeType (const href_type& href)
24017  : ::xml_schema::type (),
24018  href_ (href, this)
24019  {
24020  }
24021 
24023  IncludeType (const IncludeType& x,
24024  ::xml_schema::flags f,
24025  ::xml_schema::container* c)
24026  : ::xml_schema::type (x, f, c),
24027  href_ (x.href_, f, this)
24028  {
24029  }
24030 
24032  IncludeType (const ::xercesc::DOMElement& e,
24033  ::xml_schema::flags f,
24034  ::xml_schema::container* c)
24035  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
24036  href_ (this)
24037  {
24038  if ((f & ::xml_schema::flags::base) == 0)
24039  {
24040  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
24041  this->parse (p, f);
24042  }
24043  }
24044 
24045  void IncludeType::
24046  parse (::xsd::cxx::xml::dom::parser< char >& p,
24047  ::xml_schema::flags f)
24048  {
24049  while (p.more_attributes ())
24050  {
24051  const ::xercesc::DOMAttr& i (p.next_attribute ());
24052  const ::xsd::cxx::xml::qualified_name< char > n (
24053  ::xsd::cxx::xml::dom::name< char > (i));
24054 
24055  if (n.name () == "href" && n.namespace_ ().empty ())
24056  {
24057  this->href_.set (href_traits::create (i, f, this));
24058  continue;
24059  }
24060  }
24061 
24062  if (!href_.present ())
24063  {
24064  throw ::xsd::cxx::tree::expected_attribute< char > (
24065  "href",
24066  "");
24067  }
24068  }
24069 
24072  ::xml_schema::container* c) const
24073  {
24074  return new class IncludeType (*this, f, c);
24075  }
24076 
24078  operator= (const IncludeType& x)
24079  {
24080  if (this != &x)
24081  {
24082  static_cast< ::xml_schema::type& > (*this) = x;
24083  this->href_ = x.href_;
24084  }
24085 
24086  return *this;
24087  }
24088 
24090  ~IncludeType ()
24091  {
24092  }
24093 
24094  bool
24095  operator== (const IncludeType& x, const IncludeType& y)
24096  {
24097  if (!(x.href () == y.href ()))
24098  return false;
24099 
24100  return true;
24101  }
24102 
24103  bool
24104  operator!= (const IncludeType& x, const IncludeType& y)
24105  {
24106  return !(x == y);
24107  }
24108 
24109  // IonChannelScalable
24110  //
24111 
24113  IonChannelScalable (const id_type& id)
24114  : ::neuroml2::Standalone (id),
24115  q10ConductanceScaling_ (this),
24116  neuroLexId_ (this)
24117  {
24118  }
24119 
24122  ::xml_schema::flags f,
24123  ::xml_schema::container* c)
24124  : ::neuroml2::Standalone (x, f, c),
24125  q10ConductanceScaling_ (x.q10ConductanceScaling_, f, this),
24126  neuroLexId_ (x.neuroLexId_, f, this)
24127  {
24128  }
24129 
24131  IonChannelScalable (const ::xercesc::DOMElement& e,
24132  ::xml_schema::flags f,
24133  ::xml_schema::container* c)
24134  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
24135  q10ConductanceScaling_ (this),
24136  neuroLexId_ (this)
24137  {
24138  if ((f & ::xml_schema::flags::base) == 0)
24139  {
24140  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
24141  this->parse (p, f);
24142  }
24143  }
24144 
24145  void IonChannelScalable::
24146  parse (::xsd::cxx::xml::dom::parser< char >& p,
24147  ::xml_schema::flags f)
24148  {
24149  this->::neuroml2::Standalone::parse (p, f);
24150 
24151  for (; p.more_content (); p.next_content (false))
24152  {
24153  const ::xercesc::DOMElement& i (p.cur_element ());
24154  const ::xsd::cxx::xml::qualified_name< char > n (
24155  ::xsd::cxx::xml::dom::name< char > (i));
24156 
24157  // q10ConductanceScaling
24158  //
24159  if (n.name () == "q10ConductanceScaling" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
24160  {
24161  ::std::unique_ptr< q10ConductanceScaling_type > r (
24162  q10ConductanceScaling_traits::create (i, f, this));
24163 
24164  this->q10ConductanceScaling_.push_back (::std::move (r));
24165  continue;
24166  }
24167 
24168  break;
24169  }
24170 
24171  p.reset_attributes ();
24172 
24173  while (p.more_attributes ())
24174  {
24175  const ::xercesc::DOMAttr& i (p.next_attribute ());
24176  const ::xsd::cxx::xml::qualified_name< char > n (
24177  ::xsd::cxx::xml::dom::name< char > (i));
24178 
24179  if (n.name () == "neuroLexId" && n.namespace_ ().empty ())
24180  {
24181  this->neuroLexId_.set (neuroLexId_traits::create (i, f, this));
24182  continue;
24183  }
24184  }
24185  }
24186 
24189  ::xml_schema::container* c) const
24190  {
24191  return new class IonChannelScalable (*this, f, c);
24192  }
24193 
24196  {
24197  if (this != &x)
24198  {
24199  static_cast< ::neuroml2::Standalone& > (*this) = x;
24200  this->q10ConductanceScaling_ = x.q10ConductanceScaling_;
24201  this->neuroLexId_ = x.neuroLexId_;
24202  }
24203 
24204  return *this;
24205  }
24206 
24209  {
24210  }
24211 
24212  bool
24213  operator== (const IonChannelScalable& x, const IonChannelScalable& y)
24214  {
24215  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
24216  static_cast< const ::neuroml2::Standalone& > (y)))
24217  return false;
24218 
24219  if (!(x.q10ConductanceScaling () == y.q10ConductanceScaling ()))
24220  return false;
24221 
24222  if (!(x.neuroLexId () == y.neuroLexId ()))
24223  return false;
24224 
24225  return true;
24226  }
24227 
24228  bool
24229  operator!= (const IonChannelScalable& x, const IonChannelScalable& y)
24230  {
24231  return !(x == y);
24232  }
24233 
24234  // IonChannelKS
24235  //
24236 
24238  IonChannelKS (const id_type& id)
24239  : ::neuroml2::Standalone (id),
24240  gateKS_ (this),
24241  species_ (this),
24242  conductance_ (this),
24243  neuroLexId_ (this)
24244  {
24245  }
24246 
24248  IonChannelKS (const IonChannelKS& x,
24249  ::xml_schema::flags f,
24250  ::xml_schema::container* c)
24251  : ::neuroml2::Standalone (x, f, c),
24252  gateKS_ (x.gateKS_, f, this),
24253  species_ (x.species_, f, this),
24254  conductance_ (x.conductance_, f, this),
24255  neuroLexId_ (x.neuroLexId_, f, this)
24256  {
24257  }
24258 
24260  IonChannelKS (const ::xercesc::DOMElement& e,
24261  ::xml_schema::flags f,
24262  ::xml_schema::container* c)
24263  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
24264  gateKS_ (this),
24265  species_ (this),
24266  conductance_ (this),
24267  neuroLexId_ (this)
24268  {
24269  if ((f & ::xml_schema::flags::base) == 0)
24270  {
24271  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
24272  this->parse (p, f);
24273  }
24274  }
24275 
24276  void IonChannelKS::
24277  parse (::xsd::cxx::xml::dom::parser< char >& p,
24278  ::xml_schema::flags f)
24279  {
24280  this->::neuroml2::Standalone::parse (p, f);
24281 
24282  for (; p.more_content (); p.next_content (false))
24283  {
24284  const ::xercesc::DOMElement& i (p.cur_element ());
24285  const ::xsd::cxx::xml::qualified_name< char > n (
24286  ::xsd::cxx::xml::dom::name< char > (i));
24287 
24288  // gateKS
24289  //
24290  if (n.name () == "gateKS" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
24291  {
24292  ::std::unique_ptr< gateKS_type > r (
24293  gateKS_traits::create (i, f, this));
24294 
24295  this->gateKS_.push_back (::std::move (r));
24296  continue;
24297  }
24298 
24299  break;
24300  }
24301 
24302  p.reset_attributes ();
24303 
24304  while (p.more_attributes ())
24305  {
24306  const ::xercesc::DOMAttr& i (p.next_attribute ());
24307  const ::xsd::cxx::xml::qualified_name< char > n (
24308  ::xsd::cxx::xml::dom::name< char > (i));
24309 
24310  if (n.name () == "species" && n.namespace_ ().empty ())
24311  {
24312  this->species_.set (species_traits::create (i, f, this));
24313  continue;
24314  }
24315 
24316  if (n.name () == "conductance" && n.namespace_ ().empty ())
24317  {
24318  this->conductance_.set (conductance_traits::create (i, f, this));
24319  continue;
24320  }
24321 
24322  if (n.name () == "neuroLexId" && n.namespace_ ().empty ())
24323  {
24324  this->neuroLexId_.set (neuroLexId_traits::create (i, f, this));
24325  continue;
24326  }
24327  }
24328  }
24329 
24332  ::xml_schema::container* c) const
24333  {
24334  return new class IonChannelKS (*this, f, c);
24335  }
24336 
24338  operator= (const IonChannelKS& x)
24339  {
24340  if (this != &x)
24341  {
24342  static_cast< ::neuroml2::Standalone& > (*this) = x;
24343  this->gateKS_ = x.gateKS_;
24344  this->species_ = x.species_;
24345  this->conductance_ = x.conductance_;
24346  this->neuroLexId_ = x.neuroLexId_;
24347  }
24348 
24349  return *this;
24350  }
24351 
24353  ~IonChannelKS ()
24354  {
24355  }
24356 
24357  bool
24358  operator== (const IonChannelKS& x, const IonChannelKS& y)
24359  {
24360  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
24361  static_cast< const ::neuroml2::Standalone& > (y)))
24362  return false;
24363 
24364  if (!(x.gateKS () == y.gateKS ()))
24365  return false;
24366 
24367  if (!(x.species () == y.species ()))
24368  return false;
24369 
24370  if (!(x.conductance () == y.conductance ()))
24371  return false;
24372 
24373  if (!(x.neuroLexId () == y.neuroLexId ()))
24374  return false;
24375 
24376  return true;
24377  }
24378 
24379  bool
24380  operator!= (const IonChannelKS& x, const IonChannelKS& y)
24381  {
24382  return !(x == y);
24383  }
24384 
24385  // IonChannel
24386  //
24387 
24389  IonChannel (const id_type& id)
24391  gate_ (this),
24392  gateHHrates_ (this),
24393  gateHHratesTau_ (this),
24394  gateHHtauInf_ (this),
24395  gateHHratesInf_ (this),
24396  gateHHratesTauInf_ (this),
24397  gateHHInstantaneous_ (this),
24398  gateFractional_ (this),
24399  species_ (this),
24400  type_ (this),
24401  conductance_ (this)
24402  {
24403  }
24404 
24406  IonChannel (const IonChannel& x,
24407  ::xml_schema::flags f,
24408  ::xml_schema::container* c)
24409  : ::neuroml2::IonChannelScalable (x, f, c),
24410  gate_ (x.gate_, f, this),
24411  gateHHrates_ (x.gateHHrates_, f, this),
24412  gateHHratesTau_ (x.gateHHratesTau_, f, this),
24413  gateHHtauInf_ (x.gateHHtauInf_, f, this),
24414  gateHHratesInf_ (x.gateHHratesInf_, f, this),
24415  gateHHratesTauInf_ (x.gateHHratesTauInf_, f, this),
24416  gateHHInstantaneous_ (x.gateHHInstantaneous_, f, this),
24417  gateFractional_ (x.gateFractional_, f, this),
24418  species_ (x.species_, f, this),
24419  type_ (x.type_, f, this),
24420  conductance_ (x.conductance_, f, this)
24421  {
24422  }
24423 
24425  IonChannel (const ::xercesc::DOMElement& e,
24426  ::xml_schema::flags f,
24427  ::xml_schema::container* c)
24428  : ::neuroml2::IonChannelScalable (e, f | ::xml_schema::flags::base, c),
24429  gate_ (this),
24430  gateHHrates_ (this),
24431  gateHHratesTau_ (this),
24432  gateHHtauInf_ (this),
24433  gateHHratesInf_ (this),
24434  gateHHratesTauInf_ (this),
24435  gateHHInstantaneous_ (this),
24436  gateFractional_ (this),
24437  species_ (this),
24438  type_ (this),
24439  conductance_ (this)
24440  {
24441  if ((f & ::xml_schema::flags::base) == 0)
24442  {
24443  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
24444  this->parse (p, f);
24445  }
24446  }
24447 
24448  void IonChannel::
24449  parse (::xsd::cxx::xml::dom::parser< char >& p,
24450  ::xml_schema::flags f)
24451  {
24452  this->::neuroml2::IonChannelScalable::parse (p, f);
24453 
24454  for (; p.more_content (); p.next_content (false))
24455  {
24456  const ::xercesc::DOMElement& i (p.cur_element ());
24457  const ::xsd::cxx::xml::qualified_name< char > n (
24458  ::xsd::cxx::xml::dom::name< char > (i));
24459 
24460  // gate
24461  //
24462  if (n.name () == "gate" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
24463  {
24464  ::std::unique_ptr< gate_type > r (
24465  gate_traits::create (i, f, this));
24466 
24467  this->gate_.push_back (::std::move (r));
24468  continue;
24469  }
24470 
24471  // gateHHrates
24472  //
24473  if (n.name () == "gateHHrates" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
24474  {
24475  ::std::unique_ptr< gateHHrates_type > r (
24476  gateHHrates_traits::create (i, f, this));
24477 
24478  this->gateHHrates_.push_back (::std::move (r));
24479  continue;
24480  }
24481 
24482  // gateHHratesTau
24483  //
24484  if (n.name () == "gateHHratesTau" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
24485  {
24486  ::std::unique_ptr< gateHHratesTau_type > r (
24487  gateHHratesTau_traits::create (i, f, this));
24488 
24489  this->gateHHratesTau_.push_back (::std::move (r));
24490  continue;
24491  }
24492 
24493  // gateHHtauInf
24494  //
24495  if (n.name () == "gateHHtauInf" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
24496  {
24497  ::std::unique_ptr< gateHHtauInf_type > r (
24498  gateHHtauInf_traits::create (i, f, this));
24499 
24500  this->gateHHtauInf_.push_back (::std::move (r));
24501  continue;
24502  }
24503 
24504  // gateHHratesInf
24505  //
24506  if (n.name () == "gateHHratesInf" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
24507  {
24508  ::std::unique_ptr< gateHHratesInf_type > r (
24509  gateHHratesInf_traits::create (i, f, this));
24510 
24511  this->gateHHratesInf_.push_back (::std::move (r));
24512  continue;
24513  }
24514 
24515  // gateHHratesTauInf
24516  //
24517  if (n.name () == "gateHHratesTauInf" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
24518  {
24519  ::std::unique_ptr< gateHHratesTauInf_type > r (
24520  gateHHratesTauInf_traits::create (i, f, this));
24521 
24522  this->gateHHratesTauInf_.push_back (::std::move (r));
24523  continue;
24524  }
24525 
24526  // gateHHInstantaneous
24527  //
24528  if (n.name () == "gateHHInstantaneous" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
24529  {
24530  ::std::unique_ptr< gateHHInstantaneous_type > r (
24531  gateHHInstantaneous_traits::create (i, f, this));
24532 
24533  this->gateHHInstantaneous_.push_back (::std::move (r));
24534  continue;
24535  }
24536 
24537  // gateFractional
24538  //
24539  if (n.name () == "gateFractional" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
24540  {
24541  ::std::unique_ptr< gateFractional_type > r (
24542  gateFractional_traits::create (i, f, this));
24543 
24544  this->gateFractional_.push_back (::std::move (r));
24545  continue;
24546  }
24547 
24548  break;
24549  }
24550 
24551  p.reset_attributes ();
24552 
24553  while (p.more_attributes ())
24554  {
24555  const ::xercesc::DOMAttr& i (p.next_attribute ());
24556  const ::xsd::cxx::xml::qualified_name< char > n (
24557  ::xsd::cxx::xml::dom::name< char > (i));
24558 
24559  if (n.name () == "species" && n.namespace_ ().empty ())
24560  {
24561  this->species_.set (species_traits::create (i, f, this));
24562  continue;
24563  }
24564 
24565  if (n.name () == "type" && n.namespace_ ().empty ())
24566  {
24567  this->type_.set (type_traits::create (i, f, this));
24568  continue;
24569  }
24570 
24571  if (n.name () == "conductance" && n.namespace_ ().empty ())
24572  {
24573  this->conductance_.set (conductance_traits::create (i, f, this));
24574  continue;
24575  }
24576  }
24577  }
24578 
24581  ::xml_schema::container* c) const
24582  {
24583  return new class IonChannel (*this, f, c);
24584  }
24585 
24587  operator= (const IonChannel& x)
24588  {
24589  if (this != &x)
24590  {
24591  static_cast< ::neuroml2::IonChannelScalable& > (*this) = x;
24592  this->gate_ = x.gate_;
24593  this->gateHHrates_ = x.gateHHrates_;
24594  this->gateHHratesTau_ = x.gateHHratesTau_;
24595  this->gateHHtauInf_ = x.gateHHtauInf_;
24596  this->gateHHratesInf_ = x.gateHHratesInf_;
24597  this->gateHHratesTauInf_ = x.gateHHratesTauInf_;
24598  this->gateHHInstantaneous_ = x.gateHHInstantaneous_;
24599  this->gateFractional_ = x.gateFractional_;
24600  this->species_ = x.species_;
24601  this->type_ = x.type_;
24602  this->conductance_ = x.conductance_;
24603  }
24604 
24605  return *this;
24606  }
24607 
24609  ~IonChannel ()
24610  {
24611  }
24612 
24613  bool
24614  operator== (const IonChannel& x, const IonChannel& y)
24615  {
24616  if (!(static_cast< const ::neuroml2::IonChannelScalable& > (x) ==
24617  static_cast< const ::neuroml2::IonChannelScalable& > (y)))
24618  return false;
24619 
24620  if (!(x.gate () == y.gate ()))
24621  return false;
24622 
24623  if (!(x.gateHHrates () == y.gateHHrates ()))
24624  return false;
24625 
24626  if (!(x.gateHHratesTau () == y.gateHHratesTau ()))
24627  return false;
24628 
24629  if (!(x.gateHHtauInf () == y.gateHHtauInf ()))
24630  return false;
24631 
24632  if (!(x.gateHHratesInf () == y.gateHHratesInf ()))
24633  return false;
24634 
24635  if (!(x.gateHHratesTauInf () == y.gateHHratesTauInf ()))
24636  return false;
24637 
24638  if (!(x.gateHHInstantaneous () == y.gateHHInstantaneous ()))
24639  return false;
24640 
24641  if (!(x.gateFractional () == y.gateFractional ()))
24642  return false;
24643 
24644  if (!(x.species () == y.species ()))
24645  return false;
24646 
24647  if (!(x.type () == y.type ()))
24648  return false;
24649 
24650  if (!(x.conductance () == y.conductance ()))
24651  return false;
24652 
24653  return true;
24654  }
24655 
24656  bool
24657  operator!= (const IonChannel& x, const IonChannel& y)
24658  {
24659  return !(x == y);
24660  }
24661 
24662  // IonChannelHH
24663  //
24664 
24666  IonChannelHH (const id_type& id)
24667  : ::neuroml2::IonChannel (id)
24668  {
24669  }
24670 
24672  IonChannelHH (const IonChannelHH& x,
24673  ::xml_schema::flags f,
24674  ::xml_schema::container* c)
24675  : ::neuroml2::IonChannel (x, f, c)
24676  {
24677  }
24678 
24680  IonChannelHH (const ::xercesc::DOMElement& e,
24681  ::xml_schema::flags f,
24682  ::xml_schema::container* c)
24683  : ::neuroml2::IonChannel (e, f, c)
24684  {
24685  }
24686 
24689  ::xml_schema::container* c) const
24690  {
24691  return new class IonChannelHH (*this, f, c);
24692  }
24693 
24695  ~IonChannelHH ()
24696  {
24697  }
24698 
24699  // IonChannelVShift
24700  //
24701 
24703  IonChannelVShift (const id_type& id,
24704  const vShift_type& vShift)
24705  : ::neuroml2::IonChannel (id),
24706  vShift_ (vShift, this)
24707  {
24708  }
24709 
24712  ::xml_schema::flags f,
24713  ::xml_schema::container* c)
24714  : ::neuroml2::IonChannel (x, f, c),
24715  vShift_ (x.vShift_, f, this)
24716  {
24717  }
24718 
24720  IonChannelVShift (const ::xercesc::DOMElement& e,
24721  ::xml_schema::flags f,
24722  ::xml_schema::container* c)
24723  : ::neuroml2::IonChannel (e, f | ::xml_schema::flags::base, c),
24724  vShift_ (this)
24725  {
24726  if ((f & ::xml_schema::flags::base) == 0)
24727  {
24728  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
24729  this->parse (p, f);
24730  }
24731  }
24732 
24733  void IonChannelVShift::
24734  parse (::xsd::cxx::xml::dom::parser< char >& p,
24735  ::xml_schema::flags f)
24736  {
24737  this->::neuroml2::IonChannel::parse (p, f);
24738 
24739  p.reset_attributes ();
24740 
24741  while (p.more_attributes ())
24742  {
24743  const ::xercesc::DOMAttr& i (p.next_attribute ());
24744  const ::xsd::cxx::xml::qualified_name< char > n (
24745  ::xsd::cxx::xml::dom::name< char > (i));
24746 
24747  if (n.name () == "vShift" && n.namespace_ ().empty ())
24748  {
24749  this->vShift_.set (vShift_traits::create (i, f, this));
24750  continue;
24751  }
24752  }
24753 
24754  if (!vShift_.present ())
24755  {
24756  throw ::xsd::cxx::tree::expected_attribute< char > (
24757  "vShift",
24758  "");
24759  }
24760  }
24761 
24764  ::xml_schema::container* c) const
24765  {
24766  return new class IonChannelVShift (*this, f, c);
24767  }
24768 
24770  operator= (const IonChannelVShift& x)
24771  {
24772  if (this != &x)
24773  {
24774  static_cast< ::neuroml2::IonChannel& > (*this) = x;
24775  this->vShift_ = x.vShift_;
24776  }
24777 
24778  return *this;
24779  }
24780 
24783  {
24784  }
24785 
24786  bool
24787  operator== (const IonChannelVShift& x, const IonChannelVShift& y)
24788  {
24789  if (!(static_cast< const ::neuroml2::IonChannel& > (x) ==
24790  static_cast< const ::neuroml2::IonChannel& > (y)))
24791  return false;
24792 
24793  if (!(x.vShift () == y.vShift ()))
24794  return false;
24795 
24796  return true;
24797  }
24798 
24799  bool
24800  operator!= (const IonChannelVShift& x, const IonChannelVShift& y)
24801  {
24802  return !(x == y);
24803  }
24804 
24805  // channelTypes
24806  //
24807 
24809  channelTypes (const ::xercesc::DOMElement& e,
24810  ::xml_schema::flags f,
24811  ::xml_schema::container* c)
24812  : ::xml_schema::string (e, f, c)
24813  {
24814  _xsd_channelTypes_convert ();
24815  }
24816 
24818  channelTypes (const ::xercesc::DOMAttr& a,
24819  ::xml_schema::flags f,
24820  ::xml_schema::container* c)
24821  : ::xml_schema::string (a, f, c)
24822  {
24823  _xsd_channelTypes_convert ();
24824  }
24825 
24828  const ::xercesc::DOMElement* e,
24829  ::xml_schema::flags f,
24830  ::xml_schema::container* c)
24831  : ::xml_schema::string (s, e, f, c)
24832  {
24833  _xsd_channelTypes_convert ();
24834  }
24835 
24838  ::xml_schema::container* c) const
24839  {
24840  return new class channelTypes (*this, f, c);
24841  }
24842 
24843  channelTypes::value channelTypes::
24844  _xsd_channelTypes_convert () const
24845  {
24846  ::xsd::cxx::tree::enum_comparator< char > c (_xsd_channelTypes_literals_);
24847  const value* i (::std::lower_bound (
24848  _xsd_channelTypes_indexes_,
24849  _xsd_channelTypes_indexes_ + 2,
24850  *this,
24851  c));
24852 
24853  if (i == _xsd_channelTypes_indexes_ + 2 || _xsd_channelTypes_literals_[*i] != *this)
24854  {
24855  throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this);
24856  }
24857 
24858  return *i;
24859  }
24860 
24861  const char* const channelTypes::
24862  _xsd_channelTypes_literals_[2] =
24863  {
24864  "ionChannelPassive",
24865  "ionChannelHH"
24866  };
24867 
24868  const channelTypes::value channelTypes::
24869  _xsd_channelTypes_indexes_[2] =
24870  {
24871  ::neuroml2::channelTypes::ionChannelHH,
24872  ::neuroml2::channelTypes::ionChannelPassive
24873  };
24874 
24875  // Q10ConductanceScaling
24876  //
24877 
24879  Q10ConductanceScaling (const q10Factor_type& q10Factor,
24880  const experimentalTemp_type& experimentalTemp)
24881  : ::neuroml2::BaseWithoutId (),
24882  q10Factor_ (q10Factor, this),
24883  experimentalTemp_ (experimentalTemp, this)
24884  {
24885  }
24886 
24889  ::xml_schema::flags f,
24890  ::xml_schema::container* c)
24891  : ::neuroml2::BaseWithoutId (x, f, c),
24892  q10Factor_ (x.q10Factor_, f, this),
24893  experimentalTemp_ (x.experimentalTemp_, f, this)
24894  {
24895  }
24896 
24898  Q10ConductanceScaling (const ::xercesc::DOMElement& e,
24899  ::xml_schema::flags f,
24900  ::xml_schema::container* c)
24901  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
24902  q10Factor_ (this),
24903  experimentalTemp_ (this)
24904  {
24905  if ((f & ::xml_schema::flags::base) == 0)
24906  {
24907  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
24908  this->parse (p, f);
24909  }
24910  }
24911 
24912  void Q10ConductanceScaling::
24913  parse (::xsd::cxx::xml::dom::parser< char >& p,
24914  ::xml_schema::flags f)
24915  {
24916  while (p.more_attributes ())
24917  {
24918  const ::xercesc::DOMAttr& i (p.next_attribute ());
24919  const ::xsd::cxx::xml::qualified_name< char > n (
24920  ::xsd::cxx::xml::dom::name< char > (i));
24921 
24922  if (n.name () == "q10Factor" && n.namespace_ ().empty ())
24923  {
24924  this->q10Factor_.set (q10Factor_traits::create (i, f, this));
24925  continue;
24926  }
24927 
24928  if (n.name () == "experimentalTemp" && n.namespace_ ().empty ())
24929  {
24930  this->experimentalTemp_.set (experimentalTemp_traits::create (i, f, this));
24931  continue;
24932  }
24933  }
24934 
24935  if (!q10Factor_.present ())
24936  {
24937  throw ::xsd::cxx::tree::expected_attribute< char > (
24938  "q10Factor",
24939  "");
24940  }
24941 
24942  if (!experimentalTemp_.present ())
24943  {
24944  throw ::xsd::cxx::tree::expected_attribute< char > (
24945  "experimentalTemp",
24946  "");
24947  }
24948  }
24949 
24952  ::xml_schema::container* c) const
24953  {
24954  return new class Q10ConductanceScaling (*this, f, c);
24955  }
24956 
24959  {
24960  if (this != &x)
24961  {
24962  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
24963  this->q10Factor_ = x.q10Factor_;
24964  this->experimentalTemp_ = x.experimentalTemp_;
24965  }
24966 
24967  return *this;
24968  }
24969 
24972  {
24973  }
24974 
24975  bool
24976  operator== (const Q10ConductanceScaling& x, const Q10ConductanceScaling& y)
24977  {
24978  if (!(x.q10Factor () == y.q10Factor ()))
24979  return false;
24980 
24981  if (!(x.experimentalTemp () == y.experimentalTemp ()))
24982  return false;
24983 
24984  return true;
24985  }
24986 
24987  bool
24988  operator!= (const Q10ConductanceScaling& x, const Q10ConductanceScaling& y)
24989  {
24990  return !(x == y);
24991  }
24992 
24993  // gateTypes
24994  //
24995 
24997  gateTypes (const ::xercesc::DOMElement& e,
24998  ::xml_schema::flags f,
24999  ::xml_schema::container* c)
25000  : ::xml_schema::string (e, f, c)
25001  {
25002  _xsd_gateTypes_convert ();
25003  }
25004 
25006  gateTypes (const ::xercesc::DOMAttr& a,
25007  ::xml_schema::flags f,
25008  ::xml_schema::container* c)
25009  : ::xml_schema::string (a, f, c)
25010  {
25011  _xsd_gateTypes_convert ();
25012  }
25013 
25016  const ::xercesc::DOMElement* e,
25017  ::xml_schema::flags f,
25018  ::xml_schema::container* c)
25019  : ::xml_schema::string (s, e, f, c)
25020  {
25021  _xsd_gateTypes_convert ();
25022  }
25023 
25026  ::xml_schema::container* c) const
25027  {
25028  return new class gateTypes (*this, f, c);
25029  }
25030 
25031  gateTypes::value gateTypes::
25032  _xsd_gateTypes_convert () const
25033  {
25034  ::xsd::cxx::tree::enum_comparator< char > c (_xsd_gateTypes_literals_);
25035  const value* i (::std::lower_bound (
25036  _xsd_gateTypes_indexes_,
25037  _xsd_gateTypes_indexes_ + 8,
25038  *this,
25039  c));
25040 
25041  if (i == _xsd_gateTypes_indexes_ + 8 || _xsd_gateTypes_literals_[*i] != *this)
25042  {
25043  throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this);
25044  }
25045 
25046  return *i;
25047  }
25048 
25049  const char* const gateTypes::
25050  _xsd_gateTypes_literals_[8] =
25051  {
25052  "gateHHrates",
25053  "gateHHratesTau",
25054  "gateHHtauInf",
25055  "gateHHratesInf",
25056  "gateHHratesTauInf",
25057  "gateHHInstantaneous",
25058  "gateKS",
25059  "gateFractional"
25060  };
25061 
25062  const gateTypes::value gateTypes::
25063  _xsd_gateTypes_indexes_[8] =
25064  {
25065  ::neuroml2::gateTypes::gateFractional,
25066  ::neuroml2::gateTypes::gateHHInstantaneous,
25067  ::neuroml2::gateTypes::gateHHrates,
25068  ::neuroml2::gateTypes::gateHHratesInf,
25069  ::neuroml2::gateTypes::gateHHratesTau,
25070  ::neuroml2::gateTypes::gateHHratesTauInf,
25071  ::neuroml2::gateTypes::gateHHtauInf,
25072  ::neuroml2::gateTypes::gateKS
25073  };
25074 
25075  // ClosedState
25076  //
25077 
25079  ClosedState (const id_type& id)
25080  : ::neuroml2::Base (id)
25081  {
25082  }
25083 
25085  ClosedState (const ClosedState& x,
25086  ::xml_schema::flags f,
25087  ::xml_schema::container* c)
25088  : ::neuroml2::Base (x, f, c)
25089  {
25090  }
25091 
25093  ClosedState (const ::xercesc::DOMElement& e,
25094  ::xml_schema::flags f,
25095  ::xml_schema::container* c)
25096  : ::neuroml2::Base (e, f, c)
25097  {
25098  }
25099 
25102  ::xml_schema::container* c) const
25103  {
25104  return new class ClosedState (*this, f, c);
25105  }
25106 
25108  ~ClosedState ()
25109  {
25110  }
25111 
25112  // OpenState
25113  //
25114 
25116  OpenState (const id_type& id)
25117  : ::neuroml2::Base (id)
25118  {
25119  }
25120 
25122  OpenState (const OpenState& x,
25123  ::xml_schema::flags f,
25124  ::xml_schema::container* c)
25125  : ::neuroml2::Base (x, f, c)
25126  {
25127  }
25128 
25130  OpenState (const ::xercesc::DOMElement& e,
25131  ::xml_schema::flags f,
25132  ::xml_schema::container* c)
25133  : ::neuroml2::Base (e, f, c)
25134  {
25135  }
25136 
25139  ::xml_schema::container* c) const
25140  {
25141  return new class OpenState (*this, f, c);
25142  }
25143 
25145  ~OpenState ()
25146  {
25147  }
25148 
25149  // ForwardTransition
25150  //
25151 
25153  ForwardTransition (const id_type& id,
25154  const from_type& from,
25155  const to_type& to)
25156  : ::neuroml2::Base (id),
25157  from_ (from, this),
25158  to_ (to, this)
25159  {
25160  }
25161 
25164  ::xml_schema::flags f,
25165  ::xml_schema::container* c)
25166  : ::neuroml2::Base (x, f, c),
25167  from_ (x.from_, f, this),
25168  to_ (x.to_, f, this)
25169  {
25170  }
25171 
25173  ForwardTransition (const ::xercesc::DOMElement& e,
25174  ::xml_schema::flags f,
25175  ::xml_schema::container* c)
25176  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
25177  from_ (this),
25178  to_ (this)
25179  {
25180  if ((f & ::xml_schema::flags::base) == 0)
25181  {
25182  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
25183  this->parse (p, f);
25184  }
25185  }
25186 
25187  void ForwardTransition::
25188  parse (::xsd::cxx::xml::dom::parser< char >& p,
25189  ::xml_schema::flags f)
25190  {
25191  this->::neuroml2::Base::parse (p, f);
25192 
25193  for (; p.more_content (); p.next_content (false))
25194  {
25195  const ::xercesc::DOMElement& i (p.cur_element ());
25196  const ::xsd::cxx::xml::qualified_name< char > n (
25197  ::xsd::cxx::xml::dom::name< char > (i));
25198 
25199  break;
25200  }
25201 
25202  p.reset_attributes ();
25203 
25204  while (p.more_attributes ())
25205  {
25206  const ::xercesc::DOMAttr& i (p.next_attribute ());
25207  const ::xsd::cxx::xml::qualified_name< char > n (
25208  ::xsd::cxx::xml::dom::name< char > (i));
25209 
25210  if (n.name () == "from" && n.namespace_ ().empty ())
25211  {
25212  this->from_.set (from_traits::create (i, f, this));
25213  continue;
25214  }
25215 
25216  if (n.name () == "to" && n.namespace_ ().empty ())
25217  {
25218  this->to_.set (to_traits::create (i, f, this));
25219  continue;
25220  }
25221  }
25222 
25223  if (!from_.present ())
25224  {
25225  throw ::xsd::cxx::tree::expected_attribute< char > (
25226  "from",
25227  "");
25228  }
25229 
25230  if (!to_.present ())
25231  {
25232  throw ::xsd::cxx::tree::expected_attribute< char > (
25233  "to",
25234  "");
25235  }
25236  }
25237 
25240  ::xml_schema::container* c) const
25241  {
25242  return new class ForwardTransition (*this, f, c);
25243  }
25244 
25247  {
25248  if (this != &x)
25249  {
25250  static_cast< ::neuroml2::Base& > (*this) = x;
25251  this->from_ = x.from_;
25252  this->to_ = x.to_;
25253  }
25254 
25255  return *this;
25256  }
25257 
25260  {
25261  }
25262 
25263  bool
25264  operator== (const ForwardTransition& x, const ForwardTransition& y)
25265  {
25266  if (!(static_cast< const ::neuroml2::Base& > (x) ==
25267  static_cast< const ::neuroml2::Base& > (y)))
25268  return false;
25269 
25270  if (!(x.from () == y.from ()))
25271  return false;
25272 
25273  if (!(x.to () == y.to ()))
25274  return false;
25275 
25276  return true;
25277  }
25278 
25279  bool
25280  operator!= (const ForwardTransition& x, const ForwardTransition& y)
25281  {
25282  return !(x == y);
25283  }
25284 
25285  // ReverseTransition
25286  //
25287 
25289  ReverseTransition (const id_type& id,
25290  const from_type& from,
25291  const to_type& to)
25292  : ::neuroml2::Base (id),
25293  from_ (from, this),
25294  to_ (to, this)
25295  {
25296  }
25297 
25300  ::xml_schema::flags f,
25301  ::xml_schema::container* c)
25302  : ::neuroml2::Base (x, f, c),
25303  from_ (x.from_, f, this),
25304  to_ (x.to_, f, this)
25305  {
25306  }
25307 
25309  ReverseTransition (const ::xercesc::DOMElement& e,
25310  ::xml_schema::flags f,
25311  ::xml_schema::container* c)
25312  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
25313  from_ (this),
25314  to_ (this)
25315  {
25316  if ((f & ::xml_schema::flags::base) == 0)
25317  {
25318  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
25319  this->parse (p, f);
25320  }
25321  }
25322 
25323  void ReverseTransition::
25324  parse (::xsd::cxx::xml::dom::parser< char >& p,
25325  ::xml_schema::flags f)
25326  {
25327  this->::neuroml2::Base::parse (p, f);
25328 
25329  for (; p.more_content (); p.next_content (false))
25330  {
25331  const ::xercesc::DOMElement& i (p.cur_element ());
25332  const ::xsd::cxx::xml::qualified_name< char > n (
25333  ::xsd::cxx::xml::dom::name< char > (i));
25334 
25335  break;
25336  }
25337 
25338  p.reset_attributes ();
25339 
25340  while (p.more_attributes ())
25341  {
25342  const ::xercesc::DOMAttr& i (p.next_attribute ());
25343  const ::xsd::cxx::xml::qualified_name< char > n (
25344  ::xsd::cxx::xml::dom::name< char > (i));
25345 
25346  if (n.name () == "from" && n.namespace_ ().empty ())
25347  {
25348  this->from_.set (from_traits::create (i, f, this));
25349  continue;
25350  }
25351 
25352  if (n.name () == "to" && n.namespace_ ().empty ())
25353  {
25354  this->to_.set (to_traits::create (i, f, this));
25355  continue;
25356  }
25357  }
25358 
25359  if (!from_.present ())
25360  {
25361  throw ::xsd::cxx::tree::expected_attribute< char > (
25362  "from",
25363  "");
25364  }
25365 
25366  if (!to_.present ())
25367  {
25368  throw ::xsd::cxx::tree::expected_attribute< char > (
25369  "to",
25370  "");
25371  }
25372  }
25373 
25376  ::xml_schema::container* c) const
25377  {
25378  return new class ReverseTransition (*this, f, c);
25379  }
25380 
25383  {
25384  if (this != &x)
25385  {
25386  static_cast< ::neuroml2::Base& > (*this) = x;
25387  this->from_ = x.from_;
25388  this->to_ = x.to_;
25389  }
25390 
25391  return *this;
25392  }
25393 
25396  {
25397  }
25398 
25399  bool
25400  operator== (const ReverseTransition& x, const ReverseTransition& y)
25401  {
25402  if (!(static_cast< const ::neuroml2::Base& > (x) ==
25403  static_cast< const ::neuroml2::Base& > (y)))
25404  return false;
25405 
25406  if (!(x.from () == y.from ()))
25407  return false;
25408 
25409  if (!(x.to () == y.to ()))
25410  return false;
25411 
25412  return true;
25413  }
25414 
25415  bool
25416  operator!= (const ReverseTransition& x, const ReverseTransition& y)
25417  {
25418  return !(x == y);
25419  }
25420 
25421  // TauInfTransition
25422  //
25423 
25425  TauInfTransition (const id_type& id,
25426  const steadyState_type& steadyState,
25427  const timeCourse_type& timeCourse,
25428  const from_type& from,
25429  const to_type& to)
25430  : ::neuroml2::Base (id),
25431  steadyState_ (steadyState, this),
25432  timeCourse_ (timeCourse, this),
25433  from_ (from, this),
25434  to_ (to, this)
25435  {
25436  }
25437 
25439  TauInfTransition (const id_type& id,
25440  ::std::unique_ptr< steadyState_type > steadyState,
25441  ::std::unique_ptr< timeCourse_type > timeCourse,
25442  const from_type& from,
25443  const to_type& to)
25444  : ::neuroml2::Base (id),
25445  steadyState_ (std::move (steadyState), this),
25446  timeCourse_ (std::move (timeCourse), this),
25447  from_ (from, this),
25448  to_ (to, this)
25449  {
25450  }
25451 
25454  ::xml_schema::flags f,
25455  ::xml_schema::container* c)
25456  : ::neuroml2::Base (x, f, c),
25457  steadyState_ (x.steadyState_, f, this),
25458  timeCourse_ (x.timeCourse_, f, this),
25459  from_ (x.from_, f, this),
25460  to_ (x.to_, f, this)
25461  {
25462  }
25463 
25465  TauInfTransition (const ::xercesc::DOMElement& e,
25466  ::xml_schema::flags f,
25467  ::xml_schema::container* c)
25468  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
25469  steadyState_ (this),
25470  timeCourse_ (this),
25471  from_ (this),
25472  to_ (this)
25473  {
25474  if ((f & ::xml_schema::flags::base) == 0)
25475  {
25476  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
25477  this->parse (p, f);
25478  }
25479  }
25480 
25481  void TauInfTransition::
25482  parse (::xsd::cxx::xml::dom::parser< char >& p,
25483  ::xml_schema::flags f)
25484  {
25485  this->::neuroml2::Base::parse (p, f);
25486 
25487  for (; p.more_content (); p.next_content (false))
25488  {
25489  const ::xercesc::DOMElement& i (p.cur_element ());
25490  const ::xsd::cxx::xml::qualified_name< char > n (
25491  ::xsd::cxx::xml::dom::name< char > (i));
25492 
25493  // steadyState
25494  //
25495  if (n.name () == "steadyState" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
25496  {
25497  ::std::unique_ptr< steadyState_type > r (
25498  steadyState_traits::create (i, f, this));
25499 
25500  if (!steadyState_.present ())
25501  {
25502  this->steadyState_.set (::std::move (r));
25503  continue;
25504  }
25505  }
25506 
25507  // timeCourse
25508  //
25509  if (n.name () == "timeCourse" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
25510  {
25511  ::std::unique_ptr< timeCourse_type > r (
25512  timeCourse_traits::create (i, f, this));
25513 
25514  if (!timeCourse_.present ())
25515  {
25516  this->timeCourse_.set (::std::move (r));
25517  continue;
25518  }
25519  }
25520 
25521  break;
25522  }
25523 
25524  if (!steadyState_.present ())
25525  {
25526  throw ::xsd::cxx::tree::expected_element< char > (
25527  "steadyState",
25528  "http://www.neuroml.org/schema/neuroml2");
25529  }
25530 
25531  if (!timeCourse_.present ())
25532  {
25533  throw ::xsd::cxx::tree::expected_element< char > (
25534  "timeCourse",
25535  "http://www.neuroml.org/schema/neuroml2");
25536  }
25537 
25538  p.reset_attributes ();
25539 
25540  while (p.more_attributes ())
25541  {
25542  const ::xercesc::DOMAttr& i (p.next_attribute ());
25543  const ::xsd::cxx::xml::qualified_name< char > n (
25544  ::xsd::cxx::xml::dom::name< char > (i));
25545 
25546  if (n.name () == "from" && n.namespace_ ().empty ())
25547  {
25548  this->from_.set (from_traits::create (i, f, this));
25549  continue;
25550  }
25551 
25552  if (n.name () == "to" && n.namespace_ ().empty ())
25553  {
25554  this->to_.set (to_traits::create (i, f, this));
25555  continue;
25556  }
25557  }
25558 
25559  if (!from_.present ())
25560  {
25561  throw ::xsd::cxx::tree::expected_attribute< char > (
25562  "from",
25563  "");
25564  }
25565 
25566  if (!to_.present ())
25567  {
25568  throw ::xsd::cxx::tree::expected_attribute< char > (
25569  "to",
25570  "");
25571  }
25572  }
25573 
25576  ::xml_schema::container* c) const
25577  {
25578  return new class TauInfTransition (*this, f, c);
25579  }
25580 
25582  operator= (const TauInfTransition& x)
25583  {
25584  if (this != &x)
25585  {
25586  static_cast< ::neuroml2::Base& > (*this) = x;
25587  this->steadyState_ = x.steadyState_;
25588  this->timeCourse_ = x.timeCourse_;
25589  this->from_ = x.from_;
25590  this->to_ = x.to_;
25591  }
25592 
25593  return *this;
25594  }
25595 
25598  {
25599  }
25600 
25601  bool
25602  operator== (const TauInfTransition& x, const TauInfTransition& y)
25603  {
25604  if (!(static_cast< const ::neuroml2::Base& > (x) ==
25605  static_cast< const ::neuroml2::Base& > (y)))
25606  return false;
25607 
25608  if (!(x.steadyState () == y.steadyState ()))
25609  return false;
25610 
25611  if (!(x.timeCourse () == y.timeCourse ()))
25612  return false;
25613 
25614  if (!(x.from () == y.from ()))
25615  return false;
25616 
25617  if (!(x.to () == y.to ()))
25618  return false;
25619 
25620  return true;
25621  }
25622 
25623  bool
25624  operator!= (const TauInfTransition& x, const TauInfTransition& y)
25625  {
25626  return !(x == y);
25627  }
25628 
25629  // GateKS
25630  //
25631 
25633  GateKS (const id_type& id,
25634  const instances_type& instances)
25635  : ::neuroml2::Base (id),
25636  notes_ (this),
25637  q10Settings_ (this),
25638  closedState_ (this),
25639  openState_ (this),
25640  forwardTransition_ (this),
25641  reverseTransition_ (this),
25642  tauInfTransition_ (this),
25643  instances_ (instances, this)
25644  {
25645  }
25646 
25648  GateKS (const GateKS& x,
25649  ::xml_schema::flags f,
25650  ::xml_schema::container* c)
25651  : ::neuroml2::Base (x, f, c),
25652  notes_ (x.notes_, f, this),
25653  q10Settings_ (x.q10Settings_, f, this),
25654  closedState_ (x.closedState_, f, this),
25655  openState_ (x.openState_, f, this),
25656  forwardTransition_ (x.forwardTransition_, f, this),
25657  reverseTransition_ (x.reverseTransition_, f, this),
25658  tauInfTransition_ (x.tauInfTransition_, f, this),
25659  instances_ (x.instances_, f, this)
25660  {
25661  }
25662 
25664  GateKS (const ::xercesc::DOMElement& e,
25665  ::xml_schema::flags f,
25666  ::xml_schema::container* c)
25667  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
25668  notes_ (this),
25669  q10Settings_ (this),
25670  closedState_ (this),
25671  openState_ (this),
25672  forwardTransition_ (this),
25673  reverseTransition_ (this),
25674  tauInfTransition_ (this),
25675  instances_ (this)
25676  {
25677  if ((f & ::xml_schema::flags::base) == 0)
25678  {
25679  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
25680  this->parse (p, f);
25681  }
25682  }
25683 
25684  void GateKS::
25685  parse (::xsd::cxx::xml::dom::parser< char >& p,
25686  ::xml_schema::flags f)
25687  {
25688  this->::neuroml2::Base::parse (p, f);
25689 
25690  for (; p.more_content (); p.next_content (false))
25691  {
25692  const ::xercesc::DOMElement& i (p.cur_element ());
25693  const ::xsd::cxx::xml::qualified_name< char > n (
25694  ::xsd::cxx::xml::dom::name< char > (i));
25695 
25696  // notes
25697  //
25698  if (n.name () == "notes" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
25699  {
25700  ::std::unique_ptr< notes_type > r (
25701  notes_traits::create (i, f, this));
25702 
25703  if (!this->notes_)
25704  {
25705  this->notes_.set (::std::move (r));
25706  continue;
25707  }
25708  }
25709 
25710  // q10Settings
25711  //
25712  if (n.name () == "q10Settings" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
25713  {
25714  ::std::unique_ptr< q10Settings_type > r (
25715  q10Settings_traits::create (i, f, this));
25716 
25717  if (!this->q10Settings_)
25718  {
25719  this->q10Settings_.set (::std::move (r));
25720  continue;
25721  }
25722  }
25723 
25724  // closedState
25725  //
25726  if (n.name () == "closedState" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
25727  {
25728  ::std::unique_ptr< closedState_type > r (
25729  closedState_traits::create (i, f, this));
25730 
25731  this->closedState_.push_back (::std::move (r));
25732  continue;
25733  }
25734 
25735  // openState
25736  //
25737  if (n.name () == "openState" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
25738  {
25739  ::std::unique_ptr< openState_type > r (
25740  openState_traits::create (i, f, this));
25741 
25742  this->openState_.push_back (::std::move (r));
25743  continue;
25744  }
25745 
25746  // forwardTransition
25747  //
25748  if (n.name () == "forwardTransition" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
25749  {
25750  ::std::unique_ptr< forwardTransition_type > r (
25751  forwardTransition_traits::create (i, f, this));
25752 
25753  this->forwardTransition_.push_back (::std::move (r));
25754  continue;
25755  }
25756 
25757  // reverseTransition
25758  //
25759  if (n.name () == "reverseTransition" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
25760  {
25761  ::std::unique_ptr< reverseTransition_type > r (
25762  reverseTransition_traits::create (i, f, this));
25763 
25764  this->reverseTransition_.push_back (::std::move (r));
25765  continue;
25766  }
25767 
25768  // tauInfTransition
25769  //
25770  if (n.name () == "tauInfTransition" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
25771  {
25772  ::std::unique_ptr< tauInfTransition_type > r (
25773  tauInfTransition_traits::create (i, f, this));
25774 
25775  this->tauInfTransition_.push_back (::std::move (r));
25776  continue;
25777  }
25778 
25779  break;
25780  }
25781 
25782  p.reset_attributes ();
25783 
25784  while (p.more_attributes ())
25785  {
25786  const ::xercesc::DOMAttr& i (p.next_attribute ());
25787  const ::xsd::cxx::xml::qualified_name< char > n (
25788  ::xsd::cxx::xml::dom::name< char > (i));
25789 
25790  if (n.name () == "instances" && n.namespace_ ().empty ())
25791  {
25792  this->instances_.set (instances_traits::create (i, f, this));
25793  continue;
25794  }
25795  }
25796 
25797  if (!instances_.present ())
25798  {
25799  throw ::xsd::cxx::tree::expected_attribute< char > (
25800  "instances",
25801  "");
25802  }
25803  }
25804 
25807  ::xml_schema::container* c) const
25808  {
25809  return new class GateKS (*this, f, c);
25810  }
25811 
25813  operator= (const GateKS& x)
25814  {
25815  if (this != &x)
25816  {
25817  static_cast< ::neuroml2::Base& > (*this) = x;
25818  this->notes_ = x.notes_;
25819  this->q10Settings_ = x.q10Settings_;
25820  this->closedState_ = x.closedState_;
25821  this->openState_ = x.openState_;
25822  this->forwardTransition_ = x.forwardTransition_;
25823  this->reverseTransition_ = x.reverseTransition_;
25824  this->tauInfTransition_ = x.tauInfTransition_;
25825  this->instances_ = x.instances_;
25826  }
25827 
25828  return *this;
25829  }
25830 
25832  ~GateKS ()
25833  {
25834  }
25835 
25836  bool
25837  operator== (const GateKS& x, const GateKS& y)
25838  {
25839  if (!(static_cast< const ::neuroml2::Base& > (x) ==
25840  static_cast< const ::neuroml2::Base& > (y)))
25841  return false;
25842 
25843  if (!(x.notes () == y.notes ()))
25844  return false;
25845 
25846  if (!(x.q10Settings () == y.q10Settings ()))
25847  return false;
25848 
25849  if (!(x.closedState () == y.closedState ()))
25850  return false;
25851 
25852  if (!(x.openState () == y.openState ()))
25853  return false;
25854 
25855  if (!(x.forwardTransition () == y.forwardTransition ()))
25856  return false;
25857 
25858  if (!(x.reverseTransition () == y.reverseTransition ()))
25859  return false;
25860 
25861  if (!(x.tauInfTransition () == y.tauInfTransition ()))
25862  return false;
25863 
25864  if (!(x.instances () == y.instances ()))
25865  return false;
25866 
25867  return true;
25868  }
25869 
25870  bool
25871  operator!= (const GateKS& x, const GateKS& y)
25872  {
25873  return !(x == y);
25874  }
25875 
25876  // GateHHUndetermined
25877  //
25878 
25880  GateHHUndetermined (const id_type& id,
25881  const instances_type& instances,
25882  const type_type& type)
25883  : ::neuroml2::Base (id),
25884  notes_ (this),
25885  q10Settings_ (this),
25886  forwardRate_ (this),
25887  reverseRate_ (this),
25888  timeCourse_ (this),
25889  steadyState_ (this),
25890  subGate_ (this),
25891  instances_ (instances, this),
25892  type_ (type, this)
25893  {
25894  }
25895 
25898  ::xml_schema::flags f,
25899  ::xml_schema::container* c)
25900  : ::neuroml2::Base (x, f, c),
25901  notes_ (x.notes_, f, this),
25902  q10Settings_ (x.q10Settings_, f, this),
25903  forwardRate_ (x.forwardRate_, f, this),
25904  reverseRate_ (x.reverseRate_, f, this),
25905  timeCourse_ (x.timeCourse_, f, this),
25906  steadyState_ (x.steadyState_, f, this),
25907  subGate_ (x.subGate_, f, this),
25908  instances_ (x.instances_, f, this),
25909  type_ (x.type_, f, this)
25910  {
25911  }
25912 
25914  GateHHUndetermined (const ::xercesc::DOMElement& e,
25915  ::xml_schema::flags f,
25916  ::xml_schema::container* c)
25917  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
25918  notes_ (this),
25919  q10Settings_ (this),
25920  forwardRate_ (this),
25921  reverseRate_ (this),
25922  timeCourse_ (this),
25923  steadyState_ (this),
25924  subGate_ (this),
25925  instances_ (this),
25926  type_ (this)
25927  {
25928  if ((f & ::xml_schema::flags::base) == 0)
25929  {
25930  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
25931  this->parse (p, f);
25932  }
25933  }
25934 
25935  void GateHHUndetermined::
25936  parse (::xsd::cxx::xml::dom::parser< char >& p,
25937  ::xml_schema::flags f)
25938  {
25939  this->::neuroml2::Base::parse (p, f);
25940 
25941  for (; p.more_content (); p.next_content (false))
25942  {
25943  const ::xercesc::DOMElement& i (p.cur_element ());
25944  const ::xsd::cxx::xml::qualified_name< char > n (
25945  ::xsd::cxx::xml::dom::name< char > (i));
25946 
25947  // notes
25948  //
25949  if (n.name () == "notes" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
25950  {
25951  ::std::unique_ptr< notes_type > r (
25952  notes_traits::create (i, f, this));
25953 
25954  if (!this->notes_)
25955  {
25956  this->notes_.set (::std::move (r));
25957  continue;
25958  }
25959  }
25960 
25961  // q10Settings
25962  //
25963  if (n.name () == "q10Settings" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
25964  {
25965  ::std::unique_ptr< q10Settings_type > r (
25966  q10Settings_traits::create (i, f, this));
25967 
25968  if (!this->q10Settings_)
25969  {
25970  this->q10Settings_.set (::std::move (r));
25971  continue;
25972  }
25973  }
25974 
25975  // forwardRate
25976  //
25977  if (n.name () == "forwardRate" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
25978  {
25979  ::std::unique_ptr< forwardRate_type > r (
25980  forwardRate_traits::create (i, f, this));
25981 
25982  if (!this->forwardRate_)
25983  {
25984  this->forwardRate_.set (::std::move (r));
25985  continue;
25986  }
25987  }
25988 
25989  // reverseRate
25990  //
25991  if (n.name () == "reverseRate" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
25992  {
25993  ::std::unique_ptr< reverseRate_type > r (
25994  reverseRate_traits::create (i, f, this));
25995 
25996  if (!this->reverseRate_)
25997  {
25998  this->reverseRate_.set (::std::move (r));
25999  continue;
26000  }
26001  }
26002 
26003  // timeCourse
26004  //
26005  if (n.name () == "timeCourse" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
26006  {
26007  ::std::unique_ptr< timeCourse_type > r (
26008  timeCourse_traits::create (i, f, this));
26009 
26010  if (!this->timeCourse_)
26011  {
26012  this->timeCourse_.set (::std::move (r));
26013  continue;
26014  }
26015  }
26016 
26017  // steadyState
26018  //
26019  if (n.name () == "steadyState" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
26020  {
26021  ::std::unique_ptr< steadyState_type > r (
26022  steadyState_traits::create (i, f, this));
26023 
26024  if (!this->steadyState_)
26025  {
26026  this->steadyState_.set (::std::move (r));
26027  continue;
26028  }
26029  }
26030 
26031  // subGate
26032  //
26033  if (n.name () == "subGate" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
26034  {
26035  ::std::unique_ptr< subGate_type > r (
26036  subGate_traits::create (i, f, this));
26037 
26038  this->subGate_.push_back (::std::move (r));
26039  continue;
26040  }
26041 
26042  break;
26043  }
26044 
26045  p.reset_attributes ();
26046 
26047  while (p.more_attributes ())
26048  {
26049  const ::xercesc::DOMAttr& i (p.next_attribute ());
26050  const ::xsd::cxx::xml::qualified_name< char > n (
26051  ::xsd::cxx::xml::dom::name< char > (i));
26052 
26053  if (n.name () == "instances" && n.namespace_ ().empty ())
26054  {
26055  this->instances_.set (instances_traits::create (i, f, this));
26056  continue;
26057  }
26058 
26059  if (n.name () == "type" && n.namespace_ ().empty ())
26060  {
26061  this->type_.set (type_traits::create (i, f, this));
26062  continue;
26063  }
26064  }
26065 
26066  if (!instances_.present ())
26067  {
26068  throw ::xsd::cxx::tree::expected_attribute< char > (
26069  "instances",
26070  "");
26071  }
26072 
26073  if (!type_.present ())
26074  {
26075  throw ::xsd::cxx::tree::expected_attribute< char > (
26076  "type",
26077  "");
26078  }
26079  }
26080 
26083  ::xml_schema::container* c) const
26084  {
26085  return new class GateHHUndetermined (*this, f, c);
26086  }
26087 
26090  {
26091  if (this != &x)
26092  {
26093  static_cast< ::neuroml2::Base& > (*this) = x;
26094  this->notes_ = x.notes_;
26095  this->q10Settings_ = x.q10Settings_;
26096  this->forwardRate_ = x.forwardRate_;
26097  this->reverseRate_ = x.reverseRate_;
26098  this->timeCourse_ = x.timeCourse_;
26099  this->steadyState_ = x.steadyState_;
26100  this->subGate_ = x.subGate_;
26101  this->instances_ = x.instances_;
26102  this->type_ = x.type_;
26103  }
26104 
26105  return *this;
26106  }
26107 
26110  {
26111  }
26112 
26113  bool
26114  operator== (const GateHHUndetermined& x, const GateHHUndetermined& y)
26115  {
26116  if (!(static_cast< const ::neuroml2::Base& > (x) ==
26117  static_cast< const ::neuroml2::Base& > (y)))
26118  return false;
26119 
26120  if (!(x.notes () == y.notes ()))
26121  return false;
26122 
26123  if (!(x.q10Settings () == y.q10Settings ()))
26124  return false;
26125 
26126  if (!(x.forwardRate () == y.forwardRate ()))
26127  return false;
26128 
26129  if (!(x.reverseRate () == y.reverseRate ()))
26130  return false;
26131 
26132  if (!(x.timeCourse () == y.timeCourse ()))
26133  return false;
26134 
26135  if (!(x.steadyState () == y.steadyState ()))
26136  return false;
26137 
26138  if (!(x.subGate () == y.subGate ()))
26139  return false;
26140 
26141  if (!(x.instances () == y.instances ()))
26142  return false;
26143 
26144  if (!(x.type () == y.type ()))
26145  return false;
26146 
26147  return true;
26148  }
26149 
26150  bool
26151  operator!= (const GateHHUndetermined& x, const GateHHUndetermined& y)
26152  {
26153  return !(x == y);
26154  }
26155 
26156  // GateHHRates
26157  //
26158 
26160  GateHHRates (const id_type& id,
26161  const forwardRate_type& forwardRate,
26162  const reverseRate_type& reverseRate,
26163  const instances_type& instances)
26164  : ::neuroml2::Base (id),
26165  notes_ (this),
26166  q10Settings_ (this),
26167  forwardRate_ (forwardRate, this),
26168  reverseRate_ (reverseRate, this),
26169  instances_ (instances, this)
26170  {
26171  }
26172 
26174  GateHHRates (const id_type& id,
26175  ::std::unique_ptr< forwardRate_type > forwardRate,
26176  ::std::unique_ptr< reverseRate_type > reverseRate,
26177  const instances_type& instances)
26178  : ::neuroml2::Base (id),
26179  notes_ (this),
26180  q10Settings_ (this),
26181  forwardRate_ (std::move (forwardRate), this),
26182  reverseRate_ (std::move (reverseRate), this),
26183  instances_ (instances, this)
26184  {
26185  }
26186 
26188  GateHHRates (const GateHHRates& x,
26189  ::xml_schema::flags f,
26190  ::xml_schema::container* c)
26191  : ::neuroml2::Base (x, f, c),
26192  notes_ (x.notes_, f, this),
26193  q10Settings_ (x.q10Settings_, f, this),
26194  forwardRate_ (x.forwardRate_, f, this),
26195  reverseRate_ (x.reverseRate_, f, this),
26196  instances_ (x.instances_, f, this)
26197  {
26198  }
26199 
26201  GateHHRates (const ::xercesc::DOMElement& e,
26202  ::xml_schema::flags f,
26203  ::xml_schema::container* c)
26204  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
26205  notes_ (this),
26206  q10Settings_ (this),
26207  forwardRate_ (this),
26208  reverseRate_ (this),
26209  instances_ (this)
26210  {
26211  if ((f & ::xml_schema::flags::base) == 0)
26212  {
26213  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
26214  this->parse (p, f);
26215  }
26216  }
26217 
26218  void GateHHRates::
26219  parse (::xsd::cxx::xml::dom::parser< char >& p,
26220  ::xml_schema::flags f)
26221  {
26222  this->::neuroml2::Base::parse (p, f);
26223 
26224  for (; p.more_content (); p.next_content (false))
26225  {
26226  const ::xercesc::DOMElement& i (p.cur_element ());
26227  const ::xsd::cxx::xml::qualified_name< char > n (
26228  ::xsd::cxx::xml::dom::name< char > (i));
26229 
26230  // notes
26231  //
26232  if (n.name () == "notes" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
26233  {
26234  ::std::unique_ptr< notes_type > r (
26235  notes_traits::create (i, f, this));
26236 
26237  if (!this->notes_)
26238  {
26239  this->notes_.set (::std::move (r));
26240  continue;
26241  }
26242  }
26243 
26244  // q10Settings
26245  //
26246  if (n.name () == "q10Settings" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
26247  {
26248  ::std::unique_ptr< q10Settings_type > r (
26249  q10Settings_traits::create (i, f, this));
26250 
26251  if (!this->q10Settings_)
26252  {
26253  this->q10Settings_.set (::std::move (r));
26254  continue;
26255  }
26256  }
26257 
26258  // forwardRate
26259  //
26260  if (n.name () == "forwardRate" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
26261  {
26262  ::std::unique_ptr< forwardRate_type > r (
26263  forwardRate_traits::create (i, f, this));
26264 
26265  if (!forwardRate_.present ())
26266  {
26267  this->forwardRate_.set (::std::move (r));
26268  continue;
26269  }
26270  }
26271 
26272  // reverseRate
26273  //
26274  if (n.name () == "reverseRate" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
26275  {
26276  ::std::unique_ptr< reverseRate_type > r (
26277  reverseRate_traits::create (i, f, this));
26278 
26279  if (!reverseRate_.present ())
26280  {
26281  this->reverseRate_.set (::std::move (r));
26282  continue;
26283  }
26284  }
26285 
26286  break;
26287  }
26288 
26289  if (!forwardRate_.present ())
26290  {
26291  throw ::xsd::cxx::tree::expected_element< char > (
26292  "forwardRate",
26293  "http://www.neuroml.org/schema/neuroml2");
26294  }
26295 
26296  if (!reverseRate_.present ())
26297  {
26298  throw ::xsd::cxx::tree::expected_element< char > (
26299  "reverseRate",
26300  "http://www.neuroml.org/schema/neuroml2");
26301  }
26302 
26303  p.reset_attributes ();
26304 
26305  while (p.more_attributes ())
26306  {
26307  const ::xercesc::DOMAttr& i (p.next_attribute ());
26308  const ::xsd::cxx::xml::qualified_name< char > n (
26309  ::xsd::cxx::xml::dom::name< char > (i));
26310 
26311  if (n.name () == "instances" && n.namespace_ ().empty ())
26312  {
26313  this->instances_.set (instances_traits::create (i, f, this));
26314  continue;
26315  }
26316  }
26317 
26318  if (!instances_.present ())
26319  {
26320  throw ::xsd::cxx::tree::expected_attribute< char > (
26321  "instances",
26322  "");
26323  }
26324  }
26325 
26328  ::xml_schema::container* c) const
26329  {
26330  return new class GateHHRates (*this, f, c);
26331  }
26332 
26334  operator= (const GateHHRates& x)
26335  {
26336  if (this != &x)
26337  {
26338  static_cast< ::neuroml2::Base& > (*this) = x;
26339  this->notes_ = x.notes_;
26340  this->q10Settings_ = x.q10Settings_;
26341  this->forwardRate_ = x.forwardRate_;
26342  this->reverseRate_ = x.reverseRate_;
26343  this->instances_ = x.instances_;
26344  }
26345 
26346  return *this;
26347  }
26348 
26350  ~GateHHRates ()
26351  {
26352  }
26353 
26354  bool
26355  operator== (const GateHHRates& x, const GateHHRates& y)
26356  {
26357  if (!(static_cast< const ::neuroml2::Base& > (x) ==
26358  static_cast< const ::neuroml2::Base& > (y)))
26359  return false;
26360 
26361  if (!(x.notes () == y.notes ()))
26362  return false;
26363 
26364  if (!(x.q10Settings () == y.q10Settings ()))
26365  return false;
26366 
26367  if (!(x.forwardRate () == y.forwardRate ()))
26368  return false;
26369 
26370  if (!(x.reverseRate () == y.reverseRate ()))
26371  return false;
26372 
26373  if (!(x.instances () == y.instances ()))
26374  return false;
26375 
26376  return true;
26377  }
26378 
26379  bool
26380  operator!= (const GateHHRates& x, const GateHHRates& y)
26381  {
26382  return !(x == y);
26383  }
26384 
26385  // GateHHTauInf
26386  //
26387 
26389  GateHHTauInf (const id_type& id,
26390  const timeCourse_type& timeCourse,
26391  const steadyState_type& steadyState,
26392  const instances_type& instances)
26393  : ::neuroml2::Base (id),
26394  notes_ (this),
26395  q10Settings_ (this),
26396  timeCourse_ (timeCourse, this),
26397  steadyState_ (steadyState, this),
26398  instances_ (instances, this)
26399  {
26400  }
26401 
26403  GateHHTauInf (const id_type& id,
26404  ::std::unique_ptr< timeCourse_type > timeCourse,
26405  ::std::unique_ptr< steadyState_type > steadyState,
26406  const instances_type& instances)
26407  : ::neuroml2::Base (id),
26408  notes_ (this),
26409  q10Settings_ (this),
26410  timeCourse_ (std::move (timeCourse), this),
26411  steadyState_ (std::move (steadyState), this),
26412  instances_ (instances, this)
26413  {
26414  }
26415 
26417  GateHHTauInf (const GateHHTauInf& x,
26418  ::xml_schema::flags f,
26419  ::xml_schema::container* c)
26420  : ::neuroml2::Base (x, f, c),
26421  notes_ (x.notes_, f, this),
26422  q10Settings_ (x.q10Settings_, f, this),
26423  timeCourse_ (x.timeCourse_, f, this),
26424  steadyState_ (x.steadyState_, f, this),
26425  instances_ (x.instances_, f, this)
26426  {
26427  }
26428 
26430  GateHHTauInf (const ::xercesc::DOMElement& e,
26431  ::xml_schema::flags f,
26432  ::xml_schema::container* c)
26433  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
26434  notes_ (this),
26435  q10Settings_ (this),
26436  timeCourse_ (this),
26437  steadyState_ (this),
26438  instances_ (this)
26439  {
26440  if ((f & ::xml_schema::flags::base) == 0)
26441  {
26442  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
26443  this->parse (p, f);
26444  }
26445  }
26446 
26447  void GateHHTauInf::
26448  parse (::xsd::cxx::xml::dom::parser< char >& p,
26449  ::xml_schema::flags f)
26450  {
26451  this->::neuroml2::Base::parse (p, f);
26452 
26453  for (; p.more_content (); p.next_content (false))
26454  {
26455  const ::xercesc::DOMElement& i (p.cur_element ());
26456  const ::xsd::cxx::xml::qualified_name< char > n (
26457  ::xsd::cxx::xml::dom::name< char > (i));
26458 
26459  // notes
26460  //
26461  if (n.name () == "notes" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
26462  {
26463  ::std::unique_ptr< notes_type > r (
26464  notes_traits::create (i, f, this));
26465 
26466  if (!this->notes_)
26467  {
26468  this->notes_.set (::std::move (r));
26469  continue;
26470  }
26471  }
26472 
26473  // q10Settings
26474  //
26475  if (n.name () == "q10Settings" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
26476  {
26477  ::std::unique_ptr< q10Settings_type > r (
26478  q10Settings_traits::create (i, f, this));
26479 
26480  if (!this->q10Settings_)
26481  {
26482  this->q10Settings_.set (::std::move (r));
26483  continue;
26484  }
26485  }
26486 
26487  // timeCourse
26488  //
26489  if (n.name () == "timeCourse" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
26490  {
26491  ::std::unique_ptr< timeCourse_type > r (
26492  timeCourse_traits::create (i, f, this));
26493 
26494  if (!timeCourse_.present ())
26495  {
26496  this->timeCourse_.set (::std::move (r));
26497  continue;
26498  }
26499  }
26500 
26501  // steadyState
26502  //
26503  if (n.name () == "steadyState" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
26504  {
26505  ::std::unique_ptr< steadyState_type > r (
26506  steadyState_traits::create (i, f, this));
26507 
26508  if (!steadyState_.present ())
26509  {
26510  this->steadyState_.set (::std::move (r));
26511  continue;
26512  }
26513  }
26514 
26515  break;
26516  }
26517 
26518  if (!timeCourse_.present ())
26519  {
26520  throw ::xsd::cxx::tree::expected_element< char > (
26521  "timeCourse",
26522  "http://www.neuroml.org/schema/neuroml2");
26523  }
26524 
26525  if (!steadyState_.present ())
26526  {
26527  throw ::xsd::cxx::tree::expected_element< char > (
26528  "steadyState",
26529  "http://www.neuroml.org/schema/neuroml2");
26530  }
26531 
26532  p.reset_attributes ();
26533 
26534  while (p.more_attributes ())
26535  {
26536  const ::xercesc::DOMAttr& i (p.next_attribute ());
26537  const ::xsd::cxx::xml::qualified_name< char > n (
26538  ::xsd::cxx::xml::dom::name< char > (i));
26539 
26540  if (n.name () == "instances" && n.namespace_ ().empty ())
26541  {
26542  this->instances_.set (instances_traits::create (i, f, this));
26543  continue;
26544  }
26545  }
26546 
26547  if (!instances_.present ())
26548  {
26549  throw ::xsd::cxx::tree::expected_attribute< char > (
26550  "instances",
26551  "");
26552  }
26553  }
26554 
26557  ::xml_schema::container* c) const
26558  {
26559  return new class GateHHTauInf (*this, f, c);
26560  }
26561 
26563  operator= (const GateHHTauInf& x)
26564  {
26565  if (this != &x)
26566  {
26567  static_cast< ::neuroml2::Base& > (*this) = x;
26568  this->notes_ = x.notes_;
26569  this->q10Settings_ = x.q10Settings_;
26570  this->timeCourse_ = x.timeCourse_;
26571  this->steadyState_ = x.steadyState_;
26572  this->instances_ = x.instances_;
26573  }
26574 
26575  return *this;
26576  }
26577 
26579  ~GateHHTauInf ()
26580  {
26581  }
26582 
26583  bool
26584  operator== (const GateHHTauInf& x, const GateHHTauInf& y)
26585  {
26586  if (!(static_cast< const ::neuroml2::Base& > (x) ==
26587  static_cast< const ::neuroml2::Base& > (y)))
26588  return false;
26589 
26590  if (!(x.notes () == y.notes ()))
26591  return false;
26592 
26593  if (!(x.q10Settings () == y.q10Settings ()))
26594  return false;
26595 
26596  if (!(x.timeCourse () == y.timeCourse ()))
26597  return false;
26598 
26599  if (!(x.steadyState () == y.steadyState ()))
26600  return false;
26601 
26602  if (!(x.instances () == y.instances ()))
26603  return false;
26604 
26605  return true;
26606  }
26607 
26608  bool
26609  operator!= (const GateHHTauInf& x, const GateHHTauInf& y)
26610  {
26611  return !(x == y);
26612  }
26613 
26614  // GateHHRatesTauInf
26615  //
26616 
26618  GateHHRatesTauInf (const id_type& id,
26619  const forwardRate_type& forwardRate,
26620  const reverseRate_type& reverseRate,
26621  const timeCourse_type& timeCourse,
26622  const steadyState_type& steadyState,
26623  const instances_type& instances)
26624  : ::neuroml2::Base (id),
26625  notes_ (this),
26626  q10Settings_ (this),
26627  forwardRate_ (forwardRate, this),
26628  reverseRate_ (reverseRate, this),
26629  timeCourse_ (timeCourse, this),
26630  steadyState_ (steadyState, this),
26631  instances_ (instances, this)
26632  {
26633  }
26634 
26636  GateHHRatesTauInf (const id_type& id,
26637  ::std::unique_ptr< forwardRate_type > forwardRate,
26638  ::std::unique_ptr< reverseRate_type > reverseRate,
26639  ::std::unique_ptr< timeCourse_type > timeCourse,
26640  ::std::unique_ptr< steadyState_type > steadyState,
26641  const instances_type& instances)
26642  : ::neuroml2::Base (id),
26643  notes_ (this),
26644  q10Settings_ (this),
26645  forwardRate_ (std::move (forwardRate), this),
26646  reverseRate_ (std::move (reverseRate), this),
26647  timeCourse_ (std::move (timeCourse), this),
26648  steadyState_ (std::move (steadyState), this),
26649  instances_ (instances, this)
26650  {
26651  }
26652 
26655  ::xml_schema::flags f,
26656  ::xml_schema::container* c)
26657  : ::neuroml2::Base (x, f, c),
26658  notes_ (x.notes_, f, this),
26659  q10Settings_ (x.q10Settings_, f, this),
26660  forwardRate_ (x.forwardRate_, f, this),
26661  reverseRate_ (x.reverseRate_, f, this),
26662  timeCourse_ (x.timeCourse_, f, this),
26663  steadyState_ (x.steadyState_, f, this),
26664  instances_ (x.instances_, f, this)
26665  {
26666  }
26667 
26669  GateHHRatesTauInf (const ::xercesc::DOMElement& e,
26670  ::xml_schema::flags f,
26671  ::xml_schema::container* c)
26672  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
26673  notes_ (this),
26674  q10Settings_ (this),
26675  forwardRate_ (this),
26676  reverseRate_ (this),
26677  timeCourse_ (this),
26678  steadyState_ (this),
26679  instances_ (this)
26680  {
26681  if ((f & ::xml_schema::flags::base) == 0)
26682  {
26683  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
26684  this->parse (p, f);
26685  }
26686  }
26687 
26688  void GateHHRatesTauInf::
26689  parse (::xsd::cxx::xml::dom::parser< char >& p,
26690  ::xml_schema::flags f)
26691  {
26692  this->::neuroml2::Base::parse (p, f);
26693 
26694  for (; p.more_content (); p.next_content (false))
26695  {
26696  const ::xercesc::DOMElement& i (p.cur_element ());
26697  const ::xsd::cxx::xml::qualified_name< char > n (
26698  ::xsd::cxx::xml::dom::name< char > (i));
26699 
26700  // notes
26701  //
26702  if (n.name () == "notes" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
26703  {
26704  ::std::unique_ptr< notes_type > r (
26705  notes_traits::create (i, f, this));
26706 
26707  if (!this->notes_)
26708  {
26709  this->notes_.set (::std::move (r));
26710  continue;
26711  }
26712  }
26713 
26714  // q10Settings
26715  //
26716  if (n.name () == "q10Settings" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
26717  {
26718  ::std::unique_ptr< q10Settings_type > r (
26719  q10Settings_traits::create (i, f, this));
26720 
26721  if (!this->q10Settings_)
26722  {
26723  this->q10Settings_.set (::std::move (r));
26724  continue;
26725  }
26726  }
26727 
26728  // forwardRate
26729  //
26730  if (n.name () == "forwardRate" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
26731  {
26732  ::std::unique_ptr< forwardRate_type > r (
26733  forwardRate_traits::create (i, f, this));
26734 
26735  if (!forwardRate_.present ())
26736  {
26737  this->forwardRate_.set (::std::move (r));
26738  continue;
26739  }
26740  }
26741 
26742  // reverseRate
26743  //
26744  if (n.name () == "reverseRate" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
26745  {
26746  ::std::unique_ptr< reverseRate_type > r (
26747  reverseRate_traits::create (i, f, this));
26748 
26749  if (!reverseRate_.present ())
26750  {
26751  this->reverseRate_.set (::std::move (r));
26752  continue;
26753  }
26754  }
26755 
26756  // timeCourse
26757  //
26758  if (n.name () == "timeCourse" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
26759  {
26760  ::std::unique_ptr< timeCourse_type > r (
26761  timeCourse_traits::create (i, f, this));
26762 
26763  if (!timeCourse_.present ())
26764  {
26765  this->timeCourse_.set (::std::move (r));
26766  continue;
26767  }
26768  }
26769 
26770  // steadyState
26771  //
26772  if (n.name () == "steadyState" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
26773  {
26774  ::std::unique_ptr< steadyState_type > r (
26775  steadyState_traits::create (i, f, this));
26776 
26777  if (!steadyState_.present ())
26778  {
26779  this->steadyState_.set (::std::move (r));
26780  continue;
26781  }
26782  }
26783 
26784  break;
26785  }
26786 
26787  if (!forwardRate_.present ())
26788  {
26789  throw ::xsd::cxx::tree::expected_element< char > (
26790  "forwardRate",
26791  "http://www.neuroml.org/schema/neuroml2");
26792  }
26793 
26794  if (!reverseRate_.present ())
26795  {
26796  throw ::xsd::cxx::tree::expected_element< char > (
26797  "reverseRate",
26798  "http://www.neuroml.org/schema/neuroml2");
26799  }
26800 
26801  if (!timeCourse_.present ())
26802  {
26803  throw ::xsd::cxx::tree::expected_element< char > (
26804  "timeCourse",
26805  "http://www.neuroml.org/schema/neuroml2");
26806  }
26807 
26808  if (!steadyState_.present ())
26809  {
26810  throw ::xsd::cxx::tree::expected_element< char > (
26811  "steadyState",
26812  "http://www.neuroml.org/schema/neuroml2");
26813  }
26814 
26815  p.reset_attributes ();
26816 
26817  while (p.more_attributes ())
26818  {
26819  const ::xercesc::DOMAttr& i (p.next_attribute ());
26820  const ::xsd::cxx::xml::qualified_name< char > n (
26821  ::xsd::cxx::xml::dom::name< char > (i));
26822 
26823  if (n.name () == "instances" && n.namespace_ ().empty ())
26824  {
26825  this->instances_.set (instances_traits::create (i, f, this));
26826  continue;
26827  }
26828  }
26829 
26830  if (!instances_.present ())
26831  {
26832  throw ::xsd::cxx::tree::expected_attribute< char > (
26833  "instances",
26834  "");
26835  }
26836  }
26837 
26840  ::xml_schema::container* c) const
26841  {
26842  return new class GateHHRatesTauInf (*this, f, c);
26843  }
26844 
26847  {
26848  if (this != &x)
26849  {
26850  static_cast< ::neuroml2::Base& > (*this) = x;
26851  this->notes_ = x.notes_;
26852  this->q10Settings_ = x.q10Settings_;
26853  this->forwardRate_ = x.forwardRate_;
26854  this->reverseRate_ = x.reverseRate_;
26855  this->timeCourse_ = x.timeCourse_;
26856  this->steadyState_ = x.steadyState_;
26857  this->instances_ = x.instances_;
26858  }
26859 
26860  return *this;
26861  }
26862 
26865  {
26866  }
26867 
26868  bool
26869  operator== (const GateHHRatesTauInf& x, const GateHHRatesTauInf& y)
26870  {
26871  if (!(static_cast< const ::neuroml2::Base& > (x) ==
26872  static_cast< const ::neuroml2::Base& > (y)))
26873  return false;
26874 
26875  if (!(x.notes () == y.notes ()))
26876  return false;
26877 
26878  if (!(x.q10Settings () == y.q10Settings ()))
26879  return false;
26880 
26881  if (!(x.forwardRate () == y.forwardRate ()))
26882  return false;
26883 
26884  if (!(x.reverseRate () == y.reverseRate ()))
26885  return false;
26886 
26887  if (!(x.timeCourse () == y.timeCourse ()))
26888  return false;
26889 
26890  if (!(x.steadyState () == y.steadyState ()))
26891  return false;
26892 
26893  if (!(x.instances () == y.instances ()))
26894  return false;
26895 
26896  return true;
26897  }
26898 
26899  bool
26900  operator!= (const GateHHRatesTauInf& x, const GateHHRatesTauInf& y)
26901  {
26902  return !(x == y);
26903  }
26904 
26905  // GateHHRatesTau
26906  //
26907 
26909  GateHHRatesTau (const id_type& id,
26910  const forwardRate_type& forwardRate,
26911  const reverseRate_type& reverseRate,
26912  const timeCourse_type& timeCourse,
26913  const instances_type& instances)
26914  : ::neuroml2::Base (id),
26915  notes_ (this),
26916  q10Settings_ (this),
26917  forwardRate_ (forwardRate, this),
26918  reverseRate_ (reverseRate, this),
26919  timeCourse_ (timeCourse, this),
26920  instances_ (instances, this)
26921  {
26922  }
26923 
26925  GateHHRatesTau (const id_type& id,
26926  ::std::unique_ptr< forwardRate_type > forwardRate,
26927  ::std::unique_ptr< reverseRate_type > reverseRate,
26928  ::std::unique_ptr< timeCourse_type > timeCourse,
26929  const instances_type& instances)
26930  : ::neuroml2::Base (id),
26931  notes_ (this),
26932  q10Settings_ (this),
26933  forwardRate_ (std::move (forwardRate), this),
26934  reverseRate_ (std::move (reverseRate), this),
26935  timeCourse_ (std::move (timeCourse), this),
26936  instances_ (instances, this)
26937  {
26938  }
26939 
26942  ::xml_schema::flags f,
26943  ::xml_schema::container* c)
26944  : ::neuroml2::Base (x, f, c),
26945  notes_ (x.notes_, f, this),
26946  q10Settings_ (x.q10Settings_, f, this),
26947  forwardRate_ (x.forwardRate_, f, this),
26948  reverseRate_ (x.reverseRate_, f, this),
26949  timeCourse_ (x.timeCourse_, f, this),
26950  instances_ (x.instances_, f, this)
26951  {
26952  }
26953 
26955  GateHHRatesTau (const ::xercesc::DOMElement& e,
26956  ::xml_schema::flags f,
26957  ::xml_schema::container* c)
26958  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
26959  notes_ (this),
26960  q10Settings_ (this),
26961  forwardRate_ (this),
26962  reverseRate_ (this),
26963  timeCourse_ (this),
26964  instances_ (this)
26965  {
26966  if ((f & ::xml_schema::flags::base) == 0)
26967  {
26968  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
26969  this->parse (p, f);
26970  }
26971  }
26972 
26973  void GateHHRatesTau::
26974  parse (::xsd::cxx::xml::dom::parser< char >& p,
26975  ::xml_schema::flags f)
26976  {
26977  this->::neuroml2::Base::parse (p, f);
26978 
26979  for (; p.more_content (); p.next_content (false))
26980  {
26981  const ::xercesc::DOMElement& i (p.cur_element ());
26982  const ::xsd::cxx::xml::qualified_name< char > n (
26983  ::xsd::cxx::xml::dom::name< char > (i));
26984 
26985  // notes
26986  //
26987  if (n.name () == "notes" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
26988  {
26989  ::std::unique_ptr< notes_type > r (
26990  notes_traits::create (i, f, this));
26991 
26992  if (!this->notes_)
26993  {
26994  this->notes_.set (::std::move (r));
26995  continue;
26996  }
26997  }
26998 
26999  // q10Settings
27000  //
27001  if (n.name () == "q10Settings" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
27002  {
27003  ::std::unique_ptr< q10Settings_type > r (
27004  q10Settings_traits::create (i, f, this));
27005 
27006  if (!this->q10Settings_)
27007  {
27008  this->q10Settings_.set (::std::move (r));
27009  continue;
27010  }
27011  }
27012 
27013  // forwardRate
27014  //
27015  if (n.name () == "forwardRate" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
27016  {
27017  ::std::unique_ptr< forwardRate_type > r (
27018  forwardRate_traits::create (i, f, this));
27019 
27020  if (!forwardRate_.present ())
27021  {
27022  this->forwardRate_.set (::std::move (r));
27023  continue;
27024  }
27025  }
27026 
27027  // reverseRate
27028  //
27029  if (n.name () == "reverseRate" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
27030  {
27031  ::std::unique_ptr< reverseRate_type > r (
27032  reverseRate_traits::create (i, f, this));
27033 
27034  if (!reverseRate_.present ())
27035  {
27036  this->reverseRate_.set (::std::move (r));
27037  continue;
27038  }
27039  }
27040 
27041  // timeCourse
27042  //
27043  if (n.name () == "timeCourse" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
27044  {
27045  ::std::unique_ptr< timeCourse_type > r (
27046  timeCourse_traits::create (i, f, this));
27047 
27048  if (!timeCourse_.present ())
27049  {
27050  this->timeCourse_.set (::std::move (r));
27051  continue;
27052  }
27053  }
27054 
27055  break;
27056  }
27057 
27058  if (!forwardRate_.present ())
27059  {
27060  throw ::xsd::cxx::tree::expected_element< char > (
27061  "forwardRate",
27062  "http://www.neuroml.org/schema/neuroml2");
27063  }
27064 
27065  if (!reverseRate_.present ())
27066  {
27067  throw ::xsd::cxx::tree::expected_element< char > (
27068  "reverseRate",
27069  "http://www.neuroml.org/schema/neuroml2");
27070  }
27071 
27072  if (!timeCourse_.present ())
27073  {
27074  throw ::xsd::cxx::tree::expected_element< char > (
27075  "timeCourse",
27076  "http://www.neuroml.org/schema/neuroml2");
27077  }
27078 
27079  p.reset_attributes ();
27080 
27081  while (p.more_attributes ())
27082  {
27083  const ::xercesc::DOMAttr& i (p.next_attribute ());
27084  const ::xsd::cxx::xml::qualified_name< char > n (
27085  ::xsd::cxx::xml::dom::name< char > (i));
27086 
27087  if (n.name () == "instances" && n.namespace_ ().empty ())
27088  {
27089  this->instances_.set (instances_traits::create (i, f, this));
27090  continue;
27091  }
27092  }
27093 
27094  if (!instances_.present ())
27095  {
27096  throw ::xsd::cxx::tree::expected_attribute< char > (
27097  "instances",
27098  "");
27099  }
27100  }
27101 
27104  ::xml_schema::container* c) const
27105  {
27106  return new class GateHHRatesTau (*this, f, c);
27107  }
27108 
27110  operator= (const GateHHRatesTau& x)
27111  {
27112  if (this != &x)
27113  {
27114  static_cast< ::neuroml2::Base& > (*this) = x;
27115  this->notes_ = x.notes_;
27116  this->q10Settings_ = x.q10Settings_;
27117  this->forwardRate_ = x.forwardRate_;
27118  this->reverseRate_ = x.reverseRate_;
27119  this->timeCourse_ = x.timeCourse_;
27120  this->instances_ = x.instances_;
27121  }
27122 
27123  return *this;
27124  }
27125 
27128  {
27129  }
27130 
27131  bool
27132  operator== (const GateHHRatesTau& x, const GateHHRatesTau& y)
27133  {
27134  if (!(static_cast< const ::neuroml2::Base& > (x) ==
27135  static_cast< const ::neuroml2::Base& > (y)))
27136  return false;
27137 
27138  if (!(x.notes () == y.notes ()))
27139  return false;
27140 
27141  if (!(x.q10Settings () == y.q10Settings ()))
27142  return false;
27143 
27144  if (!(x.forwardRate () == y.forwardRate ()))
27145  return false;
27146 
27147  if (!(x.reverseRate () == y.reverseRate ()))
27148  return false;
27149 
27150  if (!(x.timeCourse () == y.timeCourse ()))
27151  return false;
27152 
27153  if (!(x.instances () == y.instances ()))
27154  return false;
27155 
27156  return true;
27157  }
27158 
27159  bool
27160  operator!= (const GateHHRatesTau& x, const GateHHRatesTau& y)
27161  {
27162  return !(x == y);
27163  }
27164 
27165  // GateHHRatesInf
27166  //
27167 
27169  GateHHRatesInf (const id_type& id,
27170  const forwardRate_type& forwardRate,
27171  const reverseRate_type& reverseRate,
27172  const steadyState_type& steadyState,
27173  const instances_type& instances)
27174  : ::neuroml2::Base (id),
27175  notes_ (this),
27176  q10Settings_ (this),
27177  forwardRate_ (forwardRate, this),
27178  reverseRate_ (reverseRate, this),
27179  steadyState_ (steadyState, this),
27180  instances_ (instances, this)
27181  {
27182  }
27183 
27185  GateHHRatesInf (const id_type& id,
27186  ::std::unique_ptr< forwardRate_type > forwardRate,
27187  ::std::unique_ptr< reverseRate_type > reverseRate,
27188  ::std::unique_ptr< steadyState_type > steadyState,
27189  const instances_type& instances)
27190  : ::neuroml2::Base (id),
27191  notes_ (this),
27192  q10Settings_ (this),
27193  forwardRate_ (std::move (forwardRate), this),
27194  reverseRate_ (std::move (reverseRate), this),
27195  steadyState_ (std::move (steadyState), this),
27196  instances_ (instances, this)
27197  {
27198  }
27199 
27202  ::xml_schema::flags f,
27203  ::xml_schema::container* c)
27204  : ::neuroml2::Base (x, f, c),
27205  notes_ (x.notes_, f, this),
27206  q10Settings_ (x.q10Settings_, f, this),
27207  forwardRate_ (x.forwardRate_, f, this),
27208  reverseRate_ (x.reverseRate_, f, this),
27209  steadyState_ (x.steadyState_, f, this),
27210  instances_ (x.instances_, f, this)
27211  {
27212  }
27213 
27215  GateHHRatesInf (const ::xercesc::DOMElement& e,
27216  ::xml_schema::flags f,
27217  ::xml_schema::container* c)
27218  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
27219  notes_ (this),
27220  q10Settings_ (this),
27221  forwardRate_ (this),
27222  reverseRate_ (this),
27223  steadyState_ (this),
27224  instances_ (this)
27225  {
27226  if ((f & ::xml_schema::flags::base) == 0)
27227  {
27228  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
27229  this->parse (p, f);
27230  }
27231  }
27232 
27233  void GateHHRatesInf::
27234  parse (::xsd::cxx::xml::dom::parser< char >& p,
27235  ::xml_schema::flags f)
27236  {
27237  this->::neuroml2::Base::parse (p, f);
27238 
27239  for (; p.more_content (); p.next_content (false))
27240  {
27241  const ::xercesc::DOMElement& i (p.cur_element ());
27242  const ::xsd::cxx::xml::qualified_name< char > n (
27243  ::xsd::cxx::xml::dom::name< char > (i));
27244 
27245  // notes
27246  //
27247  if (n.name () == "notes" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
27248  {
27249  ::std::unique_ptr< notes_type > r (
27250  notes_traits::create (i, f, this));
27251 
27252  if (!this->notes_)
27253  {
27254  this->notes_.set (::std::move (r));
27255  continue;
27256  }
27257  }
27258 
27259  // q10Settings
27260  //
27261  if (n.name () == "q10Settings" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
27262  {
27263  ::std::unique_ptr< q10Settings_type > r (
27264  q10Settings_traits::create (i, f, this));
27265 
27266  if (!this->q10Settings_)
27267  {
27268  this->q10Settings_.set (::std::move (r));
27269  continue;
27270  }
27271  }
27272 
27273  // forwardRate
27274  //
27275  if (n.name () == "forwardRate" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
27276  {
27277  ::std::unique_ptr< forwardRate_type > r (
27278  forwardRate_traits::create (i, f, this));
27279 
27280  if (!forwardRate_.present ())
27281  {
27282  this->forwardRate_.set (::std::move (r));
27283  continue;
27284  }
27285  }
27286 
27287  // reverseRate
27288  //
27289  if (n.name () == "reverseRate" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
27290  {
27291  ::std::unique_ptr< reverseRate_type > r (
27292  reverseRate_traits::create (i, f, this));
27293 
27294  if (!reverseRate_.present ())
27295  {
27296  this->reverseRate_.set (::std::move (r));
27297  continue;
27298  }
27299  }
27300 
27301  // steadyState
27302  //
27303  if (n.name () == "steadyState" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
27304  {
27305  ::std::unique_ptr< steadyState_type > r (
27306  steadyState_traits::create (i, f, this));
27307 
27308  if (!steadyState_.present ())
27309  {
27310  this->steadyState_.set (::std::move (r));
27311  continue;
27312  }
27313  }
27314 
27315  break;
27316  }
27317 
27318  if (!forwardRate_.present ())
27319  {
27320  throw ::xsd::cxx::tree::expected_element< char > (
27321  "forwardRate",
27322  "http://www.neuroml.org/schema/neuroml2");
27323  }
27324 
27325  if (!reverseRate_.present ())
27326  {
27327  throw ::xsd::cxx::tree::expected_element< char > (
27328  "reverseRate",
27329  "http://www.neuroml.org/schema/neuroml2");
27330  }
27331 
27332  if (!steadyState_.present ())
27333  {
27334  throw ::xsd::cxx::tree::expected_element< char > (
27335  "steadyState",
27336  "http://www.neuroml.org/schema/neuroml2");
27337  }
27338 
27339  p.reset_attributes ();
27340 
27341  while (p.more_attributes ())
27342  {
27343  const ::xercesc::DOMAttr& i (p.next_attribute ());
27344  const ::xsd::cxx::xml::qualified_name< char > n (
27345  ::xsd::cxx::xml::dom::name< char > (i));
27346 
27347  if (n.name () == "instances" && n.namespace_ ().empty ())
27348  {
27349  this->instances_.set (instances_traits::create (i, f, this));
27350  continue;
27351  }
27352  }
27353 
27354  if (!instances_.present ())
27355  {
27356  throw ::xsd::cxx::tree::expected_attribute< char > (
27357  "instances",
27358  "");
27359  }
27360  }
27361 
27364  ::xml_schema::container* c) const
27365  {
27366  return new class GateHHRatesInf (*this, f, c);
27367  }
27368 
27370  operator= (const GateHHRatesInf& x)
27371  {
27372  if (this != &x)
27373  {
27374  static_cast< ::neuroml2::Base& > (*this) = x;
27375  this->notes_ = x.notes_;
27376  this->q10Settings_ = x.q10Settings_;
27377  this->forwardRate_ = x.forwardRate_;
27378  this->reverseRate_ = x.reverseRate_;
27379  this->steadyState_ = x.steadyState_;
27380  this->instances_ = x.instances_;
27381  }
27382 
27383  return *this;
27384  }
27385 
27388  {
27389  }
27390 
27391  bool
27392  operator== (const GateHHRatesInf& x, const GateHHRatesInf& y)
27393  {
27394  if (!(static_cast< const ::neuroml2::Base& > (x) ==
27395  static_cast< const ::neuroml2::Base& > (y)))
27396  return false;
27397 
27398  if (!(x.notes () == y.notes ()))
27399  return false;
27400 
27401  if (!(x.q10Settings () == y.q10Settings ()))
27402  return false;
27403 
27404  if (!(x.forwardRate () == y.forwardRate ()))
27405  return false;
27406 
27407  if (!(x.reverseRate () == y.reverseRate ()))
27408  return false;
27409 
27410  if (!(x.steadyState () == y.steadyState ()))
27411  return false;
27412 
27413  if (!(x.instances () == y.instances ()))
27414  return false;
27415 
27416  return true;
27417  }
27418 
27419  bool
27420  operator!= (const GateHHRatesInf& x, const GateHHRatesInf& y)
27421  {
27422  return !(x == y);
27423  }
27424 
27425  // GateHHInstantaneous
27426  //
27427 
27429  GateHHInstantaneous (const id_type& id,
27430  const steadyState_type& steadyState,
27431  const instances_type& instances)
27432  : ::neuroml2::Base (id),
27433  notes_ (this),
27434  steadyState_ (steadyState, this),
27435  instances_ (instances, this)
27436  {
27437  }
27438 
27440  GateHHInstantaneous (const id_type& id,
27441  ::std::unique_ptr< steadyState_type > steadyState,
27442  const instances_type& instances)
27443  : ::neuroml2::Base (id),
27444  notes_ (this),
27445  steadyState_ (std::move (steadyState), this),
27446  instances_ (instances, this)
27447  {
27448  }
27449 
27452  ::xml_schema::flags f,
27453  ::xml_schema::container* c)
27454  : ::neuroml2::Base (x, f, c),
27455  notes_ (x.notes_, f, this),
27456  steadyState_ (x.steadyState_, f, this),
27457  instances_ (x.instances_, f, this)
27458  {
27459  }
27460 
27462  GateHHInstantaneous (const ::xercesc::DOMElement& e,
27463  ::xml_schema::flags f,
27464  ::xml_schema::container* c)
27465  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
27466  notes_ (this),
27467  steadyState_ (this),
27468  instances_ (this)
27469  {
27470  if ((f & ::xml_schema::flags::base) == 0)
27471  {
27472  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
27473  this->parse (p, f);
27474  }
27475  }
27476 
27477  void GateHHInstantaneous::
27478  parse (::xsd::cxx::xml::dom::parser< char >& p,
27479  ::xml_schema::flags f)
27480  {
27481  this->::neuroml2::Base::parse (p, f);
27482 
27483  for (; p.more_content (); p.next_content (false))
27484  {
27485  const ::xercesc::DOMElement& i (p.cur_element ());
27486  const ::xsd::cxx::xml::qualified_name< char > n (
27487  ::xsd::cxx::xml::dom::name< char > (i));
27488 
27489  // notes
27490  //
27491  if (n.name () == "notes" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
27492  {
27493  ::std::unique_ptr< notes_type > r (
27494  notes_traits::create (i, f, this));
27495 
27496  if (!this->notes_)
27497  {
27498  this->notes_.set (::std::move (r));
27499  continue;
27500  }
27501  }
27502 
27503  // steadyState
27504  //
27505  if (n.name () == "steadyState" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
27506  {
27507  ::std::unique_ptr< steadyState_type > r (
27508  steadyState_traits::create (i, f, this));
27509 
27510  if (!steadyState_.present ())
27511  {
27512  this->steadyState_.set (::std::move (r));
27513  continue;
27514  }
27515  }
27516 
27517  break;
27518  }
27519 
27520  if (!steadyState_.present ())
27521  {
27522  throw ::xsd::cxx::tree::expected_element< char > (
27523  "steadyState",
27524  "http://www.neuroml.org/schema/neuroml2");
27525  }
27526 
27527  p.reset_attributes ();
27528 
27529  while (p.more_attributes ())
27530  {
27531  const ::xercesc::DOMAttr& i (p.next_attribute ());
27532  const ::xsd::cxx::xml::qualified_name< char > n (
27533  ::xsd::cxx::xml::dom::name< char > (i));
27534 
27535  if (n.name () == "instances" && n.namespace_ ().empty ())
27536  {
27537  this->instances_.set (instances_traits::create (i, f, this));
27538  continue;
27539  }
27540  }
27541 
27542  if (!instances_.present ())
27543  {
27544  throw ::xsd::cxx::tree::expected_attribute< char > (
27545  "instances",
27546  "");
27547  }
27548  }
27549 
27552  ::xml_schema::container* c) const
27553  {
27554  return new class GateHHInstantaneous (*this, f, c);
27555  }
27556 
27559  {
27560  if (this != &x)
27561  {
27562  static_cast< ::neuroml2::Base& > (*this) = x;
27563  this->notes_ = x.notes_;
27564  this->steadyState_ = x.steadyState_;
27565  this->instances_ = x.instances_;
27566  }
27567 
27568  return *this;
27569  }
27570 
27573  {
27574  }
27575 
27576  bool
27577  operator== (const GateHHInstantaneous& x, const GateHHInstantaneous& y)
27578  {
27579  if (!(static_cast< const ::neuroml2::Base& > (x) ==
27580  static_cast< const ::neuroml2::Base& > (y)))
27581  return false;
27582 
27583  if (!(x.notes () == y.notes ()))
27584  return false;
27585 
27586  if (!(x.steadyState () == y.steadyState ()))
27587  return false;
27588 
27589  if (!(x.instances () == y.instances ()))
27590  return false;
27591 
27592  return true;
27593  }
27594 
27595  bool
27596  operator!= (const GateHHInstantaneous& x, const GateHHInstantaneous& y)
27597  {
27598  return !(x == y);
27599  }
27600 
27601  // GateFractional
27602  //
27603 
27605  GateFractional (const id_type& id,
27606  const instances_type& instances)
27607  : ::neuroml2::Base (id),
27608  notes_ (this),
27609  q10Settings_ (this),
27610  subGate_ (this),
27611  instances_ (instances, this)
27612  {
27613  }
27614 
27617  ::xml_schema::flags f,
27618  ::xml_schema::container* c)
27619  : ::neuroml2::Base (x, f, c),
27620  notes_ (x.notes_, f, this),
27621  q10Settings_ (x.q10Settings_, f, this),
27622  subGate_ (x.subGate_, f, this),
27623  instances_ (x.instances_, f, this)
27624  {
27625  }
27626 
27628  GateFractional (const ::xercesc::DOMElement& e,
27629  ::xml_schema::flags f,
27630  ::xml_schema::container* c)
27631  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
27632  notes_ (this),
27633  q10Settings_ (this),
27634  subGate_ (this),
27635  instances_ (this)
27636  {
27637  if ((f & ::xml_schema::flags::base) == 0)
27638  {
27639  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
27640  this->parse (p, f);
27641  }
27642  }
27643 
27644  void GateFractional::
27645  parse (::xsd::cxx::xml::dom::parser< char >& p,
27646  ::xml_schema::flags f)
27647  {
27648  this->::neuroml2::Base::parse (p, f);
27649 
27650  for (; p.more_content (); p.next_content (false))
27651  {
27652  const ::xercesc::DOMElement& i (p.cur_element ());
27653  const ::xsd::cxx::xml::qualified_name< char > n (
27654  ::xsd::cxx::xml::dom::name< char > (i));
27655 
27656  // notes
27657  //
27658  if (n.name () == "notes" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
27659  {
27660  ::std::unique_ptr< notes_type > r (
27661  notes_traits::create (i, f, this));
27662 
27663  if (!this->notes_)
27664  {
27665  this->notes_.set (::std::move (r));
27666  continue;
27667  }
27668  }
27669 
27670  // q10Settings
27671  //
27672  if (n.name () == "q10Settings" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
27673  {
27674  ::std::unique_ptr< q10Settings_type > r (
27675  q10Settings_traits::create (i, f, this));
27676 
27677  if (!this->q10Settings_)
27678  {
27679  this->q10Settings_.set (::std::move (r));
27680  continue;
27681  }
27682  }
27683 
27684  // subGate
27685  //
27686  if (n.name () == "subGate" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
27687  {
27688  ::std::unique_ptr< subGate_type > r (
27689  subGate_traits::create (i, f, this));
27690 
27691  this->subGate_.push_back (::std::move (r));
27692  continue;
27693  }
27694 
27695  break;
27696  }
27697 
27698  p.reset_attributes ();
27699 
27700  while (p.more_attributes ())
27701  {
27702  const ::xercesc::DOMAttr& i (p.next_attribute ());
27703  const ::xsd::cxx::xml::qualified_name< char > n (
27704  ::xsd::cxx::xml::dom::name< char > (i));
27705 
27706  if (n.name () == "instances" && n.namespace_ ().empty ())
27707  {
27708  this->instances_.set (instances_traits::create (i, f, this));
27709  continue;
27710  }
27711  }
27712 
27713  if (!instances_.present ())
27714  {
27715  throw ::xsd::cxx::tree::expected_attribute< char > (
27716  "instances",
27717  "");
27718  }
27719  }
27720 
27723  ::xml_schema::container* c) const
27724  {
27725  return new class GateFractional (*this, f, c);
27726  }
27727 
27729  operator= (const GateFractional& x)
27730  {
27731  if (this != &x)
27732  {
27733  static_cast< ::neuroml2::Base& > (*this) = x;
27734  this->notes_ = x.notes_;
27735  this->q10Settings_ = x.q10Settings_;
27736  this->subGate_ = x.subGate_;
27737  this->instances_ = x.instances_;
27738  }
27739 
27740  return *this;
27741  }
27742 
27745  {
27746  }
27747 
27748  bool
27749  operator== (const GateFractional& x, const GateFractional& y)
27750  {
27751  if (!(static_cast< const ::neuroml2::Base& > (x) ==
27752  static_cast< const ::neuroml2::Base& > (y)))
27753  return false;
27754 
27755  if (!(x.notes () == y.notes ()))
27756  return false;
27757 
27758  if (!(x.q10Settings () == y.q10Settings ()))
27759  return false;
27760 
27761  if (!(x.subGate () == y.subGate ()))
27762  return false;
27763 
27764  if (!(x.instances () == y.instances ()))
27765  return false;
27766 
27767  return true;
27768  }
27769 
27770  bool
27771  operator!= (const GateFractional& x, const GateFractional& y)
27772  {
27773  return !(x == y);
27774  }
27775 
27776  // GateFractionalSubgate
27777  //
27778 
27780  GateFractionalSubgate (const id_type& id,
27781  const steadyState_type& steadyState,
27782  const timeCourse_type& timeCourse,
27783  const fractionalConductance_type& fractionalConductance)
27784  : ::neuroml2::Base (id),
27785  notes_ (this),
27786  q10Settings_ (this),
27787  steadyState_ (steadyState, this),
27788  timeCourse_ (timeCourse, this),
27789  fractionalConductance_ (fractionalConductance, this)
27790  {
27791  }
27792 
27794  GateFractionalSubgate (const id_type& id,
27795  ::std::unique_ptr< steadyState_type > steadyState,
27796  ::std::unique_ptr< timeCourse_type > timeCourse,
27797  const fractionalConductance_type& fractionalConductance)
27798  : ::neuroml2::Base (id),
27799  notes_ (this),
27800  q10Settings_ (this),
27801  steadyState_ (std::move (steadyState), this),
27802  timeCourse_ (std::move (timeCourse), this),
27803  fractionalConductance_ (fractionalConductance, this)
27804  {
27805  }
27806 
27809  ::xml_schema::flags f,
27810  ::xml_schema::container* c)
27811  : ::neuroml2::Base (x, f, c),
27812  notes_ (x.notes_, f, this),
27813  q10Settings_ (x.q10Settings_, f, this),
27814  steadyState_ (x.steadyState_, f, this),
27815  timeCourse_ (x.timeCourse_, f, this),
27816  fractionalConductance_ (x.fractionalConductance_, f, this)
27817  {
27818  }
27819 
27821  GateFractionalSubgate (const ::xercesc::DOMElement& e,
27822  ::xml_schema::flags f,
27823  ::xml_schema::container* c)
27824  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
27825  notes_ (this),
27826  q10Settings_ (this),
27827  steadyState_ (this),
27828  timeCourse_ (this),
27829  fractionalConductance_ (this)
27830  {
27831  if ((f & ::xml_schema::flags::base) == 0)
27832  {
27833  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
27834  this->parse (p, f);
27835  }
27836  }
27837 
27838  void GateFractionalSubgate::
27839  parse (::xsd::cxx::xml::dom::parser< char >& p,
27840  ::xml_schema::flags f)
27841  {
27842  this->::neuroml2::Base::parse (p, f);
27843 
27844  for (; p.more_content (); p.next_content (false))
27845  {
27846  const ::xercesc::DOMElement& i (p.cur_element ());
27847  const ::xsd::cxx::xml::qualified_name< char > n (
27848  ::xsd::cxx::xml::dom::name< char > (i));
27849 
27850  // notes
27851  //
27852  if (n.name () == "notes" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
27853  {
27854  ::std::unique_ptr< notes_type > r (
27855  notes_traits::create (i, f, this));
27856 
27857  if (!this->notes_)
27858  {
27859  this->notes_.set (::std::move (r));
27860  continue;
27861  }
27862  }
27863 
27864  // q10Settings
27865  //
27866  if (n.name () == "q10Settings" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
27867  {
27868  ::std::unique_ptr< q10Settings_type > r (
27869  q10Settings_traits::create (i, f, this));
27870 
27871  if (!this->q10Settings_)
27872  {
27873  this->q10Settings_.set (::std::move (r));
27874  continue;
27875  }
27876  }
27877 
27878  // steadyState
27879  //
27880  if (n.name () == "steadyState" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
27881  {
27882  ::std::unique_ptr< steadyState_type > r (
27883  steadyState_traits::create (i, f, this));
27884 
27885  if (!steadyState_.present ())
27886  {
27887  this->steadyState_.set (::std::move (r));
27888  continue;
27889  }
27890  }
27891 
27892  // timeCourse
27893  //
27894  if (n.name () == "timeCourse" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
27895  {
27896  ::std::unique_ptr< timeCourse_type > r (
27897  timeCourse_traits::create (i, f, this));
27898 
27899  if (!timeCourse_.present ())
27900  {
27901  this->timeCourse_.set (::std::move (r));
27902  continue;
27903  }
27904  }
27905 
27906  break;
27907  }
27908 
27909  if (!steadyState_.present ())
27910  {
27911  throw ::xsd::cxx::tree::expected_element< char > (
27912  "steadyState",
27913  "http://www.neuroml.org/schema/neuroml2");
27914  }
27915 
27916  if (!timeCourse_.present ())
27917  {
27918  throw ::xsd::cxx::tree::expected_element< char > (
27919  "timeCourse",
27920  "http://www.neuroml.org/schema/neuroml2");
27921  }
27922 
27923  p.reset_attributes ();
27924 
27925  while (p.more_attributes ())
27926  {
27927  const ::xercesc::DOMAttr& i (p.next_attribute ());
27928  const ::xsd::cxx::xml::qualified_name< char > n (
27929  ::xsd::cxx::xml::dom::name< char > (i));
27930 
27931  if (n.name () == "fractionalConductance" && n.namespace_ ().empty ())
27932  {
27933  this->fractionalConductance_.set (fractionalConductance_traits::create (i, f, this));
27934  continue;
27935  }
27936  }
27937 
27938  if (!fractionalConductance_.present ())
27939  {
27940  throw ::xsd::cxx::tree::expected_attribute< char > (
27941  "fractionalConductance",
27942  "");
27943  }
27944  }
27945 
27948  ::xml_schema::container* c) const
27949  {
27950  return new class GateFractionalSubgate (*this, f, c);
27951  }
27952 
27955  {
27956  if (this != &x)
27957  {
27958  static_cast< ::neuroml2::Base& > (*this) = x;
27959  this->notes_ = x.notes_;
27960  this->q10Settings_ = x.q10Settings_;
27961  this->steadyState_ = x.steadyState_;
27962  this->timeCourse_ = x.timeCourse_;
27963  this->fractionalConductance_ = x.fractionalConductance_;
27964  }
27965 
27966  return *this;
27967  }
27968 
27971  {
27972  }
27973 
27974  bool
27975  operator== (const GateFractionalSubgate& x, const GateFractionalSubgate& y)
27976  {
27977  if (!(static_cast< const ::neuroml2::Base& > (x) ==
27978  static_cast< const ::neuroml2::Base& > (y)))
27979  return false;
27980 
27981  if (!(x.notes () == y.notes ()))
27982  return false;
27983 
27984  if (!(x.q10Settings () == y.q10Settings ()))
27985  return false;
27986 
27987  if (!(x.steadyState () == y.steadyState ()))
27988  return false;
27989 
27990  if (!(x.timeCourse () == y.timeCourse ()))
27991  return false;
27992 
27993  if (!(x.fractionalConductance () == y.fractionalConductance ()))
27994  return false;
27995 
27996  return true;
27997  }
27998 
27999  bool
28000  operator!= (const GateFractionalSubgate& x, const GateFractionalSubgate& y)
28001  {
28002  return !(x == y);
28003  }
28004 
28005  // Q10Settings
28006  //
28007 
28009  Q10Settings (const type_type& type)
28010  : ::xml_schema::type (),
28011  type_ (type, this),
28012  fixedQ10_ (this),
28013  q10Factor_ (this),
28014  experimentalTemp_ (this)
28015  {
28016  }
28017 
28019  Q10Settings (const Q10Settings& x,
28020  ::xml_schema::flags f,
28021  ::xml_schema::container* c)
28022  : ::xml_schema::type (x, f, c),
28023  type_ (x.type_, f, this),
28024  fixedQ10_ (x.fixedQ10_, f, this),
28025  q10Factor_ (x.q10Factor_, f, this),
28026  experimentalTemp_ (x.experimentalTemp_, f, this)
28027  {
28028  }
28029 
28031  Q10Settings (const ::xercesc::DOMElement& e,
28032  ::xml_schema::flags f,
28033  ::xml_schema::container* c)
28034  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
28035  type_ (this),
28036  fixedQ10_ (this),
28037  q10Factor_ (this),
28038  experimentalTemp_ (this)
28039  {
28040  if ((f & ::xml_schema::flags::base) == 0)
28041  {
28042  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
28043  this->parse (p, f);
28044  }
28045  }
28046 
28047  void Q10Settings::
28048  parse (::xsd::cxx::xml::dom::parser< char >& p,
28049  ::xml_schema::flags f)
28050  {
28051  while (p.more_attributes ())
28052  {
28053  const ::xercesc::DOMAttr& i (p.next_attribute ());
28054  const ::xsd::cxx::xml::qualified_name< char > n (
28055  ::xsd::cxx::xml::dom::name< char > (i));
28056 
28057  if (n.name () == "type" && n.namespace_ ().empty ())
28058  {
28059  this->type_.set (type_traits::create (i, f, this));
28060  continue;
28061  }
28062 
28063  if (n.name () == "fixedQ10" && n.namespace_ ().empty ())
28064  {
28065  this->fixedQ10_.set (fixedQ10_traits::create (i, f, this));
28066  continue;
28067  }
28068 
28069  if (n.name () == "q10Factor" && n.namespace_ ().empty ())
28070  {
28071  this->q10Factor_.set (q10Factor_traits::create (i, f, this));
28072  continue;
28073  }
28074 
28075  if (n.name () == "experimentalTemp" && n.namespace_ ().empty ())
28076  {
28077  this->experimentalTemp_.set (experimentalTemp_traits::create (i, f, this));
28078  continue;
28079  }
28080  }
28081 
28082  if (!type_.present ())
28083  {
28084  throw ::xsd::cxx::tree::expected_attribute< char > (
28085  "type",
28086  "");
28087  }
28088  }
28089 
28092  ::xml_schema::container* c) const
28093  {
28094  return new class Q10Settings (*this, f, c);
28095  }
28096 
28098  operator= (const Q10Settings& x)
28099  {
28100  if (this != &x)
28101  {
28102  static_cast< ::xml_schema::type& > (*this) = x;
28103  this->type_ = x.type_;
28104  this->fixedQ10_ = x.fixedQ10_;
28105  this->q10Factor_ = x.q10Factor_;
28106  this->experimentalTemp_ = x.experimentalTemp_;
28107  }
28108 
28109  return *this;
28110  }
28111 
28113  ~Q10Settings ()
28114  {
28115  }
28116 
28117  bool
28118  operator== (const Q10Settings& x, const Q10Settings& y)
28119  {
28120  if (!(x.type () == y.type ()))
28121  return false;
28122 
28123  if (!(x.fixedQ10 () == y.fixedQ10 ()))
28124  return false;
28125 
28126  if (!(x.q10Factor () == y.q10Factor ()))
28127  return false;
28128 
28129  if (!(x.experimentalTemp () == y.experimentalTemp ()))
28130  return false;
28131 
28132  return true;
28133  }
28134 
28135  bool
28136  operator!= (const Q10Settings& x, const Q10Settings& y)
28137  {
28138  return !(x == y);
28139  }
28140 
28141  // HHRate
28142  //
28143 
28145  HHRate (const type_type& type)
28146  : ::neuroml2::BaseWithoutId (),
28147  type_ (type, this),
28148  rate_ (this),
28149  midpoint_ (this),
28150  scale_ (this)
28151  {
28152  }
28153 
28155  HHRate (const HHRate& x,
28156  ::xml_schema::flags f,
28157  ::xml_schema::container* c)
28158  : ::neuroml2::BaseWithoutId (x, f, c),
28159  type_ (x.type_, f, this),
28160  rate_ (x.rate_, f, this),
28161  midpoint_ (x.midpoint_, f, this),
28162  scale_ (x.scale_, f, this)
28163  {
28164  }
28165 
28167  HHRate (const ::xercesc::DOMElement& e,
28168  ::xml_schema::flags f,
28169  ::xml_schema::container* c)
28170  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
28171  type_ (this),
28172  rate_ (this),
28173  midpoint_ (this),
28174  scale_ (this)
28175  {
28176  if ((f & ::xml_schema::flags::base) == 0)
28177  {
28178  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
28179  this->parse (p, f);
28180  }
28181  }
28182 
28183  void HHRate::
28184  parse (::xsd::cxx::xml::dom::parser< char >& p,
28185  ::xml_schema::flags f)
28186  {
28187  while (p.more_attributes ())
28188  {
28189  const ::xercesc::DOMAttr& i (p.next_attribute ());
28190  const ::xsd::cxx::xml::qualified_name< char > n (
28191  ::xsd::cxx::xml::dom::name< char > (i));
28192 
28193  if (n.name () == "type" && n.namespace_ ().empty ())
28194  {
28195  this->type_.set (type_traits::create (i, f, this));
28196  continue;
28197  }
28198 
28199  if (n.name () == "rate" && n.namespace_ ().empty ())
28200  {
28201  this->rate_.set (rate_traits::create (i, f, this));
28202  continue;
28203  }
28204 
28205  if (n.name () == "midpoint" && n.namespace_ ().empty ())
28206  {
28207  this->midpoint_.set (midpoint_traits::create (i, f, this));
28208  continue;
28209  }
28210 
28211  if (n.name () == "scale" && n.namespace_ ().empty ())
28212  {
28213  this->scale_.set (scale_traits::create (i, f, this));
28214  continue;
28215  }
28216  }
28217 
28218  if (!type_.present ())
28219  {
28220  throw ::xsd::cxx::tree::expected_attribute< char > (
28221  "type",
28222  "");
28223  }
28224  }
28225 
28228  ::xml_schema::container* c) const
28229  {
28230  return new class HHRate (*this, f, c);
28231  }
28232 
28234  operator= (const HHRate& x)
28235  {
28236  if (this != &x)
28237  {
28238  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
28239  this->type_ = x.type_;
28240  this->rate_ = x.rate_;
28241  this->midpoint_ = x.midpoint_;
28242  this->scale_ = x.scale_;
28243  }
28244 
28245  return *this;
28246  }
28247 
28249  ~HHRate ()
28250  {
28251  }
28252 
28253  bool
28254  operator== (const HHRate& x, const HHRate& y)
28255  {
28256  if (!(x.type () == y.type ()))
28257  return false;
28258 
28259  if (!(x.rate () == y.rate ()))
28260  return false;
28261 
28262  if (!(x.midpoint () == y.midpoint ()))
28263  return false;
28264 
28265  if (!(x.scale () == y.scale ()))
28266  return false;
28267 
28268  return true;
28269  }
28270 
28271  bool
28272  operator!= (const HHRate& x, const HHRate& y)
28273  {
28274  return !(x == y);
28275  }
28276 
28277  // HHVariable
28278  //
28279 
28281  HHVariable (const type_type& type)
28282  : ::neuroml2::BaseWithoutId (),
28283  type_ (type, this),
28284  rate_ (this),
28285  midpoint_ (this),
28286  scale_ (this)
28287  {
28288  }
28289 
28291  HHVariable (const HHVariable& x,
28292  ::xml_schema::flags f,
28293  ::xml_schema::container* c)
28294  : ::neuroml2::BaseWithoutId (x, f, c),
28295  type_ (x.type_, f, this),
28296  rate_ (x.rate_, f, this),
28297  midpoint_ (x.midpoint_, f, this),
28298  scale_ (x.scale_, f, this)
28299  {
28300  }
28301 
28303  HHVariable (const ::xercesc::DOMElement& e,
28304  ::xml_schema::flags f,
28305  ::xml_schema::container* c)
28306  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
28307  type_ (this),
28308  rate_ (this),
28309  midpoint_ (this),
28310  scale_ (this)
28311  {
28312  if ((f & ::xml_schema::flags::base) == 0)
28313  {
28314  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
28315  this->parse (p, f);
28316  }
28317  }
28318 
28319  void HHVariable::
28320  parse (::xsd::cxx::xml::dom::parser< char >& p,
28321  ::xml_schema::flags f)
28322  {
28323  while (p.more_attributes ())
28324  {
28325  const ::xercesc::DOMAttr& i (p.next_attribute ());
28326  const ::xsd::cxx::xml::qualified_name< char > n (
28327  ::xsd::cxx::xml::dom::name< char > (i));
28328 
28329  if (n.name () == "type" && n.namespace_ ().empty ())
28330  {
28331  this->type_.set (type_traits::create (i, f, this));
28332  continue;
28333  }
28334 
28335  if (n.name () == "rate" && n.namespace_ ().empty ())
28336  {
28337  this->rate_.set (rate_traits::create (i, f, this));
28338  continue;
28339  }
28340 
28341  if (n.name () == "midpoint" && n.namespace_ ().empty ())
28342  {
28343  this->midpoint_.set (midpoint_traits::create (i, f, this));
28344  continue;
28345  }
28346 
28347  if (n.name () == "scale" && n.namespace_ ().empty ())
28348  {
28349  this->scale_.set (scale_traits::create (i, f, this));
28350  continue;
28351  }
28352  }
28353 
28354  if (!type_.present ())
28355  {
28356  throw ::xsd::cxx::tree::expected_attribute< char > (
28357  "type",
28358  "");
28359  }
28360  }
28361 
28364  ::xml_schema::container* c) const
28365  {
28366  return new class HHVariable (*this, f, c);
28367  }
28368 
28370  operator= (const HHVariable& x)
28371  {
28372  if (this != &x)
28373  {
28374  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
28375  this->type_ = x.type_;
28376  this->rate_ = x.rate_;
28377  this->midpoint_ = x.midpoint_;
28378  this->scale_ = x.scale_;
28379  }
28380 
28381  return *this;
28382  }
28383 
28385  ~HHVariable ()
28386  {
28387  }
28388 
28389  bool
28390  operator== (const HHVariable& x, const HHVariable& y)
28391  {
28392  if (!(x.type () == y.type ()))
28393  return false;
28394 
28395  if (!(x.rate () == y.rate ()))
28396  return false;
28397 
28398  if (!(x.midpoint () == y.midpoint ()))
28399  return false;
28400 
28401  if (!(x.scale () == y.scale ()))
28402  return false;
28403 
28404  return true;
28405  }
28406 
28407  bool
28408  operator!= (const HHVariable& x, const HHVariable& y)
28409  {
28410  return !(x == y);
28411  }
28412 
28413  // HHTime
28414  //
28415 
28417  HHTime (const type_type& type)
28418  : ::neuroml2::BaseWithoutId (),
28419  type_ (type, this),
28420  rate_ (this),
28421  midpoint_ (this),
28422  scale_ (this),
28423  tau_ (this)
28424  {
28425  }
28426 
28428  HHTime (const HHTime& x,
28429  ::xml_schema::flags f,
28430  ::xml_schema::container* c)
28431  : ::neuroml2::BaseWithoutId (x, f, c),
28432  type_ (x.type_, f, this),
28433  rate_ (x.rate_, f, this),
28434  midpoint_ (x.midpoint_, f, this),
28435  scale_ (x.scale_, f, this),
28436  tau_ (x.tau_, f, this)
28437  {
28438  }
28439 
28441  HHTime (const ::xercesc::DOMElement& e,
28442  ::xml_schema::flags f,
28443  ::xml_schema::container* c)
28444  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
28445  type_ (this),
28446  rate_ (this),
28447  midpoint_ (this),
28448  scale_ (this),
28449  tau_ (this)
28450  {
28451  if ((f & ::xml_schema::flags::base) == 0)
28452  {
28453  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
28454  this->parse (p, f);
28455  }
28456  }
28457 
28458  void HHTime::
28459  parse (::xsd::cxx::xml::dom::parser< char >& p,
28460  ::xml_schema::flags f)
28461  {
28462  while (p.more_attributes ())
28463  {
28464  const ::xercesc::DOMAttr& i (p.next_attribute ());
28465  const ::xsd::cxx::xml::qualified_name< char > n (
28466  ::xsd::cxx::xml::dom::name< char > (i));
28467 
28468  if (n.name () == "type" && n.namespace_ ().empty ())
28469  {
28470  this->type_.set (type_traits::create (i, f, this));
28471  continue;
28472  }
28473 
28474  if (n.name () == "rate" && n.namespace_ ().empty ())
28475  {
28476  this->rate_.set (rate_traits::create (i, f, this));
28477  continue;
28478  }
28479 
28480  if (n.name () == "midpoint" && n.namespace_ ().empty ())
28481  {
28482  this->midpoint_.set (midpoint_traits::create (i, f, this));
28483  continue;
28484  }
28485 
28486  if (n.name () == "scale" && n.namespace_ ().empty ())
28487  {
28488  this->scale_.set (scale_traits::create (i, f, this));
28489  continue;
28490  }
28491 
28492  if (n.name () == "tau" && n.namespace_ ().empty ())
28493  {
28494  this->tau_.set (tau_traits::create (i, f, this));
28495  continue;
28496  }
28497  }
28498 
28499  if (!type_.present ())
28500  {
28501  throw ::xsd::cxx::tree::expected_attribute< char > (
28502  "type",
28503  "");
28504  }
28505  }
28506 
28509  ::xml_schema::container* c) const
28510  {
28511  return new class HHTime (*this, f, c);
28512  }
28513 
28515  operator= (const HHTime& x)
28516  {
28517  if (this != &x)
28518  {
28519  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
28520  this->type_ = x.type_;
28521  this->rate_ = x.rate_;
28522  this->midpoint_ = x.midpoint_;
28523  this->scale_ = x.scale_;
28524  this->tau_ = x.tau_;
28525  }
28526 
28527  return *this;
28528  }
28529 
28531  ~HHTime ()
28532  {
28533  }
28534 
28535  bool
28536  operator== (const HHTime& x, const HHTime& y)
28537  {
28538  if (!(x.type () == y.type ()))
28539  return false;
28540 
28541  if (!(x.rate () == y.rate ()))
28542  return false;
28543 
28544  if (!(x.midpoint () == y.midpoint ()))
28545  return false;
28546 
28547  if (!(x.scale () == y.scale ()))
28548  return false;
28549 
28550  if (!(x.tau () == y.tau ()))
28551  return false;
28552 
28553  return true;
28554  }
28555 
28556  bool
28557  operator!= (const HHTime& x, const HHTime& y)
28558  {
28559  return !(x == y);
28560  }
28561 
28562  // DecayingPoolConcentrationModel
28563  //
28564 
28567  const ion_type& ion,
28568  const restingConc_type& restingConc,
28569  const decayConstant_type& decayConstant,
28570  const shellThickness_type& shellThickness)
28571  : ::neuroml2::Standalone (id),
28572  ion_ (ion, this),
28573  restingConc_ (restingConc, this),
28574  decayConstant_ (decayConstant, this),
28575  shellThickness_ (shellThickness, this)
28576  {
28577  }
28578 
28581  ::xml_schema::flags f,
28582  ::xml_schema::container* c)
28583  : ::neuroml2::Standalone (x, f, c),
28584  ion_ (x.ion_, f, this),
28585  restingConc_ (x.restingConc_, f, this),
28586  decayConstant_ (x.decayConstant_, f, this),
28587  shellThickness_ (x.shellThickness_, f, this)
28588  {
28589  }
28590 
28592  DecayingPoolConcentrationModel (const ::xercesc::DOMElement& e,
28593  ::xml_schema::flags f,
28594  ::xml_schema::container* c)
28595  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
28596  ion_ (this),
28597  restingConc_ (this),
28598  decayConstant_ (this),
28599  shellThickness_ (this)
28600  {
28601  if ((f & ::xml_schema::flags::base) == 0)
28602  {
28603  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
28604  this->parse (p, f);
28605  }
28606  }
28607 
28608  void DecayingPoolConcentrationModel::
28609  parse (::xsd::cxx::xml::dom::parser< char >& p,
28610  ::xml_schema::flags f)
28611  {
28612  this->::neuroml2::Standalone::parse (p, f);
28613 
28614  p.reset_attributes ();
28615 
28616  while (p.more_attributes ())
28617  {
28618  const ::xercesc::DOMAttr& i (p.next_attribute ());
28619  const ::xsd::cxx::xml::qualified_name< char > n (
28620  ::xsd::cxx::xml::dom::name< char > (i));
28621 
28622  if (n.name () == "ion" && n.namespace_ ().empty ())
28623  {
28624  this->ion_.set (ion_traits::create (i, f, this));
28625  continue;
28626  }
28627 
28628  if (n.name () == "restingConc" && n.namespace_ ().empty ())
28629  {
28630  this->restingConc_.set (restingConc_traits::create (i, f, this));
28631  continue;
28632  }
28633 
28634  if (n.name () == "decayConstant" && n.namespace_ ().empty ())
28635  {
28636  this->decayConstant_.set (decayConstant_traits::create (i, f, this));
28637  continue;
28638  }
28639 
28640  if (n.name () == "shellThickness" && n.namespace_ ().empty ())
28641  {
28642  this->shellThickness_.set (shellThickness_traits::create (i, f, this));
28643  continue;
28644  }
28645  }
28646 
28647  if (!ion_.present ())
28648  {
28649  throw ::xsd::cxx::tree::expected_attribute< char > (
28650  "ion",
28651  "");
28652  }
28653 
28654  if (!restingConc_.present ())
28655  {
28656  throw ::xsd::cxx::tree::expected_attribute< char > (
28657  "restingConc",
28658  "");
28659  }
28660 
28661  if (!decayConstant_.present ())
28662  {
28663  throw ::xsd::cxx::tree::expected_attribute< char > (
28664  "decayConstant",
28665  "");
28666  }
28667 
28668  if (!shellThickness_.present ())
28669  {
28670  throw ::xsd::cxx::tree::expected_attribute< char > (
28671  "shellThickness",
28672  "");
28673  }
28674  }
28675 
28678  ::xml_schema::container* c) const
28679  {
28680  return new class DecayingPoolConcentrationModel (*this, f, c);
28681  }
28682 
28685  {
28686  if (this != &x)
28687  {
28688  static_cast< ::neuroml2::Standalone& > (*this) = x;
28689  this->ion_ = x.ion_;
28690  this->restingConc_ = x.restingConc_;
28691  this->decayConstant_ = x.decayConstant_;
28692  this->shellThickness_ = x.shellThickness_;
28693  }
28694 
28695  return *this;
28696  }
28697 
28700  {
28701  }
28702 
28703  bool
28704  operator== (const DecayingPoolConcentrationModel& x, const DecayingPoolConcentrationModel& y)
28705  {
28706  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
28707  static_cast< const ::neuroml2::Standalone& > (y)))
28708  return false;
28709 
28710  if (!(x.ion () == y.ion ()))
28711  return false;
28712 
28713  if (!(x.restingConc () == y.restingConc ()))
28714  return false;
28715 
28716  if (!(x.decayConstant () == y.decayConstant ()))
28717  return false;
28718 
28719  if (!(x.shellThickness () == y.shellThickness ()))
28720  return false;
28721 
28722  return true;
28723  }
28724 
28725  bool
28726  operator!= (const DecayingPoolConcentrationModel& x, const DecayingPoolConcentrationModel& y)
28727  {
28728  return !(x == y);
28729  }
28730 
28731  // FixedFactorConcentrationModel
28732  //
28733 
28736  const ion_type& ion,
28737  const restingConc_type& restingConc,
28738  const decayConstant_type& decayConstant,
28739  const rho_type& rho)
28740  : ::neuroml2::Standalone (id),
28741  ion_ (ion, this),
28742  restingConc_ (restingConc, this),
28743  decayConstant_ (decayConstant, this),
28744  rho_ (rho, this)
28745  {
28746  }
28747 
28750  ::xml_schema::flags f,
28751  ::xml_schema::container* c)
28752  : ::neuroml2::Standalone (x, f, c),
28753  ion_ (x.ion_, f, this),
28754  restingConc_ (x.restingConc_, f, this),
28755  decayConstant_ (x.decayConstant_, f, this),
28756  rho_ (x.rho_, f, this)
28757  {
28758  }
28759 
28761  FixedFactorConcentrationModel (const ::xercesc::DOMElement& e,
28762  ::xml_schema::flags f,
28763  ::xml_schema::container* c)
28764  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
28765  ion_ (this),
28766  restingConc_ (this),
28767  decayConstant_ (this),
28768  rho_ (this)
28769  {
28770  if ((f & ::xml_schema::flags::base) == 0)
28771  {
28772  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
28773  this->parse (p, f);
28774  }
28775  }
28776 
28777  void FixedFactorConcentrationModel::
28778  parse (::xsd::cxx::xml::dom::parser< char >& p,
28779  ::xml_schema::flags f)
28780  {
28781  this->::neuroml2::Standalone::parse (p, f);
28782 
28783  p.reset_attributes ();
28784 
28785  while (p.more_attributes ())
28786  {
28787  const ::xercesc::DOMAttr& i (p.next_attribute ());
28788  const ::xsd::cxx::xml::qualified_name< char > n (
28789  ::xsd::cxx::xml::dom::name< char > (i));
28790 
28791  if (n.name () == "ion" && n.namespace_ ().empty ())
28792  {
28793  this->ion_.set (ion_traits::create (i, f, this));
28794  continue;
28795  }
28796 
28797  if (n.name () == "restingConc" && n.namespace_ ().empty ())
28798  {
28799  this->restingConc_.set (restingConc_traits::create (i, f, this));
28800  continue;
28801  }
28802 
28803  if (n.name () == "decayConstant" && n.namespace_ ().empty ())
28804  {
28805  this->decayConstant_.set (decayConstant_traits::create (i, f, this));
28806  continue;
28807  }
28808 
28809  if (n.name () == "rho" && n.namespace_ ().empty ())
28810  {
28811  this->rho_.set (rho_traits::create (i, f, this));
28812  continue;
28813  }
28814  }
28815 
28816  if (!ion_.present ())
28817  {
28818  throw ::xsd::cxx::tree::expected_attribute< char > (
28819  "ion",
28820  "");
28821  }
28822 
28823  if (!restingConc_.present ())
28824  {
28825  throw ::xsd::cxx::tree::expected_attribute< char > (
28826  "restingConc",
28827  "");
28828  }
28829 
28830  if (!decayConstant_.present ())
28831  {
28832  throw ::xsd::cxx::tree::expected_attribute< char > (
28833  "decayConstant",
28834  "");
28835  }
28836 
28837  if (!rho_.present ())
28838  {
28839  throw ::xsd::cxx::tree::expected_attribute< char > (
28840  "rho",
28841  "");
28842  }
28843  }
28844 
28847  ::xml_schema::container* c) const
28848  {
28849  return new class FixedFactorConcentrationModel (*this, f, c);
28850  }
28851 
28854  {
28855  if (this != &x)
28856  {
28857  static_cast< ::neuroml2::Standalone& > (*this) = x;
28858  this->ion_ = x.ion_;
28859  this->restingConc_ = x.restingConc_;
28860  this->decayConstant_ = x.decayConstant_;
28861  this->rho_ = x.rho_;
28862  }
28863 
28864  return *this;
28865  }
28866 
28869  {
28870  }
28871 
28872  bool
28873  operator== (const FixedFactorConcentrationModel& x, const FixedFactorConcentrationModel& y)
28874  {
28875  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
28876  static_cast< const ::neuroml2::Standalone& > (y)))
28877  return false;
28878 
28879  if (!(x.ion () == y.ion ()))
28880  return false;
28881 
28882  if (!(x.restingConc () == y.restingConc ()))
28883  return false;
28884 
28885  if (!(x.decayConstant () == y.decayConstant ()))
28886  return false;
28887 
28888  if (!(x.rho () == y.rho ()))
28889  return false;
28890 
28891  return true;
28892  }
28893 
28894  bool
28895  operator!= (const FixedFactorConcentrationModel& x, const FixedFactorConcentrationModel& y)
28896  {
28897  return !(x == y);
28898  }
28899 
28900  // BaseSynapse
28901  //
28902 
28904  BaseSynapse (const id_type& id)
28905  : ::neuroml2::Standalone (id),
28906  neuroLexId_ (this)
28907  {
28908  }
28909 
28911  BaseSynapse (const BaseSynapse& x,
28912  ::xml_schema::flags f,
28913  ::xml_schema::container* c)
28914  : ::neuroml2::Standalone (x, f, c),
28915  neuroLexId_ (x.neuroLexId_, f, this)
28916  {
28917  }
28918 
28920  BaseSynapse (const ::xercesc::DOMElement& e,
28921  ::xml_schema::flags f,
28922  ::xml_schema::container* c)
28923  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
28924  neuroLexId_ (this)
28925  {
28926  if ((f & ::xml_schema::flags::base) == 0)
28927  {
28928  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
28929  this->parse (p, f);
28930  }
28931  }
28932 
28933  void BaseSynapse::
28934  parse (::xsd::cxx::xml::dom::parser< char >& p,
28935  ::xml_schema::flags f)
28936  {
28937  this->::neuroml2::Standalone::parse (p, f);
28938 
28939  p.reset_attributes ();
28940 
28941  while (p.more_attributes ())
28942  {
28943  const ::xercesc::DOMAttr& i (p.next_attribute ());
28944  const ::xsd::cxx::xml::qualified_name< char > n (
28945  ::xsd::cxx::xml::dom::name< char > (i));
28946 
28947  if (n.name () == "neuroLexId" && n.namespace_ ().empty ())
28948  {
28949  this->neuroLexId_.set (neuroLexId_traits::create (i, f, this));
28950  continue;
28951  }
28952  }
28953  }
28954 
28957  ::xml_schema::container* c) const
28958  {
28959  return new class BaseSynapse (*this, f, c);
28960  }
28961 
28963  operator= (const BaseSynapse& x)
28964  {
28965  if (this != &x)
28966  {
28967  static_cast< ::neuroml2::Standalone& > (*this) = x;
28968  this->neuroLexId_ = x.neuroLexId_;
28969  }
28970 
28971  return *this;
28972  }
28973 
28975  ~BaseSynapse ()
28976  {
28977  }
28978 
28979  bool
28980  operator== (const BaseSynapse& x, const BaseSynapse& y)
28981  {
28982  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
28983  static_cast< const ::neuroml2::Standalone& > (y)))
28984  return false;
28985 
28986  if (!(x.neuroLexId () == y.neuroLexId ()))
28987  return false;
28988 
28989  return true;
28990  }
28991 
28992  bool
28993  operator!= (const BaseSynapse& x, const BaseSynapse& y)
28994  {
28995  return !(x == y);
28996  }
28997 
28998  // BaseVoltageDepSynapse
28999  //
29000 
29002  BaseVoltageDepSynapse (const id_type& id)
29003  : ::neuroml2::BaseSynapse (id)
29004  {
29005  }
29006 
29009  ::xml_schema::flags f,
29010  ::xml_schema::container* c)
29011  : ::neuroml2::BaseSynapse (x, f, c)
29012  {
29013  }
29014 
29016  BaseVoltageDepSynapse (const ::xercesc::DOMElement& e,
29017  ::xml_schema::flags f,
29018  ::xml_schema::container* c)
29019  : ::neuroml2::BaseSynapse (e, f, c)
29020  {
29021  }
29022 
29025  ::xml_schema::container* c) const
29026  {
29027  return new class BaseVoltageDepSynapse (*this, f, c);
29028  }
29029 
29032  {
29033  }
29034 
29035  // BaseCurrentBasedSynapse
29036  //
29037 
29040  : ::neuroml2::BaseSynapse (id)
29041  {
29042  }
29043 
29046  ::xml_schema::flags f,
29047  ::xml_schema::container* c)
29048  : ::neuroml2::BaseSynapse (x, f, c)
29049  {
29050  }
29051 
29053  BaseCurrentBasedSynapse (const ::xercesc::DOMElement& e,
29054  ::xml_schema::flags f,
29055  ::xml_schema::container* c)
29056  : ::neuroml2::BaseSynapse (e, f, c)
29057  {
29058  }
29059 
29062  ::xml_schema::container* c) const
29063  {
29064  return new class BaseCurrentBasedSynapse (*this, f, c);
29065  }
29066 
29069  {
29070  }
29071 
29072  // BaseConductanceBasedSynapse
29073  //
29074 
29077  const gbase_type& gbase,
29078  const erev_type& erev)
29080  gbase_ (gbase, this),
29081  erev_ (erev, this)
29082  {
29083  }
29084 
29087  ::xml_schema::flags f,
29088  ::xml_schema::container* c)
29089  : ::neuroml2::BaseVoltageDepSynapse (x, f, c),
29090  gbase_ (x.gbase_, f, this),
29091  erev_ (x.erev_, f, this)
29092  {
29093  }
29094 
29096  BaseConductanceBasedSynapse (const ::xercesc::DOMElement& e,
29097  ::xml_schema::flags f,
29098  ::xml_schema::container* c)
29099  : ::neuroml2::BaseVoltageDepSynapse (e, f | ::xml_schema::flags::base, c),
29100  gbase_ (this),
29101  erev_ (this)
29102  {
29103  if ((f & ::xml_schema::flags::base) == 0)
29104  {
29105  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
29106  this->parse (p, f);
29107  }
29108  }
29109 
29110  void BaseConductanceBasedSynapse::
29111  parse (::xsd::cxx::xml::dom::parser< char >& p,
29112  ::xml_schema::flags f)
29113  {
29114  this->::neuroml2::BaseVoltageDepSynapse::parse (p, f);
29115 
29116  p.reset_attributes ();
29117 
29118  while (p.more_attributes ())
29119  {
29120  const ::xercesc::DOMAttr& i (p.next_attribute ());
29121  const ::xsd::cxx::xml::qualified_name< char > n (
29122  ::xsd::cxx::xml::dom::name< char > (i));
29123 
29124  if (n.name () == "gbase" && n.namespace_ ().empty ())
29125  {
29126  this->gbase_.set (gbase_traits::create (i, f, this));
29127  continue;
29128  }
29129 
29130  if (n.name () == "erev" && n.namespace_ ().empty ())
29131  {
29132  this->erev_.set (erev_traits::create (i, f, this));
29133  continue;
29134  }
29135  }
29136 
29137  if (!gbase_.present ())
29138  {
29139  throw ::xsd::cxx::tree::expected_attribute< char > (
29140  "gbase",
29141  "");
29142  }
29143 
29144  if (!erev_.present ())
29145  {
29146  throw ::xsd::cxx::tree::expected_attribute< char > (
29147  "erev",
29148  "");
29149  }
29150  }
29151 
29154  ::xml_schema::container* c) const
29155  {
29156  return new class BaseConductanceBasedSynapse (*this, f, c);
29157  }
29158 
29161  {
29162  if (this != &x)
29163  {
29164  static_cast< ::neuroml2::BaseVoltageDepSynapse& > (*this) = x;
29165  this->gbase_ = x.gbase_;
29166  this->erev_ = x.erev_;
29167  }
29168 
29169  return *this;
29170  }
29171 
29174  {
29175  }
29176 
29177  bool
29178  operator== (const BaseConductanceBasedSynapse& x, const BaseConductanceBasedSynapse& y)
29179  {
29180  if (!(static_cast< const ::neuroml2::BaseVoltageDepSynapse& > (x) ==
29181  static_cast< const ::neuroml2::BaseVoltageDepSynapse& > (y)))
29182  return false;
29183 
29184  if (!(x.gbase () == y.gbase ()))
29185  return false;
29186 
29187  if (!(x.erev () == y.erev ()))
29188  return false;
29189 
29190  return true;
29191  }
29192 
29193  bool
29194  operator!= (const BaseConductanceBasedSynapse& x, const BaseConductanceBasedSynapse& y)
29195  {
29196  return !(x == y);
29197  }
29198 
29199  // BaseConductanceBasedSynapseTwo
29200  //
29201 
29204  const gbase1_type& gbase1,
29205  const gbase2_type& gbase2,
29206  const erev_type& erev)
29208  gbase1_ (gbase1, this),
29209  gbase2_ (gbase2, this),
29210  erev_ (erev, this)
29211  {
29212  }
29213 
29216  ::xml_schema::flags f,
29217  ::xml_schema::container* c)
29218  : ::neuroml2::BaseVoltageDepSynapse (x, f, c),
29219  gbase1_ (x.gbase1_, f, this),
29220  gbase2_ (x.gbase2_, f, this),
29221  erev_ (x.erev_, f, this)
29222  {
29223  }
29224 
29226  BaseConductanceBasedSynapseTwo (const ::xercesc::DOMElement& e,
29227  ::xml_schema::flags f,
29228  ::xml_schema::container* c)
29229  : ::neuroml2::BaseVoltageDepSynapse (e, f | ::xml_schema::flags::base, c),
29230  gbase1_ (this),
29231  gbase2_ (this),
29232  erev_ (this)
29233  {
29234  if ((f & ::xml_schema::flags::base) == 0)
29235  {
29236  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
29237  this->parse (p, f);
29238  }
29239  }
29240 
29241  void BaseConductanceBasedSynapseTwo::
29242  parse (::xsd::cxx::xml::dom::parser< char >& p,
29243  ::xml_schema::flags f)
29244  {
29245  this->::neuroml2::BaseVoltageDepSynapse::parse (p, f);
29246 
29247  p.reset_attributes ();
29248 
29249  while (p.more_attributes ())
29250  {
29251  const ::xercesc::DOMAttr& i (p.next_attribute ());
29252  const ::xsd::cxx::xml::qualified_name< char > n (
29253  ::xsd::cxx::xml::dom::name< char > (i));
29254 
29255  if (n.name () == "gbase1" && n.namespace_ ().empty ())
29256  {
29257  this->gbase1_.set (gbase1_traits::create (i, f, this));
29258  continue;
29259  }
29260 
29261  if (n.name () == "gbase2" && n.namespace_ ().empty ())
29262  {
29263  this->gbase2_.set (gbase2_traits::create (i, f, this));
29264  continue;
29265  }
29266 
29267  if (n.name () == "erev" && n.namespace_ ().empty ())
29268  {
29269  this->erev_.set (erev_traits::create (i, f, this));
29270  continue;
29271  }
29272  }
29273 
29274  if (!gbase1_.present ())
29275  {
29276  throw ::xsd::cxx::tree::expected_attribute< char > (
29277  "gbase1",
29278  "");
29279  }
29280 
29281  if (!gbase2_.present ())
29282  {
29283  throw ::xsd::cxx::tree::expected_attribute< char > (
29284  "gbase2",
29285  "");
29286  }
29287 
29288  if (!erev_.present ())
29289  {
29290  throw ::xsd::cxx::tree::expected_attribute< char > (
29291  "erev",
29292  "");
29293  }
29294  }
29295 
29298  ::xml_schema::container* c) const
29299  {
29300  return new class BaseConductanceBasedSynapseTwo (*this, f, c);
29301  }
29302 
29305  {
29306  if (this != &x)
29307  {
29308  static_cast< ::neuroml2::BaseVoltageDepSynapse& > (*this) = x;
29309  this->gbase1_ = x.gbase1_;
29310  this->gbase2_ = x.gbase2_;
29311  this->erev_ = x.erev_;
29312  }
29313 
29314  return *this;
29315  }
29316 
29319  {
29320  }
29321 
29322  bool
29323  operator== (const BaseConductanceBasedSynapseTwo& x, const BaseConductanceBasedSynapseTwo& y)
29324  {
29325  if (!(static_cast< const ::neuroml2::BaseVoltageDepSynapse& > (x) ==
29326  static_cast< const ::neuroml2::BaseVoltageDepSynapse& > (y)))
29327  return false;
29328 
29329  if (!(x.gbase1 () == y.gbase1 ()))
29330  return false;
29331 
29332  if (!(x.gbase2 () == y.gbase2 ()))
29333  return false;
29334 
29335  if (!(x.erev () == y.erev ()))
29336  return false;
29337 
29338  return true;
29339  }
29340 
29341  bool
29342  operator!= (const BaseConductanceBasedSynapseTwo& x, const BaseConductanceBasedSynapseTwo& y)
29343  {
29344  return !(x == y);
29345  }
29346 
29347  // GapJunction
29348  //
29349 
29351  GapJunction (const id_type& id,
29352  const conductance_type& conductance)
29353  : ::neuroml2::BaseSynapse (id),
29354  conductance_ (conductance, this)
29355  {
29356  }
29357 
29359  GapJunction (const GapJunction& x,
29360  ::xml_schema::flags f,
29361  ::xml_schema::container* c)
29362  : ::neuroml2::BaseSynapse (x, f, c),
29363  conductance_ (x.conductance_, f, this)
29364  {
29365  }
29366 
29368  GapJunction (const ::xercesc::DOMElement& e,
29369  ::xml_schema::flags f,
29370  ::xml_schema::container* c)
29371  : ::neuroml2::BaseSynapse (e, f | ::xml_schema::flags::base, c),
29372  conductance_ (this)
29373  {
29374  if ((f & ::xml_schema::flags::base) == 0)
29375  {
29376  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
29377  this->parse (p, f);
29378  }
29379  }
29380 
29381  void GapJunction::
29382  parse (::xsd::cxx::xml::dom::parser< char >& p,
29383  ::xml_schema::flags f)
29384  {
29385  this->::neuroml2::BaseSynapse::parse (p, f);
29386 
29387  p.reset_attributes ();
29388 
29389  while (p.more_attributes ())
29390  {
29391  const ::xercesc::DOMAttr& i (p.next_attribute ());
29392  const ::xsd::cxx::xml::qualified_name< char > n (
29393  ::xsd::cxx::xml::dom::name< char > (i));
29394 
29395  if (n.name () == "conductance" && n.namespace_ ().empty ())
29396  {
29397  this->conductance_.set (conductance_traits::create (i, f, this));
29398  continue;
29399  }
29400  }
29401 
29402  if (!conductance_.present ())
29403  {
29404  throw ::xsd::cxx::tree::expected_attribute< char > (
29405  "conductance",
29406  "");
29407  }
29408  }
29409 
29412  ::xml_schema::container* c) const
29413  {
29414  return new class GapJunction (*this, f, c);
29415  }
29416 
29418  operator= (const GapJunction& x)
29419  {
29420  if (this != &x)
29421  {
29422  static_cast< ::neuroml2::BaseSynapse& > (*this) = x;
29423  this->conductance_ = x.conductance_;
29424  }
29425 
29426  return *this;
29427  }
29428 
29430  ~GapJunction ()
29431  {
29432  }
29433 
29434  bool
29435  operator== (const GapJunction& x, const GapJunction& y)
29436  {
29437  if (!(static_cast< const ::neuroml2::BaseSynapse& > (x) ==
29438  static_cast< const ::neuroml2::BaseSynapse& > (y)))
29439  return false;
29440 
29441  if (!(x.conductance () == y.conductance ()))
29442  return false;
29443 
29444  return true;
29445  }
29446 
29447  bool
29448  operator!= (const GapJunction& x, const GapJunction& y)
29449  {
29450  return !(x == y);
29451  }
29452 
29453  // SilentSynapse
29454  //
29455 
29457  SilentSynapse (const id_type& id)
29458  : ::neuroml2::BaseSynapse (id)
29459  {
29460  }
29461 
29463  SilentSynapse (const SilentSynapse& x,
29464  ::xml_schema::flags f,
29465  ::xml_schema::container* c)
29466  : ::neuroml2::BaseSynapse (x, f, c)
29467  {
29468  }
29469 
29471  SilentSynapse (const ::xercesc::DOMElement& e,
29472  ::xml_schema::flags f,
29473  ::xml_schema::container* c)
29474  : ::neuroml2::BaseSynapse (e, f, c)
29475  {
29476  }
29477 
29480  ::xml_schema::container* c) const
29481  {
29482  return new class SilentSynapse (*this, f, c);
29483  }
29484 
29486  ~SilentSynapse ()
29487  {
29488  }
29489 
29490  // LinearGradedSynapse
29491  //
29492 
29494  LinearGradedSynapse (const id_type& id,
29495  const conductance_type& conductance)
29496  : ::neuroml2::BaseSynapse (id),
29497  conductance_ (conductance, this)
29498  {
29499  }
29500 
29503  ::xml_schema::flags f,
29504  ::xml_schema::container* c)
29505  : ::neuroml2::BaseSynapse (x, f, c),
29506  conductance_ (x.conductance_, f, this)
29507  {
29508  }
29509 
29511  LinearGradedSynapse (const ::xercesc::DOMElement& e,
29512  ::xml_schema::flags f,
29513  ::xml_schema::container* c)
29514  : ::neuroml2::BaseSynapse (e, f | ::xml_schema::flags::base, c),
29515  conductance_ (this)
29516  {
29517  if ((f & ::xml_schema::flags::base) == 0)
29518  {
29519  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
29520  this->parse (p, f);
29521  }
29522  }
29523 
29524  void LinearGradedSynapse::
29525  parse (::xsd::cxx::xml::dom::parser< char >& p,
29526  ::xml_schema::flags f)
29527  {
29528  this->::neuroml2::BaseSynapse::parse (p, f);
29529 
29530  p.reset_attributes ();
29531 
29532  while (p.more_attributes ())
29533  {
29534  const ::xercesc::DOMAttr& i (p.next_attribute ());
29535  const ::xsd::cxx::xml::qualified_name< char > n (
29536  ::xsd::cxx::xml::dom::name< char > (i));
29537 
29538  if (n.name () == "conductance" && n.namespace_ ().empty ())
29539  {
29540  this->conductance_.set (conductance_traits::create (i, f, this));
29541  continue;
29542  }
29543  }
29544 
29545  if (!conductance_.present ())
29546  {
29547  throw ::xsd::cxx::tree::expected_attribute< char > (
29548  "conductance",
29549  "");
29550  }
29551  }
29552 
29555  ::xml_schema::container* c) const
29556  {
29557  return new class LinearGradedSynapse (*this, f, c);
29558  }
29559 
29562  {
29563  if (this != &x)
29564  {
29565  static_cast< ::neuroml2::BaseSynapse& > (*this) = x;
29566  this->conductance_ = x.conductance_;
29567  }
29568 
29569  return *this;
29570  }
29571 
29574  {
29575  }
29576 
29577  bool
29578  operator== (const LinearGradedSynapse& x, const LinearGradedSynapse& y)
29579  {
29580  if (!(static_cast< const ::neuroml2::BaseSynapse& > (x) ==
29581  static_cast< const ::neuroml2::BaseSynapse& > (y)))
29582  return false;
29583 
29584  if (!(x.conductance () == y.conductance ()))
29585  return false;
29586 
29587  return true;
29588  }
29589 
29590  bool
29591  operator!= (const LinearGradedSynapse& x, const LinearGradedSynapse& y)
29592  {
29593  return !(x == y);
29594  }
29595 
29596  // GradedSynapse
29597  //
29598 
29600  GradedSynapse (const id_type& id,
29601  const conductance_type& conductance,
29602  const delta_type& delta,
29603  const Vth_type& Vth,
29604  const k_type& k,
29605  const erev_type& erev)
29606  : ::neuroml2::BaseSynapse (id),
29607  conductance_ (conductance, this),
29608  delta_ (delta, this),
29609  Vth_ (Vth, this),
29610  k_ (k, this),
29611  erev_ (erev, this)
29612  {
29613  }
29614 
29616  GradedSynapse (const GradedSynapse& x,
29617  ::xml_schema::flags f,
29618  ::xml_schema::container* c)
29619  : ::neuroml2::BaseSynapse (x, f, c),
29620  conductance_ (x.conductance_, f, this),
29621  delta_ (x.delta_, f, this),
29622  Vth_ (x.Vth_, f, this),
29623  k_ (x.k_, f, this),
29624  erev_ (x.erev_, f, this)
29625  {
29626  }
29627 
29629  GradedSynapse (const ::xercesc::DOMElement& e,
29630  ::xml_schema::flags f,
29631  ::xml_schema::container* c)
29632  : ::neuroml2::BaseSynapse (e, f | ::xml_schema::flags::base, c),
29633  conductance_ (this),
29634  delta_ (this),
29635  Vth_ (this),
29636  k_ (this),
29637  erev_ (this)
29638  {
29639  if ((f & ::xml_schema::flags::base) == 0)
29640  {
29641  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
29642  this->parse (p, f);
29643  }
29644  }
29645 
29646  void GradedSynapse::
29647  parse (::xsd::cxx::xml::dom::parser< char >& p,
29648  ::xml_schema::flags f)
29649  {
29650  this->::neuroml2::BaseSynapse::parse (p, f);
29651 
29652  p.reset_attributes ();
29653 
29654  while (p.more_attributes ())
29655  {
29656  const ::xercesc::DOMAttr& i (p.next_attribute ());
29657  const ::xsd::cxx::xml::qualified_name< char > n (
29658  ::xsd::cxx::xml::dom::name< char > (i));
29659 
29660  if (n.name () == "conductance" && n.namespace_ ().empty ())
29661  {
29662  this->conductance_.set (conductance_traits::create (i, f, this));
29663  continue;
29664  }
29665 
29666  if (n.name () == "delta" && n.namespace_ ().empty ())
29667  {
29668  this->delta_.set (delta_traits::create (i, f, this));
29669  continue;
29670  }
29671 
29672  if (n.name () == "Vth" && n.namespace_ ().empty ())
29673  {
29674  this->Vth_.set (Vth_traits::create (i, f, this));
29675  continue;
29676  }
29677 
29678  if (n.name () == "k" && n.namespace_ ().empty ())
29679  {
29680  this->k_.set (k_traits::create (i, f, this));
29681  continue;
29682  }
29683 
29684  if (n.name () == "erev" && n.namespace_ ().empty ())
29685  {
29686  this->erev_.set (erev_traits::create (i, f, this));
29687  continue;
29688  }
29689  }
29690 
29691  if (!conductance_.present ())
29692  {
29693  throw ::xsd::cxx::tree::expected_attribute< char > (
29694  "conductance",
29695  "");
29696  }
29697 
29698  if (!delta_.present ())
29699  {
29700  throw ::xsd::cxx::tree::expected_attribute< char > (
29701  "delta",
29702  "");
29703  }
29704 
29705  if (!Vth_.present ())
29706  {
29707  throw ::xsd::cxx::tree::expected_attribute< char > (
29708  "Vth",
29709  "");
29710  }
29711 
29712  if (!k_.present ())
29713  {
29714  throw ::xsd::cxx::tree::expected_attribute< char > (
29715  "k",
29716  "");
29717  }
29718 
29719  if (!erev_.present ())
29720  {
29721  throw ::xsd::cxx::tree::expected_attribute< char > (
29722  "erev",
29723  "");
29724  }
29725  }
29726 
29729  ::xml_schema::container* c) const
29730  {
29731  return new class GradedSynapse (*this, f, c);
29732  }
29733 
29735  operator= (const GradedSynapse& x)
29736  {
29737  if (this != &x)
29738  {
29739  static_cast< ::neuroml2::BaseSynapse& > (*this) = x;
29740  this->conductance_ = x.conductance_;
29741  this->delta_ = x.delta_;
29742  this->Vth_ = x.Vth_;
29743  this->k_ = x.k_;
29744  this->erev_ = x.erev_;
29745  }
29746 
29747  return *this;
29748  }
29749 
29751  ~GradedSynapse ()
29752  {
29753  }
29754 
29755  bool
29756  operator== (const GradedSynapse& x, const GradedSynapse& y)
29757  {
29758  if (!(static_cast< const ::neuroml2::BaseSynapse& > (x) ==
29759  static_cast< const ::neuroml2::BaseSynapse& > (y)))
29760  return false;
29761 
29762  if (!(x.conductance () == y.conductance ()))
29763  return false;
29764 
29765  if (!(x.delta () == y.delta ()))
29766  return false;
29767 
29768  if (!(x.Vth () == y.Vth ()))
29769  return false;
29770 
29771  if (!(x.k () == y.k ()))
29772  return false;
29773 
29774  if (!(x.erev () == y.erev ()))
29775  return false;
29776 
29777  return true;
29778  }
29779 
29780  bool
29781  operator!= (const GradedSynapse& x, const GradedSynapse& y)
29782  {
29783  return !(x == y);
29784  }
29785 
29786  // AlphaCurrentSynapse
29787  //
29788 
29790  AlphaCurrentSynapse (const id_type& id,
29791  const tau_type& tau,
29792  const ibase_type& ibase)
29794  tau_ (tau, this),
29795  ibase_ (ibase, this)
29796  {
29797  }
29798 
29801  ::xml_schema::flags f,
29802  ::xml_schema::container* c)
29803  : ::neuroml2::BaseCurrentBasedSynapse (x, f, c),
29804  tau_ (x.tau_, f, this),
29805  ibase_ (x.ibase_, f, this)
29806  {
29807  }
29808 
29810  AlphaCurrentSynapse (const ::xercesc::DOMElement& e,
29811  ::xml_schema::flags f,
29812  ::xml_schema::container* c)
29813  : ::neuroml2::BaseCurrentBasedSynapse (e, f | ::xml_schema::flags::base, c),
29814  tau_ (this),
29815  ibase_ (this)
29816  {
29817  if ((f & ::xml_schema::flags::base) == 0)
29818  {
29819  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
29820  this->parse (p, f);
29821  }
29822  }
29823 
29824  void AlphaCurrentSynapse::
29825  parse (::xsd::cxx::xml::dom::parser< char >& p,
29826  ::xml_schema::flags f)
29827  {
29828  this->::neuroml2::BaseCurrentBasedSynapse::parse (p, f);
29829 
29830  p.reset_attributes ();
29831 
29832  while (p.more_attributes ())
29833  {
29834  const ::xercesc::DOMAttr& i (p.next_attribute ());
29835  const ::xsd::cxx::xml::qualified_name< char > n (
29836  ::xsd::cxx::xml::dom::name< char > (i));
29837 
29838  if (n.name () == "tau" && n.namespace_ ().empty ())
29839  {
29840  this->tau_.set (tau_traits::create (i, f, this));
29841  continue;
29842  }
29843 
29844  if (n.name () == "ibase" && n.namespace_ ().empty ())
29845  {
29846  this->ibase_.set (ibase_traits::create (i, f, this));
29847  continue;
29848  }
29849  }
29850 
29851  if (!tau_.present ())
29852  {
29853  throw ::xsd::cxx::tree::expected_attribute< char > (
29854  "tau",
29855  "");
29856  }
29857 
29858  if (!ibase_.present ())
29859  {
29860  throw ::xsd::cxx::tree::expected_attribute< char > (
29861  "ibase",
29862  "");
29863  }
29864  }
29865 
29868  ::xml_schema::container* c) const
29869  {
29870  return new class AlphaCurrentSynapse (*this, f, c);
29871  }
29872 
29875  {
29876  if (this != &x)
29877  {
29878  static_cast< ::neuroml2::BaseCurrentBasedSynapse& > (*this) = x;
29879  this->tau_ = x.tau_;
29880  this->ibase_ = x.ibase_;
29881  }
29882 
29883  return *this;
29884  }
29885 
29888  {
29889  }
29890 
29891  bool
29892  operator== (const AlphaCurrentSynapse& x, const AlphaCurrentSynapse& y)
29893  {
29894  if (!(static_cast< const ::neuroml2::BaseCurrentBasedSynapse& > (x) ==
29895  static_cast< const ::neuroml2::BaseCurrentBasedSynapse& > (y)))
29896  return false;
29897 
29898  if (!(x.tau () == y.tau ()))
29899  return false;
29900 
29901  if (!(x.ibase () == y.ibase ()))
29902  return false;
29903 
29904  return true;
29905  }
29906 
29907  bool
29908  operator!= (const AlphaCurrentSynapse& x, const AlphaCurrentSynapse& y)
29909  {
29910  return !(x == y);
29911  }
29912 
29913  // AlphaSynapse
29914  //
29915 
29917  AlphaSynapse (const id_type& id,
29918  const gbase_type& gbase,
29919  const erev_type& erev,
29920  const tau_type& tau)
29922  gbase,
29923  erev),
29924  tau_ (tau, this)
29925  {
29926  }
29927 
29929  AlphaSynapse (const AlphaSynapse& x,
29930  ::xml_schema::flags f,
29931  ::xml_schema::container* c)
29932  : ::neuroml2::BaseConductanceBasedSynapse (x, f, c),
29933  tau_ (x.tau_, f, this)
29934  {
29935  }
29936 
29938  AlphaSynapse (const ::xercesc::DOMElement& e,
29939  ::xml_schema::flags f,
29940  ::xml_schema::container* c)
29941  : ::neuroml2::BaseConductanceBasedSynapse (e, f | ::xml_schema::flags::base, c),
29942  tau_ (this)
29943  {
29944  if ((f & ::xml_schema::flags::base) == 0)
29945  {
29946  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
29947  this->parse (p, f);
29948  }
29949  }
29950 
29951  void AlphaSynapse::
29952  parse (::xsd::cxx::xml::dom::parser< char >& p,
29953  ::xml_schema::flags f)
29954  {
29955  this->::neuroml2::BaseConductanceBasedSynapse::parse (p, f);
29956 
29957  p.reset_attributes ();
29958 
29959  while (p.more_attributes ())
29960  {
29961  const ::xercesc::DOMAttr& i (p.next_attribute ());
29962  const ::xsd::cxx::xml::qualified_name< char > n (
29963  ::xsd::cxx::xml::dom::name< char > (i));
29964 
29965  if (n.name () == "tau" && n.namespace_ ().empty ())
29966  {
29967  this->tau_.set (tau_traits::create (i, f, this));
29968  continue;
29969  }
29970  }
29971 
29972  if (!tau_.present ())
29973  {
29974  throw ::xsd::cxx::tree::expected_attribute< char > (
29975  "tau",
29976  "");
29977  }
29978  }
29979 
29982  ::xml_schema::container* c) const
29983  {
29984  return new class AlphaSynapse (*this, f, c);
29985  }
29986 
29988  operator= (const AlphaSynapse& x)
29989  {
29990  if (this != &x)
29991  {
29992  static_cast< ::neuroml2::BaseConductanceBasedSynapse& > (*this) = x;
29993  this->tau_ = x.tau_;
29994  }
29995 
29996  return *this;
29997  }
29998 
30000  ~AlphaSynapse ()
30001  {
30002  }
30003 
30004  bool
30005  operator== (const AlphaSynapse& x, const AlphaSynapse& y)
30006  {
30007  if (!(static_cast< const ::neuroml2::BaseConductanceBasedSynapse& > (x) ==
30008  static_cast< const ::neuroml2::BaseConductanceBasedSynapse& > (y)))
30009  return false;
30010 
30011  if (!(x.tau () == y.tau ()))
30012  return false;
30013 
30014  return true;
30015  }
30016 
30017  bool
30018  operator!= (const AlphaSynapse& x, const AlphaSynapse& y)
30019  {
30020  return !(x == y);
30021  }
30022 
30023  // ExpOneSynapse
30024  //
30025 
30027  ExpOneSynapse (const id_type& id,
30028  const gbase_type& gbase,
30029  const erev_type& erev,
30030  const tauDecay_type& tauDecay)
30032  gbase,
30033  erev),
30034  tauDecay_ (tauDecay, this)
30035  {
30036  }
30037 
30039  ExpOneSynapse (const ExpOneSynapse& x,
30040  ::xml_schema::flags f,
30041  ::xml_schema::container* c)
30042  : ::neuroml2::BaseConductanceBasedSynapse (x, f, c),
30043  tauDecay_ (x.tauDecay_, f, this)
30044  {
30045  }
30046 
30048  ExpOneSynapse (const ::xercesc::DOMElement& e,
30049  ::xml_schema::flags f,
30050  ::xml_schema::container* c)
30051  : ::neuroml2::BaseConductanceBasedSynapse (e, f | ::xml_schema::flags::base, c),
30052  tauDecay_ (this)
30053  {
30054  if ((f & ::xml_schema::flags::base) == 0)
30055  {
30056  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
30057  this->parse (p, f);
30058  }
30059  }
30060 
30061  void ExpOneSynapse::
30062  parse (::xsd::cxx::xml::dom::parser< char >& p,
30063  ::xml_schema::flags f)
30064  {
30065  this->::neuroml2::BaseConductanceBasedSynapse::parse (p, f);
30066 
30067  p.reset_attributes ();
30068 
30069  while (p.more_attributes ())
30070  {
30071  const ::xercesc::DOMAttr& i (p.next_attribute ());
30072  const ::xsd::cxx::xml::qualified_name< char > n (
30073  ::xsd::cxx::xml::dom::name< char > (i));
30074 
30075  if (n.name () == "tauDecay" && n.namespace_ ().empty ())
30076  {
30077  this->tauDecay_.set (tauDecay_traits::create (i, f, this));
30078  continue;
30079  }
30080  }
30081 
30082  if (!tauDecay_.present ())
30083  {
30084  throw ::xsd::cxx::tree::expected_attribute< char > (
30085  "tauDecay",
30086  "");
30087  }
30088  }
30089 
30092  ::xml_schema::container* c) const
30093  {
30094  return new class ExpOneSynapse (*this, f, c);
30095  }
30096 
30098  operator= (const ExpOneSynapse& x)
30099  {
30100  if (this != &x)
30101  {
30102  static_cast< ::neuroml2::BaseConductanceBasedSynapse& > (*this) = x;
30103  this->tauDecay_ = x.tauDecay_;
30104  }
30105 
30106  return *this;
30107  }
30108 
30110  ~ExpOneSynapse ()
30111  {
30112  }
30113 
30114  bool
30115  operator== (const ExpOneSynapse& x, const ExpOneSynapse& y)
30116  {
30117  if (!(static_cast< const ::neuroml2::BaseConductanceBasedSynapse& > (x) ==
30118  static_cast< const ::neuroml2::BaseConductanceBasedSynapse& > (y)))
30119  return false;
30120 
30121  if (!(x.tauDecay () == y.tauDecay ()))
30122  return false;
30123 
30124  return true;
30125  }
30126 
30127  bool
30128  operator!= (const ExpOneSynapse& x, const ExpOneSynapse& y)
30129  {
30130  return !(x == y);
30131  }
30132 
30133  // ExpTwoSynapse
30134  //
30135 
30137  ExpTwoSynapse (const id_type& id,
30138  const gbase_type& gbase,
30139  const erev_type& erev,
30140  const tauDecay_type& tauDecay,
30141  const tauRise_type& tauRise)
30143  gbase,
30144  erev),
30145  tauDecay_ (tauDecay, this),
30146  tauRise_ (tauRise, this)
30147  {
30148  }
30149 
30151  ExpTwoSynapse (const ExpTwoSynapse& x,
30152  ::xml_schema::flags f,
30153  ::xml_schema::container* c)
30154  : ::neuroml2::BaseConductanceBasedSynapse (x, f, c),
30155  tauDecay_ (x.tauDecay_, f, this),
30156  tauRise_ (x.tauRise_, f, this)
30157  {
30158  }
30159 
30161  ExpTwoSynapse (const ::xercesc::DOMElement& e,
30162  ::xml_schema::flags f,
30163  ::xml_schema::container* c)
30164  : ::neuroml2::BaseConductanceBasedSynapse (e, f | ::xml_schema::flags::base, c),
30165  tauDecay_ (this),
30166  tauRise_ (this)
30167  {
30168  if ((f & ::xml_schema::flags::base) == 0)
30169  {
30170  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
30171  this->parse (p, f);
30172  }
30173  }
30174 
30175  void ExpTwoSynapse::
30176  parse (::xsd::cxx::xml::dom::parser< char >& p,
30177  ::xml_schema::flags f)
30178  {
30179  this->::neuroml2::BaseConductanceBasedSynapse::parse (p, f);
30180 
30181  p.reset_attributes ();
30182 
30183  while (p.more_attributes ())
30184  {
30185  const ::xercesc::DOMAttr& i (p.next_attribute ());
30186  const ::xsd::cxx::xml::qualified_name< char > n (
30187  ::xsd::cxx::xml::dom::name< char > (i));
30188 
30189  if (n.name () == "tauDecay" && n.namespace_ ().empty ())
30190  {
30191  this->tauDecay_.set (tauDecay_traits::create (i, f, this));
30192  continue;
30193  }
30194 
30195  if (n.name () == "tauRise" && n.namespace_ ().empty ())
30196  {
30197  this->tauRise_.set (tauRise_traits::create (i, f, this));
30198  continue;
30199  }
30200  }
30201 
30202  if (!tauDecay_.present ())
30203  {
30204  throw ::xsd::cxx::tree::expected_attribute< char > (
30205  "tauDecay",
30206  "");
30207  }
30208 
30209  if (!tauRise_.present ())
30210  {
30211  throw ::xsd::cxx::tree::expected_attribute< char > (
30212  "tauRise",
30213  "");
30214  }
30215  }
30216 
30219  ::xml_schema::container* c) const
30220  {
30221  return new class ExpTwoSynapse (*this, f, c);
30222  }
30223 
30225  operator= (const ExpTwoSynapse& x)
30226  {
30227  if (this != &x)
30228  {
30229  static_cast< ::neuroml2::BaseConductanceBasedSynapse& > (*this) = x;
30230  this->tauDecay_ = x.tauDecay_;
30231  this->tauRise_ = x.tauRise_;
30232  }
30233 
30234  return *this;
30235  }
30236 
30238  ~ExpTwoSynapse ()
30239  {
30240  }
30241 
30242  bool
30243  operator== (const ExpTwoSynapse& x, const ExpTwoSynapse& y)
30244  {
30245  if (!(static_cast< const ::neuroml2::BaseConductanceBasedSynapse& > (x) ==
30246  static_cast< const ::neuroml2::BaseConductanceBasedSynapse& > (y)))
30247  return false;
30248 
30249  if (!(x.tauDecay () == y.tauDecay ()))
30250  return false;
30251 
30252  if (!(x.tauRise () == y.tauRise ()))
30253  return false;
30254 
30255  return true;
30256  }
30257 
30258  bool
30259  operator!= (const ExpTwoSynapse& x, const ExpTwoSynapse& y)
30260  {
30261  return !(x == y);
30262  }
30263 
30264  // ExpThreeSynapse
30265  //
30266 
30268  ExpThreeSynapse (const id_type& id,
30269  const gbase1_type& gbase1,
30270  const gbase2_type& gbase2,
30271  const erev_type& erev,
30272  const tauDecay1_type& tauDecay1,
30273  const tauDecay2_type& tauDecay2,
30274  const tauRise_type& tauRise)
30276  gbase1,
30277  gbase2,
30278  erev),
30279  tauDecay1_ (tauDecay1, this),
30280  tauDecay2_ (tauDecay2, this),
30281  tauRise_ (tauRise, this)
30282  {
30283  }
30284 
30287  ::xml_schema::flags f,
30288  ::xml_schema::container* c)
30290  tauDecay1_ (x.tauDecay1_, f, this),
30291  tauDecay2_ (x.tauDecay2_, f, this),
30292  tauRise_ (x.tauRise_, f, this)
30293  {
30294  }
30295 
30297  ExpThreeSynapse (const ::xercesc::DOMElement& e,
30298  ::xml_schema::flags f,
30299  ::xml_schema::container* c)
30300  : ::neuroml2::BaseConductanceBasedSynapseTwo (e, f | ::xml_schema::flags::base, c),
30301  tauDecay1_ (this),
30302  tauDecay2_ (this),
30303  tauRise_ (this)
30304  {
30305  if ((f & ::xml_schema::flags::base) == 0)
30306  {
30307  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
30308  this->parse (p, f);
30309  }
30310  }
30311 
30312  void ExpThreeSynapse::
30313  parse (::xsd::cxx::xml::dom::parser< char >& p,
30314  ::xml_schema::flags f)
30315  {
30316  this->::neuroml2::BaseConductanceBasedSynapseTwo::parse (p, f);
30317 
30318  p.reset_attributes ();
30319 
30320  while (p.more_attributes ())
30321  {
30322  const ::xercesc::DOMAttr& i (p.next_attribute ());
30323  const ::xsd::cxx::xml::qualified_name< char > n (
30324  ::xsd::cxx::xml::dom::name< char > (i));
30325 
30326  if (n.name () == "tauDecay1" && n.namespace_ ().empty ())
30327  {
30328  this->tauDecay1_.set (tauDecay1_traits::create (i, f, this));
30329  continue;
30330  }
30331 
30332  if (n.name () == "tauDecay2" && n.namespace_ ().empty ())
30333  {
30334  this->tauDecay2_.set (tauDecay2_traits::create (i, f, this));
30335  continue;
30336  }
30337 
30338  if (n.name () == "tauRise" && n.namespace_ ().empty ())
30339  {
30340  this->tauRise_.set (tauRise_traits::create (i, f, this));
30341  continue;
30342  }
30343  }
30344 
30345  if (!tauDecay1_.present ())
30346  {
30347  throw ::xsd::cxx::tree::expected_attribute< char > (
30348  "tauDecay1",
30349  "");
30350  }
30351 
30352  if (!tauDecay2_.present ())
30353  {
30354  throw ::xsd::cxx::tree::expected_attribute< char > (
30355  "tauDecay2",
30356  "");
30357  }
30358 
30359  if (!tauRise_.present ())
30360  {
30361  throw ::xsd::cxx::tree::expected_attribute< char > (
30362  "tauRise",
30363  "");
30364  }
30365  }
30366 
30369  ::xml_schema::container* c) const
30370  {
30371  return new class ExpThreeSynapse (*this, f, c);
30372  }
30373 
30375  operator= (const ExpThreeSynapse& x)
30376  {
30377  if (this != &x)
30378  {
30379  static_cast< ::neuroml2::BaseConductanceBasedSynapseTwo& > (*this) = x;
30380  this->tauDecay1_ = x.tauDecay1_;
30381  this->tauDecay2_ = x.tauDecay2_;
30382  this->tauRise_ = x.tauRise_;
30383  }
30384 
30385  return *this;
30386  }
30387 
30390  {
30391  }
30392 
30393  bool
30394  operator== (const ExpThreeSynapse& x, const ExpThreeSynapse& y)
30395  {
30396  if (!(static_cast< const ::neuroml2::BaseConductanceBasedSynapseTwo& > (x) ==
30397  static_cast< const ::neuroml2::BaseConductanceBasedSynapseTwo& > (y)))
30398  return false;
30399 
30400  if (!(x.tauDecay1 () == y.tauDecay1 ()))
30401  return false;
30402 
30403  if (!(x.tauDecay2 () == y.tauDecay2 ()))
30404  return false;
30405 
30406  if (!(x.tauRise () == y.tauRise ()))
30407  return false;
30408 
30409  return true;
30410  }
30411 
30412  bool
30413  operator!= (const ExpThreeSynapse& x, const ExpThreeSynapse& y)
30414  {
30415  return !(x == y);
30416  }
30417 
30418  // DoubleSynapse
30419  //
30420 
30422  DoubleSynapse (const id_type& id,
30423  const synapse1_type& synapse1,
30424  const synapse2_type& synapse2,
30425  const synapse1Path_type& synapse1Path,
30426  const synapse2Path_type& synapse2Path)
30428  synapse1_ (synapse1, this),
30429  synapse2_ (synapse2, this),
30430  synapse1Path_ (synapse1Path, this),
30431  synapse2Path_ (synapse2Path, this)
30432  {
30433  }
30434 
30436  DoubleSynapse (const DoubleSynapse& x,
30437  ::xml_schema::flags f,
30438  ::xml_schema::container* c)
30439  : ::neuroml2::BaseVoltageDepSynapse (x, f, c),
30440  synapse1_ (x.synapse1_, f, this),
30441  synapse2_ (x.synapse2_, f, this),
30442  synapse1Path_ (x.synapse1Path_, f, this),
30443  synapse2Path_ (x.synapse2Path_, f, this)
30444  {
30445  }
30446 
30448  DoubleSynapse (const ::xercesc::DOMElement& e,
30449  ::xml_schema::flags f,
30450  ::xml_schema::container* c)
30451  : ::neuroml2::BaseVoltageDepSynapse (e, f | ::xml_schema::flags::base, c),
30452  synapse1_ (this),
30453  synapse2_ (this),
30454  synapse1Path_ (this),
30455  synapse2Path_ (this)
30456  {
30457  if ((f & ::xml_schema::flags::base) == 0)
30458  {
30459  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
30460  this->parse (p, f);
30461  }
30462  }
30463 
30464  void DoubleSynapse::
30465  parse (::xsd::cxx::xml::dom::parser< char >& p,
30466  ::xml_schema::flags f)
30467  {
30468  this->::neuroml2::BaseVoltageDepSynapse::parse (p, f);
30469 
30470  p.reset_attributes ();
30471 
30472  while (p.more_attributes ())
30473  {
30474  const ::xercesc::DOMAttr& i (p.next_attribute ());
30475  const ::xsd::cxx::xml::qualified_name< char > n (
30476  ::xsd::cxx::xml::dom::name< char > (i));
30477 
30478  if (n.name () == "synapse1" && n.namespace_ ().empty ())
30479  {
30480  this->synapse1_.set (synapse1_traits::create (i, f, this));
30481  continue;
30482  }
30483 
30484  if (n.name () == "synapse2" && n.namespace_ ().empty ())
30485  {
30486  this->synapse2_.set (synapse2_traits::create (i, f, this));
30487  continue;
30488  }
30489 
30490  if (n.name () == "synapse1Path" && n.namespace_ ().empty ())
30491  {
30492  this->synapse1Path_.set (synapse1Path_traits::create (i, f, this));
30493  continue;
30494  }
30495 
30496  if (n.name () == "synapse2Path" && n.namespace_ ().empty ())
30497  {
30498  this->synapse2Path_.set (synapse2Path_traits::create (i, f, this));
30499  continue;
30500  }
30501  }
30502 
30503  if (!synapse1_.present ())
30504  {
30505  throw ::xsd::cxx::tree::expected_attribute< char > (
30506  "synapse1",
30507  "");
30508  }
30509 
30510  if (!synapse2_.present ())
30511  {
30512  throw ::xsd::cxx::tree::expected_attribute< char > (
30513  "synapse2",
30514  "");
30515  }
30516 
30517  if (!synapse1Path_.present ())
30518  {
30519  throw ::xsd::cxx::tree::expected_attribute< char > (
30520  "synapse1Path",
30521  "");
30522  }
30523 
30524  if (!synapse2Path_.present ())
30525  {
30526  throw ::xsd::cxx::tree::expected_attribute< char > (
30527  "synapse2Path",
30528  "");
30529  }
30530  }
30531 
30534  ::xml_schema::container* c) const
30535  {
30536  return new class DoubleSynapse (*this, f, c);
30537  }
30538 
30540  operator= (const DoubleSynapse& x)
30541  {
30542  if (this != &x)
30543  {
30544  static_cast< ::neuroml2::BaseVoltageDepSynapse& > (*this) = x;
30545  this->synapse1_ = x.synapse1_;
30546  this->synapse2_ = x.synapse2_;
30547  this->synapse1Path_ = x.synapse1Path_;
30548  this->synapse2Path_ = x.synapse2Path_;
30549  }
30550 
30551  return *this;
30552  }
30553 
30555  ~DoubleSynapse ()
30556  {
30557  }
30558 
30559  bool
30560  operator== (const DoubleSynapse& x, const DoubleSynapse& y)
30561  {
30562  if (!(static_cast< const ::neuroml2::BaseVoltageDepSynapse& > (x) ==
30563  static_cast< const ::neuroml2::BaseVoltageDepSynapse& > (y)))
30564  return false;
30565 
30566  if (!(x.synapse1 () == y.synapse1 ()))
30567  return false;
30568 
30569  if (!(x.synapse2 () == y.synapse2 ()))
30570  return false;
30571 
30572  if (!(x.synapse1Path () == y.synapse1Path ()))
30573  return false;
30574 
30575  if (!(x.synapse2Path () == y.synapse2Path ()))
30576  return false;
30577 
30578  return true;
30579  }
30580 
30581  bool
30582  operator!= (const DoubleSynapse& x, const DoubleSynapse& y)
30583  {
30584  return !(x == y);
30585  }
30586 
30587  // BlockingPlasticSynapse
30588  //
30589 
30591  BlockingPlasticSynapse (const id_type& id,
30592  const gbase_type& gbase,
30593  const erev_type& erev,
30594  const tauDecay_type& tauDecay,
30595  const tauRise_type& tauRise)
30596  : ::neuroml2::ExpTwoSynapse (id,
30597  gbase,
30598  erev,
30599  tauDecay,
30600  tauRise),
30601  plasticityMechanism_ (this),
30602  blockMechanism_ (this)
30603  {
30604  }
30605 
30608  ::xml_schema::flags f,
30609  ::xml_schema::container* c)
30610  : ::neuroml2::ExpTwoSynapse (x, f, c),
30611  plasticityMechanism_ (x.plasticityMechanism_, f, this),
30612  blockMechanism_ (x.blockMechanism_, f, this)
30613  {
30614  }
30615 
30617  BlockingPlasticSynapse (const ::xercesc::DOMElement& e,
30618  ::xml_schema::flags f,
30619  ::xml_schema::container* c)
30620  : ::neuroml2::ExpTwoSynapse (e, f | ::xml_schema::flags::base, c),
30621  plasticityMechanism_ (this),
30622  blockMechanism_ (this)
30623  {
30624  if ((f & ::xml_schema::flags::base) == 0)
30625  {
30626  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
30627  this->parse (p, f);
30628  }
30629  }
30630 
30631  void BlockingPlasticSynapse::
30632  parse (::xsd::cxx::xml::dom::parser< char >& p,
30633  ::xml_schema::flags f)
30634  {
30635  this->::neuroml2::ExpTwoSynapse::parse (p, f);
30636 
30637  for (; p.more_content (); p.next_content (false))
30638  {
30639  const ::xercesc::DOMElement& i (p.cur_element ());
30640  const ::xsd::cxx::xml::qualified_name< char > n (
30641  ::xsd::cxx::xml::dom::name< char > (i));
30642 
30643  // plasticityMechanism
30644  //
30645  if (n.name () == "plasticityMechanism" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
30646  {
30647  ::std::unique_ptr< plasticityMechanism_type > r (
30648  plasticityMechanism_traits::create (i, f, this));
30649 
30650  if (!this->plasticityMechanism_)
30651  {
30652  this->plasticityMechanism_.set (::std::move (r));
30653  continue;
30654  }
30655  }
30656 
30657  // blockMechanism
30658  //
30659  if (n.name () == "blockMechanism" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
30660  {
30661  ::std::unique_ptr< blockMechanism_type > r (
30662  blockMechanism_traits::create (i, f, this));
30663 
30664  if (!this->blockMechanism_)
30665  {
30666  this->blockMechanism_.set (::std::move (r));
30667  continue;
30668  }
30669  }
30670 
30671  break;
30672  }
30673  }
30674 
30677  ::xml_schema::container* c) const
30678  {
30679  return new class BlockingPlasticSynapse (*this, f, c);
30680  }
30681 
30684  {
30685  if (this != &x)
30686  {
30687  static_cast< ::neuroml2::ExpTwoSynapse& > (*this) = x;
30688  this->plasticityMechanism_ = x.plasticityMechanism_;
30689  this->blockMechanism_ = x.blockMechanism_;
30690  }
30691 
30692  return *this;
30693  }
30694 
30697  {
30698  }
30699 
30700  bool
30701  operator== (const BlockingPlasticSynapse& x, const BlockingPlasticSynapse& y)
30702  {
30703  if (!(static_cast< const ::neuroml2::ExpTwoSynapse& > (x) ==
30704  static_cast< const ::neuroml2::ExpTwoSynapse& > (y)))
30705  return false;
30706 
30707  if (!(x.plasticityMechanism () == y.plasticityMechanism ()))
30708  return false;
30709 
30710  if (!(x.blockMechanism () == y.blockMechanism ()))
30711  return false;
30712 
30713  return true;
30714  }
30715 
30716  bool
30717  operator!= (const BlockingPlasticSynapse& x, const BlockingPlasticSynapse& y)
30718  {
30719  return !(x == y);
30720  }
30721 
30722  // BlockTypes
30723  //
30724 
30726  BlockTypes (const ::xercesc::DOMElement& e,
30727  ::xml_schema::flags f,
30728  ::xml_schema::container* c)
30729  : ::xml_schema::string (e, f, c)
30730  {
30731  _xsd_BlockTypes_convert ();
30732  }
30733 
30735  BlockTypes (const ::xercesc::DOMAttr& a,
30736  ::xml_schema::flags f,
30737  ::xml_schema::container* c)
30738  : ::xml_schema::string (a, f, c)
30739  {
30740  _xsd_BlockTypes_convert ();
30741  }
30742 
30745  const ::xercesc::DOMElement* e,
30746  ::xml_schema::flags f,
30747  ::xml_schema::container* c)
30748  : ::xml_schema::string (s, e, f, c)
30749  {
30750  _xsd_BlockTypes_convert ();
30751  }
30752 
30755  ::xml_schema::container* c) const
30756  {
30757  return new class BlockTypes (*this, f, c);
30758  }
30759 
30760  BlockTypes::value BlockTypes::
30761  _xsd_BlockTypes_convert () const
30762  {
30763  ::xsd::cxx::tree::enum_comparator< char > c (_xsd_BlockTypes_literals_);
30764  const value* i (::std::lower_bound (
30765  _xsd_BlockTypes_indexes_,
30766  _xsd_BlockTypes_indexes_ + 1,
30767  *this,
30768  c));
30769 
30770  if (i == _xsd_BlockTypes_indexes_ + 1 || _xsd_BlockTypes_literals_[*i] != *this)
30771  {
30772  throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this);
30773  }
30774 
30775  return *i;
30776  }
30777 
30778  const char* const BlockTypes::
30779  _xsd_BlockTypes_literals_[1] =
30780  {
30781  "voltageConcDepBlockMechanism"
30782  };
30783 
30784  const BlockTypes::value BlockTypes::
30785  _xsd_BlockTypes_indexes_[1] =
30786  {
30787  ::neuroml2::BlockTypes::voltageConcDepBlockMechanism
30788  };
30789 
30790  // BlockMechanism
30791  //
30792 
30795  const species_type& species,
30796  const blockConcentration_type& blockConcentration,
30797  const scalingConc_type& scalingConc,
30798  const scalingVolt_type& scalingVolt)
30799  : ::neuroml2::BaseWithoutId (),
30800  type_ (type, this),
30801  species_ (species, this),
30802  blockConcentration_ (blockConcentration, this),
30803  scalingConc_ (scalingConc, this),
30804  scalingVolt_ (scalingVolt, this)
30805  {
30806  }
30807 
30810  ::xml_schema::flags f,
30811  ::xml_schema::container* c)
30812  : ::neuroml2::BaseWithoutId (x, f, c),
30813  type_ (x.type_, f, this),
30814  species_ (x.species_, f, this),
30815  blockConcentration_ (x.blockConcentration_, f, this),
30816  scalingConc_ (x.scalingConc_, f, this),
30817  scalingVolt_ (x.scalingVolt_, f, this)
30818  {
30819  }
30820 
30822  BlockMechanism (const ::xercesc::DOMElement& e,
30823  ::xml_schema::flags f,
30824  ::xml_schema::container* c)
30825  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
30826  type_ (this),
30827  species_ (this),
30828  blockConcentration_ (this),
30829  scalingConc_ (this),
30830  scalingVolt_ (this)
30831  {
30832  if ((f & ::xml_schema::flags::base) == 0)
30833  {
30834  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
30835  this->parse (p, f);
30836  }
30837  }
30838 
30839  void BlockMechanism::
30840  parse (::xsd::cxx::xml::dom::parser< char >& p,
30841  ::xml_schema::flags f)
30842  {
30843  while (p.more_attributes ())
30844  {
30845  const ::xercesc::DOMAttr& i (p.next_attribute ());
30846  const ::xsd::cxx::xml::qualified_name< char > n (
30847  ::xsd::cxx::xml::dom::name< char > (i));
30848 
30849  if (n.name () == "type" && n.namespace_ ().empty ())
30850  {
30851  this->type_.set (type_traits::create (i, f, this));
30852  continue;
30853  }
30854 
30855  if (n.name () == "species" && n.namespace_ ().empty ())
30856  {
30857  this->species_.set (species_traits::create (i, f, this));
30858  continue;
30859  }
30860 
30861  if (n.name () == "blockConcentration" && n.namespace_ ().empty ())
30862  {
30863  this->blockConcentration_.set (blockConcentration_traits::create (i, f, this));
30864  continue;
30865  }
30866 
30867  if (n.name () == "scalingConc" && n.namespace_ ().empty ())
30868  {
30869  this->scalingConc_.set (scalingConc_traits::create (i, f, this));
30870  continue;
30871  }
30872 
30873  if (n.name () == "scalingVolt" && n.namespace_ ().empty ())
30874  {
30875  this->scalingVolt_.set (scalingVolt_traits::create (i, f, this));
30876  continue;
30877  }
30878  }
30879 
30880  if (!type_.present ())
30881  {
30882  throw ::xsd::cxx::tree::expected_attribute< char > (
30883  "type",
30884  "");
30885  }
30886 
30887  if (!species_.present ())
30888  {
30889  throw ::xsd::cxx::tree::expected_attribute< char > (
30890  "species",
30891  "");
30892  }
30893 
30894  if (!blockConcentration_.present ())
30895  {
30896  throw ::xsd::cxx::tree::expected_attribute< char > (
30897  "blockConcentration",
30898  "");
30899  }
30900 
30901  if (!scalingConc_.present ())
30902  {
30903  throw ::xsd::cxx::tree::expected_attribute< char > (
30904  "scalingConc",
30905  "");
30906  }
30907 
30908  if (!scalingVolt_.present ())
30909  {
30910  throw ::xsd::cxx::tree::expected_attribute< char > (
30911  "scalingVolt",
30912  "");
30913  }
30914  }
30915 
30918  ::xml_schema::container* c) const
30919  {
30920  return new class BlockMechanism (*this, f, c);
30921  }
30922 
30924  operator= (const BlockMechanism& x)
30925  {
30926  if (this != &x)
30927  {
30928  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
30929  this->type_ = x.type_;
30930  this->species_ = x.species_;
30931  this->blockConcentration_ = x.blockConcentration_;
30932  this->scalingConc_ = x.scalingConc_;
30933  this->scalingVolt_ = x.scalingVolt_;
30934  }
30935 
30936  return *this;
30937  }
30938 
30941  {
30942  }
30943 
30944  bool
30945  operator== (const BlockMechanism& x, const BlockMechanism& y)
30946  {
30947  if (!(x.type () == y.type ()))
30948  return false;
30949 
30950  if (!(x.species () == y.species ()))
30951  return false;
30952 
30953  if (!(x.blockConcentration () == y.blockConcentration ()))
30954  return false;
30955 
30956  if (!(x.scalingConc () == y.scalingConc ()))
30957  return false;
30958 
30959  if (!(x.scalingVolt () == y.scalingVolt ()))
30960  return false;
30961 
30962  return true;
30963  }
30964 
30965  bool
30966  operator!= (const BlockMechanism& x, const BlockMechanism& y)
30967  {
30968  return !(x == y);
30969  }
30970 
30971  // PlasticityTypes
30972  //
30973 
30975  PlasticityTypes (const ::xercesc::DOMElement& e,
30976  ::xml_schema::flags f,
30977  ::xml_schema::container* c)
30978  : ::xml_schema::string (e, f, c)
30979  {
30980  _xsd_PlasticityTypes_convert ();
30981  }
30982 
30984  PlasticityTypes (const ::xercesc::DOMAttr& a,
30985  ::xml_schema::flags f,
30986  ::xml_schema::container* c)
30987  : ::xml_schema::string (a, f, c)
30988  {
30989  _xsd_PlasticityTypes_convert ();
30990  }
30991 
30994  const ::xercesc::DOMElement* e,
30995  ::xml_schema::flags f,
30996  ::xml_schema::container* c)
30997  : ::xml_schema::string (s, e, f, c)
30998  {
30999  _xsd_PlasticityTypes_convert ();
31000  }
31001 
31004  ::xml_schema::container* c) const
31005  {
31006  return new class PlasticityTypes (*this, f, c);
31007  }
31008 
31009  PlasticityTypes::value PlasticityTypes::
31010  _xsd_PlasticityTypes_convert () const
31011  {
31012  ::xsd::cxx::tree::enum_comparator< char > c (_xsd_PlasticityTypes_literals_);
31013  const value* i (::std::lower_bound (
31014  _xsd_PlasticityTypes_indexes_,
31015  _xsd_PlasticityTypes_indexes_ + 2,
31016  *this,
31017  c));
31018 
31019  if (i == _xsd_PlasticityTypes_indexes_ + 2 || _xsd_PlasticityTypes_literals_[*i] != *this)
31020  {
31021  throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this);
31022  }
31023 
31024  return *i;
31025  }
31026 
31027  const char* const PlasticityTypes::
31028  _xsd_PlasticityTypes_literals_[2] =
31029  {
31030  "tsodyksMarkramDepMechanism",
31031  "tsodyksMarkramDepFacMechanism"
31032  };
31033 
31034  const PlasticityTypes::value PlasticityTypes::
31035  _xsd_PlasticityTypes_indexes_[2] =
31036  {
31037  ::neuroml2::PlasticityTypes::tsodyksMarkramDepFacMechanism,
31038  ::neuroml2::PlasticityTypes::tsodyksMarkramDepMechanism
31039  };
31040 
31041  // PlasticityMechanism
31042  //
31043 
31046  const initReleaseProb_type& initReleaseProb,
31047  const tauRec_type& tauRec)
31048  : ::neuroml2::BaseWithoutId (),
31049  type_ (type, this),
31050  initReleaseProb_ (initReleaseProb, this),
31051  tauRec_ (tauRec, this),
31052  tauFac_ (this)
31053  {
31054  }
31055 
31058  ::xml_schema::flags f,
31059  ::xml_schema::container* c)
31060  : ::neuroml2::BaseWithoutId (x, f, c),
31061  type_ (x.type_, f, this),
31062  initReleaseProb_ (x.initReleaseProb_, f, this),
31063  tauRec_ (x.tauRec_, f, this),
31064  tauFac_ (x.tauFac_, f, this)
31065  {
31066  }
31067 
31069  PlasticityMechanism (const ::xercesc::DOMElement& e,
31070  ::xml_schema::flags f,
31071  ::xml_schema::container* c)
31072  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
31073  type_ (this),
31074  initReleaseProb_ (this),
31075  tauRec_ (this),
31076  tauFac_ (this)
31077  {
31078  if ((f & ::xml_schema::flags::base) == 0)
31079  {
31080  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
31081  this->parse (p, f);
31082  }
31083  }
31084 
31085  void PlasticityMechanism::
31086  parse (::xsd::cxx::xml::dom::parser< char >& p,
31087  ::xml_schema::flags f)
31088  {
31089  while (p.more_attributes ())
31090  {
31091  const ::xercesc::DOMAttr& i (p.next_attribute ());
31092  const ::xsd::cxx::xml::qualified_name< char > n (
31093  ::xsd::cxx::xml::dom::name< char > (i));
31094 
31095  if (n.name () == "type" && n.namespace_ ().empty ())
31096  {
31097  this->type_.set (type_traits::create (i, f, this));
31098  continue;
31099  }
31100 
31101  if (n.name () == "initReleaseProb" && n.namespace_ ().empty ())
31102  {
31103  this->initReleaseProb_.set (initReleaseProb_traits::create (i, f, this));
31104  continue;
31105  }
31106 
31107  if (n.name () == "tauRec" && n.namespace_ ().empty ())
31108  {
31109  this->tauRec_.set (tauRec_traits::create (i, f, this));
31110  continue;
31111  }
31112 
31113  if (n.name () == "tauFac" && n.namespace_ ().empty ())
31114  {
31115  this->tauFac_.set (tauFac_traits::create (i, f, this));
31116  continue;
31117  }
31118  }
31119 
31120  if (!type_.present ())
31121  {
31122  throw ::xsd::cxx::tree::expected_attribute< char > (
31123  "type",
31124  "");
31125  }
31126 
31127  if (!initReleaseProb_.present ())
31128  {
31129  throw ::xsd::cxx::tree::expected_attribute< char > (
31130  "initReleaseProb",
31131  "");
31132  }
31133 
31134  if (!tauRec_.present ())
31135  {
31136  throw ::xsd::cxx::tree::expected_attribute< char > (
31137  "tauRec",
31138  "");
31139  }
31140  }
31141 
31144  ::xml_schema::container* c) const
31145  {
31146  return new class PlasticityMechanism (*this, f, c);
31147  }
31148 
31151  {
31152  if (this != &x)
31153  {
31154  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
31155  this->type_ = x.type_;
31156  this->initReleaseProb_ = x.initReleaseProb_;
31157  this->tauRec_ = x.tauRec_;
31158  this->tauFac_ = x.tauFac_;
31159  }
31160 
31161  return *this;
31162  }
31163 
31166  {
31167  }
31168 
31169  bool
31170  operator== (const PlasticityMechanism& x, const PlasticityMechanism& y)
31171  {
31172  if (!(x.type () == y.type ()))
31173  return false;
31174 
31175  if (!(x.initReleaseProb () == y.initReleaseProb ()))
31176  return false;
31177 
31178  if (!(x.tauRec () == y.tauRec ()))
31179  return false;
31180 
31181  if (!(x.tauFac () == y.tauFac ()))
31182  return false;
31183 
31184  return true;
31185  }
31186 
31187  bool
31188  operator!= (const PlasticityMechanism& x, const PlasticityMechanism& y)
31189  {
31190  return !(x == y);
31191  }
31192 
31193  // BaseCell
31194  //
31195 
31197  BaseCell (const id_type& id)
31198  : ::neuroml2::Standalone (id),
31199  neuroLexId_ (this)
31200  {
31201  }
31202 
31204  BaseCell (const BaseCell& x,
31205  ::xml_schema::flags f,
31206  ::xml_schema::container* c)
31207  : ::neuroml2::Standalone (x, f, c),
31208  neuroLexId_ (x.neuroLexId_, f, this)
31209  {
31210  }
31211 
31213  BaseCell (const ::xercesc::DOMElement& e,
31214  ::xml_schema::flags f,
31215  ::xml_schema::container* c)
31216  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
31217  neuroLexId_ (this)
31218  {
31219  if ((f & ::xml_schema::flags::base) == 0)
31220  {
31221  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
31222  this->parse (p, f);
31223  }
31224  }
31225 
31226  void BaseCell::
31227  parse (::xsd::cxx::xml::dom::parser< char >& p,
31228  ::xml_schema::flags f)
31229  {
31230  this->::neuroml2::Standalone::parse (p, f);
31231 
31232  p.reset_attributes ();
31233 
31234  while (p.more_attributes ())
31235  {
31236  const ::xercesc::DOMAttr& i (p.next_attribute ());
31237  const ::xsd::cxx::xml::qualified_name< char > n (
31238  ::xsd::cxx::xml::dom::name< char > (i));
31239 
31240  if (n.name () == "neuroLexId" && n.namespace_ ().empty ())
31241  {
31242  this->neuroLexId_.set (neuroLexId_traits::create (i, f, this));
31243  continue;
31244  }
31245  }
31246  }
31247 
31250  ::xml_schema::container* c) const
31251  {
31252  return new class BaseCell (*this, f, c);
31253  }
31254 
31256  operator= (const BaseCell& x)
31257  {
31258  if (this != &x)
31259  {
31260  static_cast< ::neuroml2::Standalone& > (*this) = x;
31261  this->neuroLexId_ = x.neuroLexId_;
31262  }
31263 
31264  return *this;
31265  }
31266 
31268  ~BaseCell ()
31269  {
31270  }
31271 
31272  bool
31273  operator== (const BaseCell& x, const BaseCell& y)
31274  {
31275  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
31276  static_cast< const ::neuroml2::Standalone& > (y)))
31277  return false;
31278 
31279  if (!(x.neuroLexId () == y.neuroLexId ()))
31280  return false;
31281 
31282  return true;
31283  }
31284 
31285  bool
31286  operator!= (const BaseCell& x, const BaseCell& y)
31287  {
31288  return !(x == y);
31289  }
31290 
31291  // IafTauCell
31292  //
31293 
31295  IafTauCell (const id_type& id,
31296  const leakReversal_type& leakReversal,
31297  const thresh_type& thresh,
31298  const reset_type& reset,
31299  const tau_type& tau)
31300  : ::neuroml2::BaseCell (id),
31301  leakReversal_ (leakReversal, this),
31302  thresh_ (thresh, this),
31303  reset_ (reset, this),
31304  tau_ (tau, this)
31305  {
31306  }
31307 
31309  IafTauCell (const IafTauCell& x,
31310  ::xml_schema::flags f,
31311  ::xml_schema::container* c)
31312  : ::neuroml2::BaseCell (x, f, c),
31313  leakReversal_ (x.leakReversal_, f, this),
31314  thresh_ (x.thresh_, f, this),
31315  reset_ (x.reset_, f, this),
31316  tau_ (x.tau_, f, this)
31317  {
31318  }
31319 
31321  IafTauCell (const ::xercesc::DOMElement& e,
31322  ::xml_schema::flags f,
31323  ::xml_schema::container* c)
31324  : ::neuroml2::BaseCell (e, f | ::xml_schema::flags::base, c),
31325  leakReversal_ (this),
31326  thresh_ (this),
31327  reset_ (this),
31328  tau_ (this)
31329  {
31330  if ((f & ::xml_schema::flags::base) == 0)
31331  {
31332  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
31333  this->parse (p, f);
31334  }
31335  }
31336 
31337  void IafTauCell::
31338  parse (::xsd::cxx::xml::dom::parser< char >& p,
31339  ::xml_schema::flags f)
31340  {
31341  this->::neuroml2::BaseCell::parse (p, f);
31342 
31343  p.reset_attributes ();
31344 
31345  while (p.more_attributes ())
31346  {
31347  const ::xercesc::DOMAttr& i (p.next_attribute ());
31348  const ::xsd::cxx::xml::qualified_name< char > n (
31349  ::xsd::cxx::xml::dom::name< char > (i));
31350 
31351  if (n.name () == "leakReversal" && n.namespace_ ().empty ())
31352  {
31353  this->leakReversal_.set (leakReversal_traits::create (i, f, this));
31354  continue;
31355  }
31356 
31357  if (n.name () == "thresh" && n.namespace_ ().empty ())
31358  {
31359  this->thresh_.set (thresh_traits::create (i, f, this));
31360  continue;
31361  }
31362 
31363  if (n.name () == "reset" && n.namespace_ ().empty ())
31364  {
31365  this->reset_.set (reset_traits::create (i, f, this));
31366  continue;
31367  }
31368 
31369  if (n.name () == "tau" && n.namespace_ ().empty ())
31370  {
31371  this->tau_.set (tau_traits::create (i, f, this));
31372  continue;
31373  }
31374  }
31375 
31376  if (!leakReversal_.present ())
31377  {
31378  throw ::xsd::cxx::tree::expected_attribute< char > (
31379  "leakReversal",
31380  "");
31381  }
31382 
31383  if (!thresh_.present ())
31384  {
31385  throw ::xsd::cxx::tree::expected_attribute< char > (
31386  "thresh",
31387  "");
31388  }
31389 
31390  if (!reset_.present ())
31391  {
31392  throw ::xsd::cxx::tree::expected_attribute< char > (
31393  "reset",
31394  "");
31395  }
31396 
31397  if (!tau_.present ())
31398  {
31399  throw ::xsd::cxx::tree::expected_attribute< char > (
31400  "tau",
31401  "");
31402  }
31403  }
31404 
31407  ::xml_schema::container* c) const
31408  {
31409  return new class IafTauCell (*this, f, c);
31410  }
31411 
31413  operator= (const IafTauCell& x)
31414  {
31415  if (this != &x)
31416  {
31417  static_cast< ::neuroml2::BaseCell& > (*this) = x;
31418  this->leakReversal_ = x.leakReversal_;
31419  this->thresh_ = x.thresh_;
31420  this->reset_ = x.reset_;
31421  this->tau_ = x.tau_;
31422  }
31423 
31424  return *this;
31425  }
31426 
31428  ~IafTauCell ()
31429  {
31430  }
31431 
31432  bool
31433  operator== (const IafTauCell& x, const IafTauCell& y)
31434  {
31435  if (!(static_cast< const ::neuroml2::BaseCell& > (x) ==
31436  static_cast< const ::neuroml2::BaseCell& > (y)))
31437  return false;
31438 
31439  if (!(x.leakReversal () == y.leakReversal ()))
31440  return false;
31441 
31442  if (!(x.thresh () == y.thresh ()))
31443  return false;
31444 
31445  if (!(x.reset () == y.reset ()))
31446  return false;
31447 
31448  if (!(x.tau () == y.tau ()))
31449  return false;
31450 
31451  return true;
31452  }
31453 
31454  bool
31455  operator!= (const IafTauCell& x, const IafTauCell& y)
31456  {
31457  return !(x == y);
31458  }
31459 
31460  // IafTauRefCell
31461  //
31462 
31464  IafTauRefCell (const id_type& id,
31465  const leakReversal_type& leakReversal,
31466  const thresh_type& thresh,
31467  const reset_type& reset,
31468  const tau_type& tau,
31469  const refract_type& refract)
31470  : ::neuroml2::IafTauCell (id,
31471  leakReversal,
31472  thresh,
31473  reset,
31474  tau),
31475  refract_ (refract, this)
31476  {
31477  }
31478 
31480  IafTauRefCell (const IafTauRefCell& x,
31481  ::xml_schema::flags f,
31482  ::xml_schema::container* c)
31483  : ::neuroml2::IafTauCell (x, f, c),
31484  refract_ (x.refract_, f, this)
31485  {
31486  }
31487 
31489  IafTauRefCell (const ::xercesc::DOMElement& e,
31490  ::xml_schema::flags f,
31491  ::xml_schema::container* c)
31492  : ::neuroml2::IafTauCell (e, f | ::xml_schema::flags::base, c),
31493  refract_ (this)
31494  {
31495  if ((f & ::xml_schema::flags::base) == 0)
31496  {
31497  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
31498  this->parse (p, f);
31499  }
31500  }
31501 
31502  void IafTauRefCell::
31503  parse (::xsd::cxx::xml::dom::parser< char >& p,
31504  ::xml_schema::flags f)
31505  {
31506  this->::neuroml2::IafTauCell::parse (p, f);
31507 
31508  p.reset_attributes ();
31509 
31510  while (p.more_attributes ())
31511  {
31512  const ::xercesc::DOMAttr& i (p.next_attribute ());
31513  const ::xsd::cxx::xml::qualified_name< char > n (
31514  ::xsd::cxx::xml::dom::name< char > (i));
31515 
31516  if (n.name () == "refract" && n.namespace_ ().empty ())
31517  {
31518  this->refract_.set (refract_traits::create (i, f, this));
31519  continue;
31520  }
31521  }
31522 
31523  if (!refract_.present ())
31524  {
31525  throw ::xsd::cxx::tree::expected_attribute< char > (
31526  "refract",
31527  "");
31528  }
31529  }
31530 
31533  ::xml_schema::container* c) const
31534  {
31535  return new class IafTauRefCell (*this, f, c);
31536  }
31537 
31539  operator= (const IafTauRefCell& x)
31540  {
31541  if (this != &x)
31542  {
31543  static_cast< ::neuroml2::IafTauCell& > (*this) = x;
31544  this->refract_ = x.refract_;
31545  }
31546 
31547  return *this;
31548  }
31549 
31551  ~IafTauRefCell ()
31552  {
31553  }
31554 
31555  bool
31556  operator== (const IafTauRefCell& x, const IafTauRefCell& y)
31557  {
31558  if (!(static_cast< const ::neuroml2::IafTauCell& > (x) ==
31559  static_cast< const ::neuroml2::IafTauCell& > (y)))
31560  return false;
31561 
31562  if (!(x.refract () == y.refract ()))
31563  return false;
31564 
31565  return true;
31566  }
31567 
31568  bool
31569  operator!= (const IafTauRefCell& x, const IafTauRefCell& y)
31570  {
31571  return !(x == y);
31572  }
31573 
31574  // IafCell
31575  //
31576 
31578  IafCell (const id_type& id,
31579  const leakReversal_type& leakReversal,
31580  const thresh_type& thresh,
31581  const reset_type& reset,
31582  const C_type& C,
31583  const leakConductance_type& leakConductance)
31584  : ::neuroml2::BaseCell (id),
31585  leakReversal_ (leakReversal, this),
31586  thresh_ (thresh, this),
31587  reset_ (reset, this),
31588  C_ (C, this),
31589  leakConductance_ (leakConductance, this)
31590  {
31591  }
31592 
31594  IafCell (const IafCell& x,
31595  ::xml_schema::flags f,
31596  ::xml_schema::container* c)
31597  : ::neuroml2::BaseCell (x, f, c),
31598  leakReversal_ (x.leakReversal_, f, this),
31599  thresh_ (x.thresh_, f, this),
31600  reset_ (x.reset_, f, this),
31601  C_ (x.C_, f, this),
31602  leakConductance_ (x.leakConductance_, f, this)
31603  {
31604  }
31605 
31607  IafCell (const ::xercesc::DOMElement& e,
31608  ::xml_schema::flags f,
31609  ::xml_schema::container* c)
31610  : ::neuroml2::BaseCell (e, f | ::xml_schema::flags::base, c),
31611  leakReversal_ (this),
31612  thresh_ (this),
31613  reset_ (this),
31614  C_ (this),
31615  leakConductance_ (this)
31616  {
31617  if ((f & ::xml_schema::flags::base) == 0)
31618  {
31619  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
31620  this->parse (p, f);
31621  }
31622  }
31623 
31624  void IafCell::
31625  parse (::xsd::cxx::xml::dom::parser< char >& p,
31626  ::xml_schema::flags f)
31627  {
31628  this->::neuroml2::BaseCell::parse (p, f);
31629 
31630  p.reset_attributes ();
31631 
31632  while (p.more_attributes ())
31633  {
31634  const ::xercesc::DOMAttr& i (p.next_attribute ());
31635  const ::xsd::cxx::xml::qualified_name< char > n (
31636  ::xsd::cxx::xml::dom::name< char > (i));
31637 
31638  if (n.name () == "leakReversal" && n.namespace_ ().empty ())
31639  {
31640  this->leakReversal_.set (leakReversal_traits::create (i, f, this));
31641  continue;
31642  }
31643 
31644  if (n.name () == "thresh" && n.namespace_ ().empty ())
31645  {
31646  this->thresh_.set (thresh_traits::create (i, f, this));
31647  continue;
31648  }
31649 
31650  if (n.name () == "reset" && n.namespace_ ().empty ())
31651  {
31652  this->reset_.set (reset_traits::create (i, f, this));
31653  continue;
31654  }
31655 
31656  if (n.name () == "C" && n.namespace_ ().empty ())
31657  {
31658  this->C_.set (C_traits::create (i, f, this));
31659  continue;
31660  }
31661 
31662  if (n.name () == "leakConductance" && n.namespace_ ().empty ())
31663  {
31664  this->leakConductance_.set (leakConductance_traits::create (i, f, this));
31665  continue;
31666  }
31667  }
31668 
31669  if (!leakReversal_.present ())
31670  {
31671  throw ::xsd::cxx::tree::expected_attribute< char > (
31672  "leakReversal",
31673  "");
31674  }
31675 
31676  if (!thresh_.present ())
31677  {
31678  throw ::xsd::cxx::tree::expected_attribute< char > (
31679  "thresh",
31680  "");
31681  }
31682 
31683  if (!reset_.present ())
31684  {
31685  throw ::xsd::cxx::tree::expected_attribute< char > (
31686  "reset",
31687  "");
31688  }
31689 
31690  if (!C_.present ())
31691  {
31692  throw ::xsd::cxx::tree::expected_attribute< char > (
31693  "C",
31694  "");
31695  }
31696 
31697  if (!leakConductance_.present ())
31698  {
31699  throw ::xsd::cxx::tree::expected_attribute< char > (
31700  "leakConductance",
31701  "");
31702  }
31703  }
31704 
31707  ::xml_schema::container* c) const
31708  {
31709  return new class IafCell (*this, f, c);
31710  }
31711 
31713  operator= (const IafCell& x)
31714  {
31715  if (this != &x)
31716  {
31717  static_cast< ::neuroml2::BaseCell& > (*this) = x;
31718  this->leakReversal_ = x.leakReversal_;
31719  this->thresh_ = x.thresh_;
31720  this->reset_ = x.reset_;
31721  this->C_ = x.C_;
31722  this->leakConductance_ = x.leakConductance_;
31723  }
31724 
31725  return *this;
31726  }
31727 
31729  ~IafCell ()
31730  {
31731  }
31732 
31733  bool
31734  operator== (const IafCell& x, const IafCell& y)
31735  {
31736  if (!(static_cast< const ::neuroml2::BaseCell& > (x) ==
31737  static_cast< const ::neuroml2::BaseCell& > (y)))
31738  return false;
31739 
31740  if (!(x.leakReversal () == y.leakReversal ()))
31741  return false;
31742 
31743  if (!(x.thresh () == y.thresh ()))
31744  return false;
31745 
31746  if (!(x.reset () == y.reset ()))
31747  return false;
31748 
31749  if (!(x.C () == y.C ()))
31750  return false;
31751 
31752  if (!(x.leakConductance () == y.leakConductance ()))
31753  return false;
31754 
31755  return true;
31756  }
31757 
31758  bool
31759  operator!= (const IafCell& x, const IafCell& y)
31760  {
31761  return !(x == y);
31762  }
31763 
31764  // IafRefCell
31765  //
31766 
31768  IafRefCell (const id_type& id,
31769  const leakReversal_type& leakReversal,
31770  const thresh_type& thresh,
31771  const reset_type& reset,
31772  const C_type& C,
31773  const leakConductance_type& leakConductance,
31774  const refract_type& refract)
31775  : ::neuroml2::IafCell (id,
31776  leakReversal,
31777  thresh,
31778  reset,
31779  C,
31780  leakConductance),
31781  refract_ (refract, this)
31782  {
31783  }
31784 
31786  IafRefCell (const IafRefCell& x,
31787  ::xml_schema::flags f,
31788  ::xml_schema::container* c)
31789  : ::neuroml2::IafCell (x, f, c),
31790  refract_ (x.refract_, f, this)
31791  {
31792  }
31793 
31795  IafRefCell (const ::xercesc::DOMElement& e,
31796  ::xml_schema::flags f,
31797  ::xml_schema::container* c)
31798  : ::neuroml2::IafCell (e, f | ::xml_schema::flags::base, c),
31799  refract_ (this)
31800  {
31801  if ((f & ::xml_schema::flags::base) == 0)
31802  {
31803  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
31804  this->parse (p, f);
31805  }
31806  }
31807 
31808  void IafRefCell::
31809  parse (::xsd::cxx::xml::dom::parser< char >& p,
31810  ::xml_schema::flags f)
31811  {
31812  this->::neuroml2::IafCell::parse (p, f);
31813 
31814  p.reset_attributes ();
31815 
31816  while (p.more_attributes ())
31817  {
31818  const ::xercesc::DOMAttr& i (p.next_attribute ());
31819  const ::xsd::cxx::xml::qualified_name< char > n (
31820  ::xsd::cxx::xml::dom::name< char > (i));
31821 
31822  if (n.name () == "refract" && n.namespace_ ().empty ())
31823  {
31824  this->refract_.set (refract_traits::create (i, f, this));
31825  continue;
31826  }
31827  }
31828 
31829  if (!refract_.present ())
31830  {
31831  throw ::xsd::cxx::tree::expected_attribute< char > (
31832  "refract",
31833  "");
31834  }
31835  }
31836 
31839  ::xml_schema::container* c) const
31840  {
31841  return new class IafRefCell (*this, f, c);
31842  }
31843 
31845  operator= (const IafRefCell& x)
31846  {
31847  if (this != &x)
31848  {
31849  static_cast< ::neuroml2::IafCell& > (*this) = x;
31850  this->refract_ = x.refract_;
31851  }
31852 
31853  return *this;
31854  }
31855 
31857  ~IafRefCell ()
31858  {
31859  }
31860 
31861  bool
31862  operator== (const IafRefCell& x, const IafRefCell& y)
31863  {
31864  if (!(static_cast< const ::neuroml2::IafCell& > (x) ==
31865  static_cast< const ::neuroml2::IafCell& > (y)))
31866  return false;
31867 
31868  if (!(x.refract () == y.refract ()))
31869  return false;
31870 
31871  return true;
31872  }
31873 
31874  bool
31875  operator!= (const IafRefCell& x, const IafRefCell& y)
31876  {
31877  return !(x == y);
31878  }
31879 
31880  // IzhikevichCell
31881  //
31882 
31884  IzhikevichCell (const id_type& id,
31885  const v0_type& v0,
31886  const thresh_type& thresh,
31887  const a_type& a,
31888  const b_type& b,
31889  const c_type& c,
31890  const d_type& d)
31891  : ::neuroml2::BaseCell (id),
31892  v0_ (v0, this),
31893  thresh_ (thresh, this),
31894  a_ (a, this),
31895  b_ (b, this),
31896  c_ (c, this),
31897  d_ (d, this)
31898  {
31899  }
31900 
31903  ::xml_schema::flags f,
31904  ::xml_schema::container* c)
31905  : ::neuroml2::BaseCell (x, f, c),
31906  v0_ (x.v0_, f, this),
31907  thresh_ (x.thresh_, f, this),
31908  a_ (x.a_, f, this),
31909  b_ (x.b_, f, this),
31910  c_ (x.c_, f, this),
31911  d_ (x.d_, f, this)
31912  {
31913  }
31914 
31916  IzhikevichCell (const ::xercesc::DOMElement& e,
31917  ::xml_schema::flags f,
31918  ::xml_schema::container* c)
31919  : ::neuroml2::BaseCell (e, f | ::xml_schema::flags::base, c),
31920  v0_ (this),
31921  thresh_ (this),
31922  a_ (this),
31923  b_ (this),
31924  c_ (this),
31925  d_ (this)
31926  {
31927  if ((f & ::xml_schema::flags::base) == 0)
31928  {
31929  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
31930  this->parse (p, f);
31931  }
31932  }
31933 
31934  void IzhikevichCell::
31935  parse (::xsd::cxx::xml::dom::parser< char >& p,
31936  ::xml_schema::flags f)
31937  {
31938  this->::neuroml2::BaseCell::parse (p, f);
31939 
31940  p.reset_attributes ();
31941 
31942  while (p.more_attributes ())
31943  {
31944  const ::xercesc::DOMAttr& i (p.next_attribute ());
31945  const ::xsd::cxx::xml::qualified_name< char > n (
31946  ::xsd::cxx::xml::dom::name< char > (i));
31947 
31948  if (n.name () == "v0" && n.namespace_ ().empty ())
31949  {
31950  this->v0_.set (v0_traits::create (i, f, this));
31951  continue;
31952  }
31953 
31954  if (n.name () == "thresh" && n.namespace_ ().empty ())
31955  {
31956  this->thresh_.set (thresh_traits::create (i, f, this));
31957  continue;
31958  }
31959 
31960  if (n.name () == "a" && n.namespace_ ().empty ())
31961  {
31962  this->a_.set (a_traits::create (i, f, this));
31963  continue;
31964  }
31965 
31966  if (n.name () == "b" && n.namespace_ ().empty ())
31967  {
31968  this->b_.set (b_traits::create (i, f, this));
31969  continue;
31970  }
31971 
31972  if (n.name () == "c" && n.namespace_ ().empty ())
31973  {
31974  this->c_.set (c_traits::create (i, f, this));
31975  continue;
31976  }
31977 
31978  if (n.name () == "d" && n.namespace_ ().empty ())
31979  {
31980  this->d_.set (d_traits::create (i, f, this));
31981  continue;
31982  }
31983  }
31984 
31985  if (!v0_.present ())
31986  {
31987  throw ::xsd::cxx::tree::expected_attribute< char > (
31988  "v0",
31989  "");
31990  }
31991 
31992  if (!thresh_.present ())
31993  {
31994  throw ::xsd::cxx::tree::expected_attribute< char > (
31995  "thresh",
31996  "");
31997  }
31998 
31999  if (!a_.present ())
32000  {
32001  throw ::xsd::cxx::tree::expected_attribute< char > (
32002  "a",
32003  "");
32004  }
32005 
32006  if (!b_.present ())
32007  {
32008  throw ::xsd::cxx::tree::expected_attribute< char > (
32009  "b",
32010  "");
32011  }
32012 
32013  if (!c_.present ())
32014  {
32015  throw ::xsd::cxx::tree::expected_attribute< char > (
32016  "c",
32017  "");
32018  }
32019 
32020  if (!d_.present ())
32021  {
32022  throw ::xsd::cxx::tree::expected_attribute< char > (
32023  "d",
32024  "");
32025  }
32026  }
32027 
32030  ::xml_schema::container* c) const
32031  {
32032  return new class IzhikevichCell (*this, f, c);
32033  }
32034 
32036  operator= (const IzhikevichCell& x)
32037  {
32038  if (this != &x)
32039  {
32040  static_cast< ::neuroml2::BaseCell& > (*this) = x;
32041  this->v0_ = x.v0_;
32042  this->thresh_ = x.thresh_;
32043  this->a_ = x.a_;
32044  this->b_ = x.b_;
32045  this->c_ = x.c_;
32046  this->d_ = x.d_;
32047  }
32048 
32049  return *this;
32050  }
32051 
32054  {
32055  }
32056 
32057  bool
32058  operator== (const IzhikevichCell& x, const IzhikevichCell& y)
32059  {
32060  if (!(static_cast< const ::neuroml2::BaseCell& > (x) ==
32061  static_cast< const ::neuroml2::BaseCell& > (y)))
32062  return false;
32063 
32064  if (!(x.v0 () == y.v0 ()))
32065  return false;
32066 
32067  if (!(x.thresh () == y.thresh ()))
32068  return false;
32069 
32070  if (!(x.a () == y.a ()))
32071  return false;
32072 
32073  if (!(x.b () == y.b ()))
32074  return false;
32075 
32076  if (!(x.c () == y.c ()))
32077  return false;
32078 
32079  if (!(x.d () == y.d ()))
32080  return false;
32081 
32082  return true;
32083  }
32084 
32085  bool
32086  operator!= (const IzhikevichCell& x, const IzhikevichCell& y)
32087  {
32088  return !(x == y);
32089  }
32090 
32091  // BaseCellMembPotCap
32092  //
32093 
32095  BaseCellMembPotCap (const id_type& id,
32096  const C_type& C)
32097  : ::neuroml2::BaseCell (id),
32098  C_ (C, this)
32099  {
32100  }
32101 
32104  ::xml_schema::flags f,
32105  ::xml_schema::container* c)
32106  : ::neuroml2::BaseCell (x, f, c),
32107  C_ (x.C_, f, this)
32108  {
32109  }
32110 
32112  BaseCellMembPotCap (const ::xercesc::DOMElement& e,
32113  ::xml_schema::flags f,
32114  ::xml_schema::container* c)
32115  : ::neuroml2::BaseCell (e, f | ::xml_schema::flags::base, c),
32116  C_ (this)
32117  {
32118  if ((f & ::xml_schema::flags::base) == 0)
32119  {
32120  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
32121  this->parse (p, f);
32122  }
32123  }
32124 
32125  void BaseCellMembPotCap::
32126  parse (::xsd::cxx::xml::dom::parser< char >& p,
32127  ::xml_schema::flags f)
32128  {
32129  this->::neuroml2::BaseCell::parse (p, f);
32130 
32131  p.reset_attributes ();
32132 
32133  while (p.more_attributes ())
32134  {
32135  const ::xercesc::DOMAttr& i (p.next_attribute ());
32136  const ::xsd::cxx::xml::qualified_name< char > n (
32137  ::xsd::cxx::xml::dom::name< char > (i));
32138 
32139  if (n.name () == "C" && n.namespace_ ().empty ())
32140  {
32141  this->C_.set (C_traits::create (i, f, this));
32142  continue;
32143  }
32144  }
32145 
32146  if (!C_.present ())
32147  {
32148  throw ::xsd::cxx::tree::expected_attribute< char > (
32149  "C",
32150  "");
32151  }
32152  }
32153 
32156  ::xml_schema::container* c) const
32157  {
32158  return new class BaseCellMembPotCap (*this, f, c);
32159  }
32160 
32163  {
32164  if (this != &x)
32165  {
32166  static_cast< ::neuroml2::BaseCell& > (*this) = x;
32167  this->C_ = x.C_;
32168  }
32169 
32170  return *this;
32171  }
32172 
32175  {
32176  }
32177 
32178  bool
32179  operator== (const BaseCellMembPotCap& x, const BaseCellMembPotCap& y)
32180  {
32181  if (!(static_cast< const ::neuroml2::BaseCell& > (x) ==
32182  static_cast< const ::neuroml2::BaseCell& > (y)))
32183  return false;
32184 
32185  if (!(x.C () == y.C ()))
32186  return false;
32187 
32188  return true;
32189  }
32190 
32191  bool
32192  operator!= (const BaseCellMembPotCap& x, const BaseCellMembPotCap& y)
32193  {
32194  return !(x == y);
32195  }
32196 
32197  // Izhikevich2007Cell
32198  //
32199 
32201  Izhikevich2007Cell (const id_type& id,
32202  const C_type& C,
32203  const v0_type& v0,
32204  const k_type& k,
32205  const vr_type& vr,
32206  const vt_type& vt,
32207  const vpeak_type& vpeak,
32208  const a_type& a,
32209  const b_type& b,
32210  const c_type& c,
32211  const d_type& d)
32213  C),
32214  v0_ (v0, this),
32215  k_ (k, this),
32216  vr_ (vr, this),
32217  vt_ (vt, this),
32218  vpeak_ (vpeak, this),
32219  a_ (a, this),
32220  b_ (b, this),
32221  c_ (c, this),
32222  d_ (d, this)
32223  {
32224  }
32225 
32228  ::xml_schema::flags f,
32229  ::xml_schema::container* c)
32230  : ::neuroml2::BaseCellMembPotCap (x, f, c),
32231  v0_ (x.v0_, f, this),
32232  k_ (x.k_, f, this),
32233  vr_ (x.vr_, f, this),
32234  vt_ (x.vt_, f, this),
32235  vpeak_ (x.vpeak_, f, this),
32236  a_ (x.a_, f, this),
32237  b_ (x.b_, f, this),
32238  c_ (x.c_, f, this),
32239  d_ (x.d_, f, this)
32240  {
32241  }
32242 
32244  Izhikevich2007Cell (const ::xercesc::DOMElement& e,
32245  ::xml_schema::flags f,
32246  ::xml_schema::container* c)
32247  : ::neuroml2::BaseCellMembPotCap (e, f | ::xml_schema::flags::base, c),
32248  v0_ (this),
32249  k_ (this),
32250  vr_ (this),
32251  vt_ (this),
32252  vpeak_ (this),
32253  a_ (this),
32254  b_ (this),
32255  c_ (this),
32256  d_ (this)
32257  {
32258  if ((f & ::xml_schema::flags::base) == 0)
32259  {
32260  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
32261  this->parse (p, f);
32262  }
32263  }
32264 
32265  void Izhikevich2007Cell::
32266  parse (::xsd::cxx::xml::dom::parser< char >& p,
32267  ::xml_schema::flags f)
32268  {
32269  this->::neuroml2::BaseCellMembPotCap::parse (p, f);
32270 
32271  p.reset_attributes ();
32272 
32273  while (p.more_attributes ())
32274  {
32275  const ::xercesc::DOMAttr& i (p.next_attribute ());
32276  const ::xsd::cxx::xml::qualified_name< char > n (
32277  ::xsd::cxx::xml::dom::name< char > (i));
32278 
32279  if (n.name () == "v0" && n.namespace_ ().empty ())
32280  {
32281  this->v0_.set (v0_traits::create (i, f, this));
32282  continue;
32283  }
32284 
32285  if (n.name () == "k" && n.namespace_ ().empty ())
32286  {
32287  this->k_.set (k_traits::create (i, f, this));
32288  continue;
32289  }
32290 
32291  if (n.name () == "vr" && n.namespace_ ().empty ())
32292  {
32293  this->vr_.set (vr_traits::create (i, f, this));
32294  continue;
32295  }
32296 
32297  if (n.name () == "vt" && n.namespace_ ().empty ())
32298  {
32299  this->vt_.set (vt_traits::create (i, f, this));
32300  continue;
32301  }
32302 
32303  if (n.name () == "vpeak" && n.namespace_ ().empty ())
32304  {
32305  this->vpeak_.set (vpeak_traits::create (i, f, this));
32306  continue;
32307  }
32308 
32309  if (n.name () == "a" && n.namespace_ ().empty ())
32310  {
32311  this->a_.set (a_traits::create (i, f, this));
32312  continue;
32313  }
32314 
32315  if (n.name () == "b" && n.namespace_ ().empty ())
32316  {
32317  this->b_.set (b_traits::create (i, f, this));
32318  continue;
32319  }
32320 
32321  if (n.name () == "c" && n.namespace_ ().empty ())
32322  {
32323  this->c_.set (c_traits::create (i, f, this));
32324  continue;
32325  }
32326 
32327  if (n.name () == "d" && n.namespace_ ().empty ())
32328  {
32329  this->d_.set (d_traits::create (i, f, this));
32330  continue;
32331  }
32332  }
32333 
32334  if (!v0_.present ())
32335  {
32336  throw ::xsd::cxx::tree::expected_attribute< char > (
32337  "v0",
32338  "");
32339  }
32340 
32341  if (!k_.present ())
32342  {
32343  throw ::xsd::cxx::tree::expected_attribute< char > (
32344  "k",
32345  "");
32346  }
32347 
32348  if (!vr_.present ())
32349  {
32350  throw ::xsd::cxx::tree::expected_attribute< char > (
32351  "vr",
32352  "");
32353  }
32354 
32355  if (!vt_.present ())
32356  {
32357  throw ::xsd::cxx::tree::expected_attribute< char > (
32358  "vt",
32359  "");
32360  }
32361 
32362  if (!vpeak_.present ())
32363  {
32364  throw ::xsd::cxx::tree::expected_attribute< char > (
32365  "vpeak",
32366  "");
32367  }
32368 
32369  if (!a_.present ())
32370  {
32371  throw ::xsd::cxx::tree::expected_attribute< char > (
32372  "a",
32373  "");
32374  }
32375 
32376  if (!b_.present ())
32377  {
32378  throw ::xsd::cxx::tree::expected_attribute< char > (
32379  "b",
32380  "");
32381  }
32382 
32383  if (!c_.present ())
32384  {
32385  throw ::xsd::cxx::tree::expected_attribute< char > (
32386  "c",
32387  "");
32388  }
32389 
32390  if (!d_.present ())
32391  {
32392  throw ::xsd::cxx::tree::expected_attribute< char > (
32393  "d",
32394  "");
32395  }
32396  }
32397 
32400  ::xml_schema::container* c) const
32401  {
32402  return new class Izhikevich2007Cell (*this, f, c);
32403  }
32404 
32407  {
32408  if (this != &x)
32409  {
32410  static_cast< ::neuroml2::BaseCellMembPotCap& > (*this) = x;
32411  this->v0_ = x.v0_;
32412  this->k_ = x.k_;
32413  this->vr_ = x.vr_;
32414  this->vt_ = x.vt_;
32415  this->vpeak_ = x.vpeak_;
32416  this->a_ = x.a_;
32417  this->b_ = x.b_;
32418  this->c_ = x.c_;
32419  this->d_ = x.d_;
32420  }
32421 
32422  return *this;
32423  }
32424 
32427  {
32428  }
32429 
32430  bool
32431  operator== (const Izhikevich2007Cell& x, const Izhikevich2007Cell& y)
32432  {
32433  if (!(static_cast< const ::neuroml2::BaseCellMembPotCap& > (x) ==
32434  static_cast< const ::neuroml2::BaseCellMembPotCap& > (y)))
32435  return false;
32436 
32437  if (!(x.v0 () == y.v0 ()))
32438  return false;
32439 
32440  if (!(x.k () == y.k ()))
32441  return false;
32442 
32443  if (!(x.vr () == y.vr ()))
32444  return false;
32445 
32446  if (!(x.vt () == y.vt ()))
32447  return false;
32448 
32449  if (!(x.vpeak () == y.vpeak ()))
32450  return false;
32451 
32452  if (!(x.a () == y.a ()))
32453  return false;
32454 
32455  if (!(x.b () == y.b ()))
32456  return false;
32457 
32458  if (!(x.c () == y.c ()))
32459  return false;
32460 
32461  if (!(x.d () == y.d ()))
32462  return false;
32463 
32464  return true;
32465  }
32466 
32467  bool
32468  operator!= (const Izhikevich2007Cell& x, const Izhikevich2007Cell& y)
32469  {
32470  return !(x == y);
32471  }
32472 
32473  // AdExIaFCell
32474  //
32475 
32477  AdExIaFCell (const id_type& id,
32478  const C_type& C,
32479  const gL_type& gL,
32480  const EL_type& EL,
32481  const reset_type& reset,
32482  const VT_type& VT,
32483  const thresh_type& thresh,
32484  const delT_type& delT,
32485  const tauw_type& tauw,
32486  const refract_type& refract,
32487  const a_type& a,
32488  const b_type& b)
32490  C),
32491  gL_ (gL, this),
32492  EL_ (EL, this),
32493  reset_ (reset, this),
32494  VT_ (VT, this),
32495  thresh_ (thresh, this),
32496  delT_ (delT, this),
32497  tauw_ (tauw, this),
32498  refract_ (refract, this),
32499  a_ (a, this),
32500  b_ (b, this)
32501  {
32502  }
32503 
32505  AdExIaFCell (const AdExIaFCell& x,
32506  ::xml_schema::flags f,
32507  ::xml_schema::container* c)
32508  : ::neuroml2::BaseCellMembPotCap (x, f, c),
32509  gL_ (x.gL_, f, this),
32510  EL_ (x.EL_, f, this),
32511  reset_ (x.reset_, f, this),
32512  VT_ (x.VT_, f, this),
32513  thresh_ (x.thresh_, f, this),
32514  delT_ (x.delT_, f, this),
32515  tauw_ (x.tauw_, f, this),
32516  refract_ (x.refract_, f, this),
32517  a_ (x.a_, f, this),
32518  b_ (x.b_, f, this)
32519  {
32520  }
32521 
32523  AdExIaFCell (const ::xercesc::DOMElement& e,
32524  ::xml_schema::flags f,
32525  ::xml_schema::container* c)
32526  : ::neuroml2::BaseCellMembPotCap (e, f | ::xml_schema::flags::base, c),
32527  gL_ (this),
32528  EL_ (this),
32529  reset_ (this),
32530  VT_ (this),
32531  thresh_ (this),
32532  delT_ (this),
32533  tauw_ (this),
32534  refract_ (this),
32535  a_ (this),
32536  b_ (this)
32537  {
32538  if ((f & ::xml_schema::flags::base) == 0)
32539  {
32540  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
32541  this->parse (p, f);
32542  }
32543  }
32544 
32545  void AdExIaFCell::
32546  parse (::xsd::cxx::xml::dom::parser< char >& p,
32547  ::xml_schema::flags f)
32548  {
32549  this->::neuroml2::BaseCellMembPotCap::parse (p, f);
32550 
32551  p.reset_attributes ();
32552 
32553  while (p.more_attributes ())
32554  {
32555  const ::xercesc::DOMAttr& i (p.next_attribute ());
32556  const ::xsd::cxx::xml::qualified_name< char > n (
32557  ::xsd::cxx::xml::dom::name< char > (i));
32558 
32559  if (n.name () == "gL" && n.namespace_ ().empty ())
32560  {
32561  this->gL_.set (gL_traits::create (i, f, this));
32562  continue;
32563  }
32564 
32565  if (n.name () == "EL" && n.namespace_ ().empty ())
32566  {
32567  this->EL_.set (EL_traits::create (i, f, this));
32568  continue;
32569  }
32570 
32571  if (n.name () == "reset" && n.namespace_ ().empty ())
32572  {
32573  this->reset_.set (reset_traits::create (i, f, this));
32574  continue;
32575  }
32576 
32577  if (n.name () == "VT" && n.namespace_ ().empty ())
32578  {
32579  this->VT_.set (VT_traits::create (i, f, this));
32580  continue;
32581  }
32582 
32583  if (n.name () == "thresh" && n.namespace_ ().empty ())
32584  {
32585  this->thresh_.set (thresh_traits::create (i, f, this));
32586  continue;
32587  }
32588 
32589  if (n.name () == "delT" && n.namespace_ ().empty ())
32590  {
32591  this->delT_.set (delT_traits::create (i, f, this));
32592  continue;
32593  }
32594 
32595  if (n.name () == "tauw" && n.namespace_ ().empty ())
32596  {
32597  this->tauw_.set (tauw_traits::create (i, f, this));
32598  continue;
32599  }
32600 
32601  if (n.name () == "refract" && n.namespace_ ().empty ())
32602  {
32603  this->refract_.set (refract_traits::create (i, f, this));
32604  continue;
32605  }
32606 
32607  if (n.name () == "a" && n.namespace_ ().empty ())
32608  {
32609  this->a_.set (a_traits::create (i, f, this));
32610  continue;
32611  }
32612 
32613  if (n.name () == "b" && n.namespace_ ().empty ())
32614  {
32615  this->b_.set (b_traits::create (i, f, this));
32616  continue;
32617  }
32618  }
32619 
32620  if (!gL_.present ())
32621  {
32622  throw ::xsd::cxx::tree::expected_attribute< char > (
32623  "gL",
32624  "");
32625  }
32626 
32627  if (!EL_.present ())
32628  {
32629  throw ::xsd::cxx::tree::expected_attribute< char > (
32630  "EL",
32631  "");
32632  }
32633 
32634  if (!reset_.present ())
32635  {
32636  throw ::xsd::cxx::tree::expected_attribute< char > (
32637  "reset",
32638  "");
32639  }
32640 
32641  if (!VT_.present ())
32642  {
32643  throw ::xsd::cxx::tree::expected_attribute< char > (
32644  "VT",
32645  "");
32646  }
32647 
32648  if (!thresh_.present ())
32649  {
32650  throw ::xsd::cxx::tree::expected_attribute< char > (
32651  "thresh",
32652  "");
32653  }
32654 
32655  if (!delT_.present ())
32656  {
32657  throw ::xsd::cxx::tree::expected_attribute< char > (
32658  "delT",
32659  "");
32660  }
32661 
32662  if (!tauw_.present ())
32663  {
32664  throw ::xsd::cxx::tree::expected_attribute< char > (
32665  "tauw",
32666  "");
32667  }
32668 
32669  if (!refract_.present ())
32670  {
32671  throw ::xsd::cxx::tree::expected_attribute< char > (
32672  "refract",
32673  "");
32674  }
32675 
32676  if (!a_.present ())
32677  {
32678  throw ::xsd::cxx::tree::expected_attribute< char > (
32679  "a",
32680  "");
32681  }
32682 
32683  if (!b_.present ())
32684  {
32685  throw ::xsd::cxx::tree::expected_attribute< char > (
32686  "b",
32687  "");
32688  }
32689  }
32690 
32693  ::xml_schema::container* c) const
32694  {
32695  return new class AdExIaFCell (*this, f, c);
32696  }
32697 
32699  operator= (const AdExIaFCell& x)
32700  {
32701  if (this != &x)
32702  {
32703  static_cast< ::neuroml2::BaseCellMembPotCap& > (*this) = x;
32704  this->gL_ = x.gL_;
32705  this->EL_ = x.EL_;
32706  this->reset_ = x.reset_;
32707  this->VT_ = x.VT_;
32708  this->thresh_ = x.thresh_;
32709  this->delT_ = x.delT_;
32710  this->tauw_ = x.tauw_;
32711  this->refract_ = x.refract_;
32712  this->a_ = x.a_;
32713  this->b_ = x.b_;
32714  }
32715 
32716  return *this;
32717  }
32718 
32720  ~AdExIaFCell ()
32721  {
32722  }
32723 
32724  bool
32725  operator== (const AdExIaFCell& x, const AdExIaFCell& y)
32726  {
32727  if (!(static_cast< const ::neuroml2::BaseCellMembPotCap& > (x) ==
32728  static_cast< const ::neuroml2::BaseCellMembPotCap& > (y)))
32729  return false;
32730 
32731  if (!(x.gL () == y.gL ()))
32732  return false;
32733 
32734  if (!(x.EL () == y.EL ()))
32735  return false;
32736 
32737  if (!(x.reset () == y.reset ()))
32738  return false;
32739 
32740  if (!(x.VT () == y.VT ()))
32741  return false;
32742 
32743  if (!(x.thresh () == y.thresh ()))
32744  return false;
32745 
32746  if (!(x.delT () == y.delT ()))
32747  return false;
32748 
32749  if (!(x.tauw () == y.tauw ()))
32750  return false;
32751 
32752  if (!(x.refract () == y.refract ()))
32753  return false;
32754 
32755  if (!(x.a () == y.a ()))
32756  return false;
32757 
32758  if (!(x.b () == y.b ()))
32759  return false;
32760 
32761  return true;
32762  }
32763 
32764  bool
32765  operator!= (const AdExIaFCell& x, const AdExIaFCell& y)
32766  {
32767  return !(x == y);
32768  }
32769 
32770  // FitzHughNagumoCell
32771  //
32772 
32774  FitzHughNagumoCell (const id_type& id,
32775  const I_type& I)
32776  : ::neuroml2::BaseCell (id),
32777  I_ (I, this)
32778  {
32779  }
32780 
32783  ::xml_schema::flags f,
32784  ::xml_schema::container* c)
32785  : ::neuroml2::BaseCell (x, f, c),
32786  I_ (x.I_, f, this)
32787  {
32788  }
32789 
32791  FitzHughNagumoCell (const ::xercesc::DOMElement& e,
32792  ::xml_schema::flags f,
32793  ::xml_schema::container* c)
32794  : ::neuroml2::BaseCell (e, f | ::xml_schema::flags::base, c),
32795  I_ (this)
32796  {
32797  if ((f & ::xml_schema::flags::base) == 0)
32798  {
32799  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
32800  this->parse (p, f);
32801  }
32802  }
32803 
32804  void FitzHughNagumoCell::
32805  parse (::xsd::cxx::xml::dom::parser< char >& p,
32806  ::xml_schema::flags f)
32807  {
32808  this->::neuroml2::BaseCell::parse (p, f);
32809 
32810  p.reset_attributes ();
32811 
32812  while (p.more_attributes ())
32813  {
32814  const ::xercesc::DOMAttr& i (p.next_attribute ());
32815  const ::xsd::cxx::xml::qualified_name< char > n (
32816  ::xsd::cxx::xml::dom::name< char > (i));
32817 
32818  if (n.name () == "I" && n.namespace_ ().empty ())
32819  {
32820  this->I_.set (I_traits::create (i, f, this));
32821  continue;
32822  }
32823  }
32824 
32825  if (!I_.present ())
32826  {
32827  throw ::xsd::cxx::tree::expected_attribute< char > (
32828  "I",
32829  "");
32830  }
32831  }
32832 
32835  ::xml_schema::container* c) const
32836  {
32837  return new class FitzHughNagumoCell (*this, f, c);
32838  }
32839 
32842  {
32843  if (this != &x)
32844  {
32845  static_cast< ::neuroml2::BaseCell& > (*this) = x;
32846  this->I_ = x.I_;
32847  }
32848 
32849  return *this;
32850  }
32851 
32854  {
32855  }
32856 
32857  bool
32858  operator== (const FitzHughNagumoCell& x, const FitzHughNagumoCell& y)
32859  {
32860  if (!(static_cast< const ::neuroml2::BaseCell& > (x) ==
32861  static_cast< const ::neuroml2::BaseCell& > (y)))
32862  return false;
32863 
32864  if (!(x.I () == y.I ()))
32865  return false;
32866 
32867  return true;
32868  }
32869 
32870  bool
32871  operator!= (const FitzHughNagumoCell& x, const FitzHughNagumoCell& y)
32872  {
32873  return !(x == y);
32874  }
32875 
32876  // FitzHughNagumo1969Cell
32877  //
32878 
32880  FitzHughNagumo1969Cell (const id_type& id,
32881  const a_type& a,
32882  const b_type& b,
32883  const I_type& I,
32884  const phi_type& phi,
32885  const V0_type& V0,
32886  const W0_type& W0)
32887  : ::neuroml2::BaseCell (id),
32888  a_ (a, this),
32889  b_ (b, this),
32890  I_ (I, this),
32891  phi_ (phi, this),
32892  V0_ (V0, this),
32893  W0_ (W0, this)
32894  {
32895  }
32896 
32899  ::xml_schema::flags f,
32900  ::xml_schema::container* c)
32901  : ::neuroml2::BaseCell (x, f, c),
32902  a_ (x.a_, f, this),
32903  b_ (x.b_, f, this),
32904  I_ (x.I_, f, this),
32905  phi_ (x.phi_, f, this),
32906  V0_ (x.V0_, f, this),
32907  W0_ (x.W0_, f, this)
32908  {
32909  }
32910 
32912  FitzHughNagumo1969Cell (const ::xercesc::DOMElement& e,
32913  ::xml_schema::flags f,
32914  ::xml_schema::container* c)
32915  : ::neuroml2::BaseCell (e, f | ::xml_schema::flags::base, c),
32916  a_ (this),
32917  b_ (this),
32918  I_ (this),
32919  phi_ (this),
32920  V0_ (this),
32921  W0_ (this)
32922  {
32923  if ((f & ::xml_schema::flags::base) == 0)
32924  {
32925  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
32926  this->parse (p, f);
32927  }
32928  }
32929 
32930  void FitzHughNagumo1969Cell::
32931  parse (::xsd::cxx::xml::dom::parser< char >& p,
32932  ::xml_schema::flags f)
32933  {
32934  this->::neuroml2::BaseCell::parse (p, f);
32935 
32936  p.reset_attributes ();
32937 
32938  while (p.more_attributes ())
32939  {
32940  const ::xercesc::DOMAttr& i (p.next_attribute ());
32941  const ::xsd::cxx::xml::qualified_name< char > n (
32942  ::xsd::cxx::xml::dom::name< char > (i));
32943 
32944  if (n.name () == "a" && n.namespace_ ().empty ())
32945  {
32946  this->a_.set (a_traits::create (i, f, this));
32947  continue;
32948  }
32949 
32950  if (n.name () == "b" && n.namespace_ ().empty ())
32951  {
32952  this->b_.set (b_traits::create (i, f, this));
32953  continue;
32954  }
32955 
32956  if (n.name () == "I" && n.namespace_ ().empty ())
32957  {
32958  this->I_.set (I_traits::create (i, f, this));
32959  continue;
32960  }
32961 
32962  if (n.name () == "phi" && n.namespace_ ().empty ())
32963  {
32964  this->phi_.set (phi_traits::create (i, f, this));
32965  continue;
32966  }
32967 
32968  if (n.name () == "V0" && n.namespace_ ().empty ())
32969  {
32970  this->V0_.set (V0_traits::create (i, f, this));
32971  continue;
32972  }
32973 
32974  if (n.name () == "W0" && n.namespace_ ().empty ())
32975  {
32976  this->W0_.set (W0_traits::create (i, f, this));
32977  continue;
32978  }
32979  }
32980 
32981  if (!a_.present ())
32982  {
32983  throw ::xsd::cxx::tree::expected_attribute< char > (
32984  "a",
32985  "");
32986  }
32987 
32988  if (!b_.present ())
32989  {
32990  throw ::xsd::cxx::tree::expected_attribute< char > (
32991  "b",
32992  "");
32993  }
32994 
32995  if (!I_.present ())
32996  {
32997  throw ::xsd::cxx::tree::expected_attribute< char > (
32998  "I",
32999  "");
33000  }
33001 
33002  if (!phi_.present ())
33003  {
33004  throw ::xsd::cxx::tree::expected_attribute< char > (
33005  "phi",
33006  "");
33007  }
33008 
33009  if (!V0_.present ())
33010  {
33011  throw ::xsd::cxx::tree::expected_attribute< char > (
33012  "V0",
33013  "");
33014  }
33015 
33016  if (!W0_.present ())
33017  {
33018  throw ::xsd::cxx::tree::expected_attribute< char > (
33019  "W0",
33020  "");
33021  }
33022  }
33023 
33026  ::xml_schema::container* c) const
33027  {
33028  return new class FitzHughNagumo1969Cell (*this, f, c);
33029  }
33030 
33033  {
33034  if (this != &x)
33035  {
33036  static_cast< ::neuroml2::BaseCell& > (*this) = x;
33037  this->a_ = x.a_;
33038  this->b_ = x.b_;
33039  this->I_ = x.I_;
33040  this->phi_ = x.phi_;
33041  this->V0_ = x.V0_;
33042  this->W0_ = x.W0_;
33043  }
33044 
33045  return *this;
33046  }
33047 
33050  {
33051  }
33052 
33053  bool
33054  operator== (const FitzHughNagumo1969Cell& x, const FitzHughNagumo1969Cell& y)
33055  {
33056  if (!(static_cast< const ::neuroml2::BaseCell& > (x) ==
33057  static_cast< const ::neuroml2::BaseCell& > (y)))
33058  return false;
33059 
33060  if (!(x.a () == y.a ()))
33061  return false;
33062 
33063  if (!(x.b () == y.b ()))
33064  return false;
33065 
33066  if (!(x.I () == y.I ()))
33067  return false;
33068 
33069  if (!(x.phi () == y.phi ()))
33070  return false;
33071 
33072  if (!(x.V0 () == y.V0 ()))
33073  return false;
33074 
33075  if (!(x.W0 () == y.W0 ()))
33076  return false;
33077 
33078  return true;
33079  }
33080 
33081  bool
33082  operator!= (const FitzHughNagumo1969Cell& x, const FitzHughNagumo1969Cell& y)
33083  {
33084  return !(x == y);
33085  }
33086 
33087  // PinskyRinzelCA3Cell
33088  //
33089 
33091  PinskyRinzelCA3Cell (const id_type& id,
33092  const iSoma_type& iSoma,
33093  const iDend_type& iDend,
33094  const gc_type& gc,
33095  const gLs_type& gLs,
33096  const gLd_type& gLd,
33097  const gNa_type& gNa,
33098  const gKdr_type& gKdr,
33099  const gCa_type& gCa,
33100  const gKahp_type& gKahp,
33101  const gKC_type& gKC,
33102  const gNmda_type& gNmda,
33103  const gAmpa_type& gAmpa,
33104  const eNa_type& eNa,
33105  const eCa_type& eCa,
33106  const eK_type& eK,
33107  const eL_type& eL,
33108  const qd0_type& qd0,
33109  const pp_type& pp,
33110  const alphac_type& alphac,
33111  const betac_type& betac,
33112  const cm_type& cm)
33113  : ::neuroml2::BaseCell (id),
33114  iSoma_ (iSoma, this),
33115  iDend_ (iDend, this),
33116  gc_ (gc, this),
33117  gLs_ (gLs, this),
33118  gLd_ (gLd, this),
33119  gNa_ (gNa, this),
33120  gKdr_ (gKdr, this),
33121  gCa_ (gCa, this),
33122  gKahp_ (gKahp, this),
33123  gKC_ (gKC, this),
33124  gNmda_ (gNmda, this),
33125  gAmpa_ (gAmpa, this),
33126  eNa_ (eNa, this),
33127  eCa_ (eCa, this),
33128  eK_ (eK, this),
33129  eL_ (eL, this),
33130  qd0_ (qd0, this),
33131  pp_ (pp, this),
33132  alphac_ (alphac, this),
33133  betac_ (betac, this),
33134  cm_ (cm, this)
33135  {
33136  }
33137 
33140  ::xml_schema::flags f,
33141  ::xml_schema::container* c)
33142  : ::neuroml2::BaseCell (x, f, c),
33143  iSoma_ (x.iSoma_, f, this),
33144  iDend_ (x.iDend_, f, this),
33145  gc_ (x.gc_, f, this),
33146  gLs_ (x.gLs_, f, this),
33147  gLd_ (x.gLd_, f, this),
33148  gNa_ (x.gNa_, f, this),
33149  gKdr_ (x.gKdr_, f, this),
33150  gCa_ (x.gCa_, f, this),
33151  gKahp_ (x.gKahp_, f, this),
33152  gKC_ (x.gKC_, f, this),
33153  gNmda_ (x.gNmda_, f, this),
33154  gAmpa_ (x.gAmpa_, f, this),
33155  eNa_ (x.eNa_, f, this),
33156  eCa_ (x.eCa_, f, this),
33157  eK_ (x.eK_, f, this),
33158  eL_ (x.eL_, f, this),
33159  qd0_ (x.qd0_, f, this),
33160  pp_ (x.pp_, f, this),
33161  alphac_ (x.alphac_, f, this),
33162  betac_ (x.betac_, f, this),
33163  cm_ (x.cm_, f, this)
33164  {
33165  }
33166 
33168  PinskyRinzelCA3Cell (const ::xercesc::DOMElement& e,
33169  ::xml_schema::flags f,
33170  ::xml_schema::container* c)
33171  : ::neuroml2::BaseCell (e, f | ::xml_schema::flags::base, c),
33172  iSoma_ (this),
33173  iDend_ (this),
33174  gc_ (this),
33175  gLs_ (this),
33176  gLd_ (this),
33177  gNa_ (this),
33178  gKdr_ (this),
33179  gCa_ (this),
33180  gKahp_ (this),
33181  gKC_ (this),
33182  gNmda_ (this),
33183  gAmpa_ (this),
33184  eNa_ (this),
33185  eCa_ (this),
33186  eK_ (this),
33187  eL_ (this),
33188  qd0_ (this),
33189  pp_ (this),
33190  alphac_ (this),
33191  betac_ (this),
33192  cm_ (this)
33193  {
33194  if ((f & ::xml_schema::flags::base) == 0)
33195  {
33196  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
33197  this->parse (p, f);
33198  }
33199  }
33200 
33201  void PinskyRinzelCA3Cell::
33202  parse (::xsd::cxx::xml::dom::parser< char >& p,
33203  ::xml_schema::flags f)
33204  {
33205  this->::neuroml2::BaseCell::parse (p, f);
33206 
33207  p.reset_attributes ();
33208 
33209  while (p.more_attributes ())
33210  {
33211  const ::xercesc::DOMAttr& i (p.next_attribute ());
33212  const ::xsd::cxx::xml::qualified_name< char > n (
33213  ::xsd::cxx::xml::dom::name< char > (i));
33214 
33215  if (n.name () == "iSoma" && n.namespace_ ().empty ())
33216  {
33217  this->iSoma_.set (iSoma_traits::create (i, f, this));
33218  continue;
33219  }
33220 
33221  if (n.name () == "iDend" && n.namespace_ ().empty ())
33222  {
33223  this->iDend_.set (iDend_traits::create (i, f, this));
33224  continue;
33225  }
33226 
33227  if (n.name () == "gc" && n.namespace_ ().empty ())
33228  {
33229  this->gc_.set (gc_traits::create (i, f, this));
33230  continue;
33231  }
33232 
33233  if (n.name () == "gLs" && n.namespace_ ().empty ())
33234  {
33235  this->gLs_.set (gLs_traits::create (i, f, this));
33236  continue;
33237  }
33238 
33239  if (n.name () == "gLd" && n.namespace_ ().empty ())
33240  {
33241  this->gLd_.set (gLd_traits::create (i, f, this));
33242  continue;
33243  }
33244 
33245  if (n.name () == "gNa" && n.namespace_ ().empty ())
33246  {
33247  this->gNa_.set (gNa_traits::create (i, f, this));
33248  continue;
33249  }
33250 
33251  if (n.name () == "gKdr" && n.namespace_ ().empty ())
33252  {
33253  this->gKdr_.set (gKdr_traits::create (i, f, this));
33254  continue;
33255  }
33256 
33257  if (n.name () == "gCa" && n.namespace_ ().empty ())
33258  {
33259  this->gCa_.set (gCa_traits::create (i, f, this));
33260  continue;
33261  }
33262 
33263  if (n.name () == "gKahp" && n.namespace_ ().empty ())
33264  {
33265  this->gKahp_.set (gKahp_traits::create (i, f, this));
33266  continue;
33267  }
33268 
33269  if (n.name () == "gKC" && n.namespace_ ().empty ())
33270  {
33271  this->gKC_.set (gKC_traits::create (i, f, this));
33272  continue;
33273  }
33274 
33275  if (n.name () == "gNmda" && n.namespace_ ().empty ())
33276  {
33277  this->gNmda_.set (gNmda_traits::create (i, f, this));
33278  continue;
33279  }
33280 
33281  if (n.name () == "gAmpa" && n.namespace_ ().empty ())
33282  {
33283  this->gAmpa_.set (gAmpa_traits::create (i, f, this));
33284  continue;
33285  }
33286 
33287  if (n.name () == "eNa" && n.namespace_ ().empty ())
33288  {
33289  this->eNa_.set (eNa_traits::create (i, f, this));
33290  continue;
33291  }
33292 
33293  if (n.name () == "eCa" && n.namespace_ ().empty ())
33294  {
33295  this->eCa_.set (eCa_traits::create (i, f, this));
33296  continue;
33297  }
33298 
33299  if (n.name () == "eK" && n.namespace_ ().empty ())
33300  {
33301  this->eK_.set (eK_traits::create (i, f, this));
33302  continue;
33303  }
33304 
33305  if (n.name () == "eL" && n.namespace_ ().empty ())
33306  {
33307  this->eL_.set (eL_traits::create (i, f, this));
33308  continue;
33309  }
33310 
33311  if (n.name () == "qd0" && n.namespace_ ().empty ())
33312  {
33313  this->qd0_.set (qd0_traits::create (i, f, this));
33314  continue;
33315  }
33316 
33317  if (n.name () == "pp" && n.namespace_ ().empty ())
33318  {
33319  this->pp_.set (pp_traits::create (i, f, this));
33320  continue;
33321  }
33322 
33323  if (n.name () == "alphac" && n.namespace_ ().empty ())
33324  {
33325  this->alphac_.set (alphac_traits::create (i, f, this));
33326  continue;
33327  }
33328 
33329  if (n.name () == "betac" && n.namespace_ ().empty ())
33330  {
33331  this->betac_.set (betac_traits::create (i, f, this));
33332  continue;
33333  }
33334 
33335  if (n.name () == "cm" && n.namespace_ ().empty ())
33336  {
33337  this->cm_.set (cm_traits::create (i, f, this));
33338  continue;
33339  }
33340  }
33341 
33342  if (!iSoma_.present ())
33343  {
33344  throw ::xsd::cxx::tree::expected_attribute< char > (
33345  "iSoma",
33346  "");
33347  }
33348 
33349  if (!iDend_.present ())
33350  {
33351  throw ::xsd::cxx::tree::expected_attribute< char > (
33352  "iDend",
33353  "");
33354  }
33355 
33356  if (!gc_.present ())
33357  {
33358  throw ::xsd::cxx::tree::expected_attribute< char > (
33359  "gc",
33360  "");
33361  }
33362 
33363  if (!gLs_.present ())
33364  {
33365  throw ::xsd::cxx::tree::expected_attribute< char > (
33366  "gLs",
33367  "");
33368  }
33369 
33370  if (!gLd_.present ())
33371  {
33372  throw ::xsd::cxx::tree::expected_attribute< char > (
33373  "gLd",
33374  "");
33375  }
33376 
33377  if (!gNa_.present ())
33378  {
33379  throw ::xsd::cxx::tree::expected_attribute< char > (
33380  "gNa",
33381  "");
33382  }
33383 
33384  if (!gKdr_.present ())
33385  {
33386  throw ::xsd::cxx::tree::expected_attribute< char > (
33387  "gKdr",
33388  "");
33389  }
33390 
33391  if (!gCa_.present ())
33392  {
33393  throw ::xsd::cxx::tree::expected_attribute< char > (
33394  "gCa",
33395  "");
33396  }
33397 
33398  if (!gKahp_.present ())
33399  {
33400  throw ::xsd::cxx::tree::expected_attribute< char > (
33401  "gKahp",
33402  "");
33403  }
33404 
33405  if (!gKC_.present ())
33406  {
33407  throw ::xsd::cxx::tree::expected_attribute< char > (
33408  "gKC",
33409  "");
33410  }
33411 
33412  if (!gNmda_.present ())
33413  {
33414  throw ::xsd::cxx::tree::expected_attribute< char > (
33415  "gNmda",
33416  "");
33417  }
33418 
33419  if (!gAmpa_.present ())
33420  {
33421  throw ::xsd::cxx::tree::expected_attribute< char > (
33422  "gAmpa",
33423  "");
33424  }
33425 
33426  if (!eNa_.present ())
33427  {
33428  throw ::xsd::cxx::tree::expected_attribute< char > (
33429  "eNa",
33430  "");
33431  }
33432 
33433  if (!eCa_.present ())
33434  {
33435  throw ::xsd::cxx::tree::expected_attribute< char > (
33436  "eCa",
33437  "");
33438  }
33439 
33440  if (!eK_.present ())
33441  {
33442  throw ::xsd::cxx::tree::expected_attribute< char > (
33443  "eK",
33444  "");
33445  }
33446 
33447  if (!eL_.present ())
33448  {
33449  throw ::xsd::cxx::tree::expected_attribute< char > (
33450  "eL",
33451  "");
33452  }
33453 
33454  if (!qd0_.present ())
33455  {
33456  throw ::xsd::cxx::tree::expected_attribute< char > (
33457  "qd0",
33458  "");
33459  }
33460 
33461  if (!pp_.present ())
33462  {
33463  throw ::xsd::cxx::tree::expected_attribute< char > (
33464  "pp",
33465  "");
33466  }
33467 
33468  if (!alphac_.present ())
33469  {
33470  throw ::xsd::cxx::tree::expected_attribute< char > (
33471  "alphac",
33472  "");
33473  }
33474 
33475  if (!betac_.present ())
33476  {
33477  throw ::xsd::cxx::tree::expected_attribute< char > (
33478  "betac",
33479  "");
33480  }
33481 
33482  if (!cm_.present ())
33483  {
33484  throw ::xsd::cxx::tree::expected_attribute< char > (
33485  "cm",
33486  "");
33487  }
33488  }
33489 
33492  ::xml_schema::container* c) const
33493  {
33494  return new class PinskyRinzelCA3Cell (*this, f, c);
33495  }
33496 
33499  {
33500  if (this != &x)
33501  {
33502  static_cast< ::neuroml2::BaseCell& > (*this) = x;
33503  this->iSoma_ = x.iSoma_;
33504  this->iDend_ = x.iDend_;
33505  this->gc_ = x.gc_;
33506  this->gLs_ = x.gLs_;
33507  this->gLd_ = x.gLd_;
33508  this->gNa_ = x.gNa_;
33509  this->gKdr_ = x.gKdr_;
33510  this->gCa_ = x.gCa_;
33511  this->gKahp_ = x.gKahp_;
33512  this->gKC_ = x.gKC_;
33513  this->gNmda_ = x.gNmda_;
33514  this->gAmpa_ = x.gAmpa_;
33515  this->eNa_ = x.eNa_;
33516  this->eCa_ = x.eCa_;
33517  this->eK_ = x.eK_;
33518  this->eL_ = x.eL_;
33519  this->qd0_ = x.qd0_;
33520  this->pp_ = x.pp_;
33521  this->alphac_ = x.alphac_;
33522  this->betac_ = x.betac_;
33523  this->cm_ = x.cm_;
33524  }
33525 
33526  return *this;
33527  }
33528 
33531  {
33532  }
33533 
33534  bool
33535  operator== (const PinskyRinzelCA3Cell& x, const PinskyRinzelCA3Cell& y)
33536  {
33537  if (!(static_cast< const ::neuroml2::BaseCell& > (x) ==
33538  static_cast< const ::neuroml2::BaseCell& > (y)))
33539  return false;
33540 
33541  if (!(x.iSoma () == y.iSoma ()))
33542  return false;
33543 
33544  if (!(x.iDend () == y.iDend ()))
33545  return false;
33546 
33547  if (!(x.gc () == y.gc ()))
33548  return false;
33549 
33550  if (!(x.gLs () == y.gLs ()))
33551  return false;
33552 
33553  if (!(x.gLd () == y.gLd ()))
33554  return false;
33555 
33556  if (!(x.gNa () == y.gNa ()))
33557  return false;
33558 
33559  if (!(x.gKdr () == y.gKdr ()))
33560  return false;
33561 
33562  if (!(x.gCa () == y.gCa ()))
33563  return false;
33564 
33565  if (!(x.gKahp () == y.gKahp ()))
33566  return false;
33567 
33568  if (!(x.gKC () == y.gKC ()))
33569  return false;
33570 
33571  if (!(x.gNmda () == y.gNmda ()))
33572  return false;
33573 
33574  if (!(x.gAmpa () == y.gAmpa ()))
33575  return false;
33576 
33577  if (!(x.eNa () == y.eNa ()))
33578  return false;
33579 
33580  if (!(x.eCa () == y.eCa ()))
33581  return false;
33582 
33583  if (!(x.eK () == y.eK ()))
33584  return false;
33585 
33586  if (!(x.eL () == y.eL ()))
33587  return false;
33588 
33589  if (!(x.qd0 () == y.qd0 ()))
33590  return false;
33591 
33592  if (!(x.pp () == y.pp ()))
33593  return false;
33594 
33595  if (!(x.alphac () == y.alphac ()))
33596  return false;
33597 
33598  if (!(x.betac () == y.betac ()))
33599  return false;
33600 
33601  if (!(x.cm () == y.cm ()))
33602  return false;
33603 
33604  return true;
33605  }
33606 
33607  bool
33608  operator!= (const PinskyRinzelCA3Cell& x, const PinskyRinzelCA3Cell& y)
33609  {
33610  return !(x == y);
33611  }
33612 
33613  // HindmarshRose1984Cell
33614  //
33615 
33617  HindmarshRose1984Cell (const id_type& id,
33618  const C_type& C,
33619  const a_type& a,
33620  const b_type& b,
33621  const c_type& c,
33622  const d_type& d,
33623  const s_type& s,
33624  const x1_type& x1,
33625  const r_type& r,
33626  const x0_type& x0,
33627  const y0_type& y0,
33628  const z0_type& z0,
33629  const v_scaling_type& v_scaling)
33631  C),
33632  a_ (a, this),
33633  b_ (b, this),
33634  c_ (c, this),
33635  d_ (d, this),
33636  s_ (s, this),
33637  x1_ (x1, this),
33638  r_ (r, this),
33639  x0_ (x0, this),
33640  y0_ (y0, this),
33641  z0_ (z0, this),
33642  v_scaling_ (v_scaling, this)
33643  {
33644  }
33645 
33648  ::xml_schema::flags f,
33649  ::xml_schema::container* c)
33650  : ::neuroml2::BaseCellMembPotCap (x, f, c),
33651  a_ (x.a_, f, this),
33652  b_ (x.b_, f, this),
33653  c_ (x.c_, f, this),
33654  d_ (x.d_, f, this),
33655  s_ (x.s_, f, this),
33656  x1_ (x.x1_, f, this),
33657  r_ (x.r_, f, this),
33658  x0_ (x.x0_, f, this),
33659  y0_ (x.y0_, f, this),
33660  z0_ (x.z0_, f, this),
33661  v_scaling_ (x.v_scaling_, f, this)
33662  {
33663  }
33664 
33666  HindmarshRose1984Cell (const ::xercesc::DOMElement& e,
33667  ::xml_schema::flags f,
33668  ::xml_schema::container* c)
33669  : ::neuroml2::BaseCellMembPotCap (e, f | ::xml_schema::flags::base, c),
33670  a_ (this),
33671  b_ (this),
33672  c_ (this),
33673  d_ (this),
33674  s_ (this),
33675  x1_ (this),
33676  r_ (this),
33677  x0_ (this),
33678  y0_ (this),
33679  z0_ (this),
33680  v_scaling_ (this)
33681  {
33682  if ((f & ::xml_schema::flags::base) == 0)
33683  {
33684  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
33685  this->parse (p, f);
33686  }
33687  }
33688 
33689  void HindmarshRose1984Cell::
33690  parse (::xsd::cxx::xml::dom::parser< char >& p,
33691  ::xml_schema::flags f)
33692  {
33693  this->::neuroml2::BaseCellMembPotCap::parse (p, f);
33694 
33695  p.reset_attributes ();
33696 
33697  while (p.more_attributes ())
33698  {
33699  const ::xercesc::DOMAttr& i (p.next_attribute ());
33700  const ::xsd::cxx::xml::qualified_name< char > n (
33701  ::xsd::cxx::xml::dom::name< char > (i));
33702 
33703  if (n.name () == "a" && n.namespace_ ().empty ())
33704  {
33705  this->a_.set (a_traits::create (i, f, this));
33706  continue;
33707  }
33708 
33709  if (n.name () == "b" && n.namespace_ ().empty ())
33710  {
33711  this->b_.set (b_traits::create (i, f, this));
33712  continue;
33713  }
33714 
33715  if (n.name () == "c" && n.namespace_ ().empty ())
33716  {
33717  this->c_.set (c_traits::create (i, f, this));
33718  continue;
33719  }
33720 
33721  if (n.name () == "d" && n.namespace_ ().empty ())
33722  {
33723  this->d_.set (d_traits::create (i, f, this));
33724  continue;
33725  }
33726 
33727  if (n.name () == "s" && n.namespace_ ().empty ())
33728  {
33729  this->s_.set (s_traits::create (i, f, this));
33730  continue;
33731  }
33732 
33733  if (n.name () == "x1" && n.namespace_ ().empty ())
33734  {
33735  this->x1_.set (x1_traits::create (i, f, this));
33736  continue;
33737  }
33738 
33739  if (n.name () == "r" && n.namespace_ ().empty ())
33740  {
33741  this->r_.set (r_traits::create (i, f, this));
33742  continue;
33743  }
33744 
33745  if (n.name () == "x0" && n.namespace_ ().empty ())
33746  {
33747  this->x0_.set (x0_traits::create (i, f, this));
33748  continue;
33749  }
33750 
33751  if (n.name () == "y0" && n.namespace_ ().empty ())
33752  {
33753  this->y0_.set (y0_traits::create (i, f, this));
33754  continue;
33755  }
33756 
33757  if (n.name () == "z0" && n.namespace_ ().empty ())
33758  {
33759  this->z0_.set (z0_traits::create (i, f, this));
33760  continue;
33761  }
33762 
33763  if (n.name () == "v_scaling" && n.namespace_ ().empty ())
33764  {
33765  this->v_scaling_.set (v_scaling_traits::create (i, f, this));
33766  continue;
33767  }
33768  }
33769 
33770  if (!a_.present ())
33771  {
33772  throw ::xsd::cxx::tree::expected_attribute< char > (
33773  "a",
33774  "");
33775  }
33776 
33777  if (!b_.present ())
33778  {
33779  throw ::xsd::cxx::tree::expected_attribute< char > (
33780  "b",
33781  "");
33782  }
33783 
33784  if (!c_.present ())
33785  {
33786  throw ::xsd::cxx::tree::expected_attribute< char > (
33787  "c",
33788  "");
33789  }
33790 
33791  if (!d_.present ())
33792  {
33793  throw ::xsd::cxx::tree::expected_attribute< char > (
33794  "d",
33795  "");
33796  }
33797 
33798  if (!s_.present ())
33799  {
33800  throw ::xsd::cxx::tree::expected_attribute< char > (
33801  "s",
33802  "");
33803  }
33804 
33805  if (!x1_.present ())
33806  {
33807  throw ::xsd::cxx::tree::expected_attribute< char > (
33808  "x1",
33809  "");
33810  }
33811 
33812  if (!r_.present ())
33813  {
33814  throw ::xsd::cxx::tree::expected_attribute< char > (
33815  "r",
33816  "");
33817  }
33818 
33819  if (!x0_.present ())
33820  {
33821  throw ::xsd::cxx::tree::expected_attribute< char > (
33822  "x0",
33823  "");
33824  }
33825 
33826  if (!y0_.present ())
33827  {
33828  throw ::xsd::cxx::tree::expected_attribute< char > (
33829  "y0",
33830  "");
33831  }
33832 
33833  if (!z0_.present ())
33834  {
33835  throw ::xsd::cxx::tree::expected_attribute< char > (
33836  "z0",
33837  "");
33838  }
33839 
33840  if (!v_scaling_.present ())
33841  {
33842  throw ::xsd::cxx::tree::expected_attribute< char > (
33843  "v_scaling",
33844  "");
33845  }
33846  }
33847 
33850  ::xml_schema::container* c) const
33851  {
33852  return new class HindmarshRose1984Cell (*this, f, c);
33853  }
33854 
33857  {
33858  if (this != &x)
33859  {
33860  static_cast< ::neuroml2::BaseCellMembPotCap& > (*this) = x;
33861  this->a_ = x.a_;
33862  this->b_ = x.b_;
33863  this->c_ = x.c_;
33864  this->d_ = x.d_;
33865  this->s_ = x.s_;
33866  this->x1_ = x.x1_;
33867  this->r_ = x.r_;
33868  this->x0_ = x.x0_;
33869  this->y0_ = x.y0_;
33870  this->z0_ = x.z0_;
33871  this->v_scaling_ = x.v_scaling_;
33872  }
33873 
33874  return *this;
33875  }
33876 
33879  {
33880  }
33881 
33882  bool
33883  operator== (const HindmarshRose1984Cell& x, const HindmarshRose1984Cell& y)
33884  {
33885  if (!(static_cast< const ::neuroml2::BaseCellMembPotCap& > (x) ==
33886  static_cast< const ::neuroml2::BaseCellMembPotCap& > (y)))
33887  return false;
33888 
33889  if (!(x.a () == y.a ()))
33890  return false;
33891 
33892  if (!(x.b () == y.b ()))
33893  return false;
33894 
33895  if (!(x.c () == y.c ()))
33896  return false;
33897 
33898  if (!(x.d () == y.d ()))
33899  return false;
33900 
33901  if (!(x.s () == y.s ()))
33902  return false;
33903 
33904  if (!(x.x1 () == y.x1 ()))
33905  return false;
33906 
33907  if (!(x.r () == y.r ()))
33908  return false;
33909 
33910  if (!(x.x0 () == y.x0 ()))
33911  return false;
33912 
33913  if (!(x.y0 () == y.y0 ()))
33914  return false;
33915 
33916  if (!(x.z0 () == y.z0 ()))
33917  return false;
33918 
33919  if (!(x.v_scaling () == y.v_scaling ()))
33920  return false;
33921 
33922  return true;
33923  }
33924 
33925  bool
33926  operator!= (const HindmarshRose1984Cell& x, const HindmarshRose1984Cell& y)
33927  {
33928  return !(x == y);
33929  }
33930 
33931  // Cell
33932  //
33933 
33935  Cell (const id_type& id)
33936  : ::neuroml2::BaseCell (id),
33937  morphology_ (this),
33938  biophysicalProperties_ (this),
33939  morphology1_ (this),
33940  biophysicalProperties1_ (this)
33941  {
33942  }
33943 
33945  Cell (const Cell& x,
33946  ::xml_schema::flags f,
33947  ::xml_schema::container* c)
33948  : ::neuroml2::BaseCell (x, f, c),
33949  morphology_ (x.morphology_, f, this),
33950  biophysicalProperties_ (x.biophysicalProperties_, f, this),
33951  morphology1_ (x.morphology1_, f, this),
33952  biophysicalProperties1_ (x.biophysicalProperties1_, f, this)
33953  {
33954  }
33955 
33957  Cell (const ::xercesc::DOMElement& e,
33958  ::xml_schema::flags f,
33959  ::xml_schema::container* c)
33960  : ::neuroml2::BaseCell (e, f | ::xml_schema::flags::base, c),
33961  morphology_ (this),
33962  biophysicalProperties_ (this),
33963  morphology1_ (this),
33964  biophysicalProperties1_ (this)
33965  {
33966  if ((f & ::xml_schema::flags::base) == 0)
33967  {
33968  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
33969  this->parse (p, f);
33970  }
33971  }
33972 
33973  void Cell::
33974  parse (::xsd::cxx::xml::dom::parser< char >& p,
33975  ::xml_schema::flags f)
33976  {
33977  this->::neuroml2::BaseCell::parse (p, f);
33978 
33979  for (; p.more_content (); p.next_content (false))
33980  {
33981  const ::xercesc::DOMElement& i (p.cur_element ());
33982  const ::xsd::cxx::xml::qualified_name< char > n (
33983  ::xsd::cxx::xml::dom::name< char > (i));
33984 
33985  // morphology
33986  //
33987  if (n.name () == "morphology" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
33988  {
33989  ::std::unique_ptr< morphology_type > r (
33990  morphology_traits::create (i, f, this));
33991 
33992  if (!this->morphology_)
33993  {
33994  this->morphology_.set (::std::move (r));
33995  continue;
33996  }
33997  }
33998 
33999  // biophysicalProperties
34000  //
34001  if (n.name () == "biophysicalProperties" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
34002  {
34003  ::std::unique_ptr< biophysicalProperties_type > r (
34004  biophysicalProperties_traits::create (i, f, this));
34005 
34006  if (!this->biophysicalProperties_)
34007  {
34008  this->biophysicalProperties_.set (::std::move (r));
34009  continue;
34010  }
34011  }
34012 
34013  break;
34014  }
34015 
34016  p.reset_attributes ();
34017 
34018  while (p.more_attributes ())
34019  {
34020  const ::xercesc::DOMAttr& i (p.next_attribute ());
34021  const ::xsd::cxx::xml::qualified_name< char > n (
34022  ::xsd::cxx::xml::dom::name< char > (i));
34023 
34024  if (n.name () == "morphology" && n.namespace_ ().empty ())
34025  {
34026  this->morphology1_.set (morphology1_traits::create (i, f, this));
34027  continue;
34028  }
34029 
34030  if (n.name () == "biophysicalProperties" && n.namespace_ ().empty ())
34031  {
34032  this->biophysicalProperties1_.set (biophysicalProperties1_traits::create (i, f, this));
34033  continue;
34034  }
34035  }
34036  }
34037 
34040  ::xml_schema::container* c) const
34041  {
34042  return new class Cell (*this, f, c);
34043  }
34044 
34046  operator= (const Cell& x)
34047  {
34048  if (this != &x)
34049  {
34050  static_cast< ::neuroml2::BaseCell& > (*this) = x;
34051  this->morphology_ = x.morphology_;
34052  this->biophysicalProperties_ = x.biophysicalProperties_;
34053  this->morphology1_ = x.morphology1_;
34054  this->biophysicalProperties1_ = x.biophysicalProperties1_;
34055  }
34056 
34057  return *this;
34058  }
34059 
34061  ~Cell ()
34062  {
34063  }
34064 
34065  bool
34066  operator== (const Cell& x, const Cell& y)
34067  {
34068  if (!(static_cast< const ::neuroml2::BaseCell& > (x) ==
34069  static_cast< const ::neuroml2::BaseCell& > (y)))
34070  return false;
34071 
34072  if (!(x.morphology () == y.morphology ()))
34073  return false;
34074 
34075  if (!(x.biophysicalProperties () == y.biophysicalProperties ()))
34076  return false;
34077 
34078  if (!(x.morphology1 () == y.morphology1 ()))
34079  return false;
34080 
34081  if (!(x.biophysicalProperties1 () == y.biophysicalProperties1 ()))
34082  return false;
34083 
34084  return true;
34085  }
34086 
34087  bool
34088  operator!= (const Cell& x, const Cell& y)
34089  {
34090  return !(x == y);
34091  }
34092 
34093  // Cell2CaPools
34094  //
34095 
34097  Cell2CaPools (const id_type& id)
34098  : ::neuroml2::Cell (id),
34099  biophysicalProperties2CaPools_ (this)
34100  {
34101  }
34102 
34104  Cell2CaPools (const Cell2CaPools& x,
34105  ::xml_schema::flags f,
34106  ::xml_schema::container* c)
34107  : ::neuroml2::Cell (x, f, c),
34108  biophysicalProperties2CaPools_ (x.biophysicalProperties2CaPools_, f, this)
34109  {
34110  }
34111 
34113  Cell2CaPools (const ::xercesc::DOMElement& e,
34114  ::xml_schema::flags f,
34115  ::xml_schema::container* c)
34116  : ::neuroml2::Cell (e, f | ::xml_schema::flags::base, c),
34117  biophysicalProperties2CaPools_ (this)
34118  {
34119  if ((f & ::xml_schema::flags::base) == 0)
34120  {
34121  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
34122  this->parse (p, f);
34123  }
34124  }
34125 
34126  void Cell2CaPools::
34127  parse (::xsd::cxx::xml::dom::parser< char >& p,
34128  ::xml_schema::flags f)
34129  {
34130  this->::neuroml2::Cell::parse (p, f);
34131 
34132  for (; p.more_content (); p.next_content (false))
34133  {
34134  const ::xercesc::DOMElement& i (p.cur_element ());
34135  const ::xsd::cxx::xml::qualified_name< char > n (
34136  ::xsd::cxx::xml::dom::name< char > (i));
34137 
34138  // biophysicalProperties2CaPools
34139  //
34140  if (n.name () == "biophysicalProperties2CaPools" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
34141  {
34142  ::std::unique_ptr< biophysicalProperties2CaPools_type > r (
34143  biophysicalProperties2CaPools_traits::create (i, f, this));
34144 
34145  if (!this->biophysicalProperties2CaPools_)
34146  {
34147  this->biophysicalProperties2CaPools_.set (::std::move (r));
34148  continue;
34149  }
34150  }
34151 
34152  break;
34153  }
34154  }
34155 
34158  ::xml_schema::container* c) const
34159  {
34160  return new class Cell2CaPools (*this, f, c);
34161  }
34162 
34164  operator= (const Cell2CaPools& x)
34165  {
34166  if (this != &x)
34167  {
34168  static_cast< ::neuroml2::Cell& > (*this) = x;
34169  this->biophysicalProperties2CaPools_ = x.biophysicalProperties2CaPools_;
34170  }
34171 
34172  return *this;
34173  }
34174 
34176  ~Cell2CaPools ()
34177  {
34178  }
34179 
34180  bool
34181  operator== (const Cell2CaPools& x, const Cell2CaPools& y)
34182  {
34183  if (!(static_cast< const ::neuroml2::Cell& > (x) ==
34184  static_cast< const ::neuroml2::Cell& > (y)))
34185  return false;
34186 
34188  return false;
34189 
34190  return true;
34191  }
34192 
34193  bool
34194  operator!= (const Cell2CaPools& x, const Cell2CaPools& y)
34195  {
34196  return !(x == y);
34197  }
34198 
34199  // Morphology_base
34200  //
34201 
34203  Morphology_base (const id_type& id)
34204  : ::neuroml2::Standalone (id),
34205  segment_ (this),
34206  segmentGroup_ (this)
34207  {
34208  }
34209 
34212  ::xml_schema::flags f,
34213  ::xml_schema::container* c)
34214  : ::neuroml2::Standalone (x, f, c),
34215  segment_ (x.segment_, f, this),
34216  segmentGroup_ (x.segmentGroup_, f, this)
34217  {
34218  }
34219 
34221  Morphology_base (const ::xercesc::DOMElement& e,
34222  ::xml_schema::flags f,
34223  ::xml_schema::container* c)
34224  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
34225  segment_ (this),
34226  segmentGroup_ (this)
34227  {
34228  if ((f & ::xml_schema::flags::base) == 0)
34229  {
34230  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
34231  this->parse (p, f);
34232  }
34233  }
34234 
34235  void Morphology_base::
34236  parse (::xsd::cxx::xml::dom::parser< char >& p,
34237  ::xml_schema::flags f)
34238  {
34239  this->::neuroml2::Standalone::parse (p, f);
34240 
34241  for (; p.more_content (); p.next_content (false))
34242  {
34243  const ::xercesc::DOMElement& i (p.cur_element ());
34244  const ::xsd::cxx::xml::qualified_name< char > n (
34245  ::xsd::cxx::xml::dom::name< char > (i));
34246 
34247  // segment
34248  //
34249  if (n.name () == "segment" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
34250  {
34251  ::std::unique_ptr< segment_type > r (
34252  segment_traits::create (i, f, this));
34253 
34254  this->segment_.push_back (::std::move (r));
34255  continue;
34256  }
34257 
34258  // segmentGroup
34259  //
34260  if (n.name () == "segmentGroup" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
34261  {
34262  ::std::unique_ptr< segmentGroup_type > r (
34263  segmentGroup_traits::create (i, f, this));
34264 
34265  this->segmentGroup_.push_back (::std::move (r));
34266  continue;
34267  }
34268 
34269  break;
34270  }
34271  }
34272 
34275  ::xml_schema::container* c) const
34276  {
34277  return new class Morphology_base (*this, f, c);
34278  }
34279 
34281  operator= (const Morphology_base& x)
34282  {
34283  if (this != &x)
34284  {
34285  static_cast< ::neuroml2::Standalone& > (*this) = x;
34286  this->segment_ = x.segment_;
34287  this->segmentGroup_ = x.segmentGroup_;
34288  }
34289 
34290  return *this;
34291  }
34292 
34295  {
34296  }
34297 
34298  bool
34299  operator== (const Morphology_base& x, const Morphology_base& y)
34300  {
34301  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
34302  static_cast< const ::neuroml2::Standalone& > (y)))
34303  return false;
34304 
34305  if (!(x.segment () == y.segment ()))
34306  return false;
34307 
34308  if (!(x.segmentGroup () == y.segmentGroup ()))
34309  return false;
34310 
34311  return true;
34312  }
34313 
34314  bool
34315  operator!= (const Morphology_base& x, const Morphology_base& y)
34316  {
34317  return !(x == y);
34318  }
34319 
34320  // BaseNonNegativeIntegerId
34321  //
34322 
34325  : ::neuroml2::BaseWithoutId (),
34326  id_ (id, this)
34327  {
34328  }
34329 
34332  ::xml_schema::flags f,
34333  ::xml_schema::container* c)
34334  : ::neuroml2::BaseWithoutId (x, f, c),
34335  id_ (x.id_, f, this)
34336  {
34337  }
34338 
34340  BaseNonNegativeIntegerId (const ::xercesc::DOMElement& e,
34341  ::xml_schema::flags f,
34342  ::xml_schema::container* c)
34343  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
34344  id_ (this)
34345  {
34346  if ((f & ::xml_schema::flags::base) == 0)
34347  {
34348  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
34349  this->parse (p, f);
34350  }
34351  }
34352 
34353  void BaseNonNegativeIntegerId::
34354  parse (::xsd::cxx::xml::dom::parser< char >& p,
34355  ::xml_schema::flags f)
34356  {
34357  while (p.more_attributes ())
34358  {
34359  const ::xercesc::DOMAttr& i (p.next_attribute ());
34360  const ::xsd::cxx::xml::qualified_name< char > n (
34361  ::xsd::cxx::xml::dom::name< char > (i));
34362 
34363  if (n.name () == "id" && n.namespace_ ().empty ())
34364  {
34365  this->id_.set (id_traits::create (i, f, this));
34366  continue;
34367  }
34368  }
34369 
34370  if (!id_.present ())
34371  {
34372  throw ::xsd::cxx::tree::expected_attribute< char > (
34373  "id",
34374  "");
34375  }
34376  }
34377 
34380  ::xml_schema::container* c) const
34381  {
34382  return new class BaseNonNegativeIntegerId (*this, f, c);
34383  }
34384 
34387  {
34388  if (this != &x)
34389  {
34390  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
34391  this->id_ = x.id_;
34392  }
34393 
34394  return *this;
34395  }
34396 
34399  {
34400  }
34401 
34402  bool
34403  operator== (const BaseNonNegativeIntegerId& x, const BaseNonNegativeIntegerId& y)
34404  {
34405  if (!(x.id () == y.id ()))
34406  return false;
34407 
34408  return true;
34409  }
34410 
34411  bool
34412  operator!= (const BaseNonNegativeIntegerId& x, const BaseNonNegativeIntegerId& y)
34413  {
34414  return !(x == y);
34415  }
34416 
34417  // Segment_base
34418  //
34419 
34421  Segment_base (const id_type& id,
34422  const distal_type& distal)
34424  parent_ (this),
34425  proximal_ (this),
34426  distal_ (distal, this),
34427  name_ (this),
34428  neuroLexId_ (this)
34429  {
34430  }
34431 
34433  Segment_base (const id_type& id,
34434  ::std::unique_ptr< distal_type > distal)
34436  parent_ (this),
34437  proximal_ (this),
34438  distal_ (std::move (distal), this),
34439  name_ (this),
34440  neuroLexId_ (this)
34441  {
34442  }
34443 
34445  Segment_base (const Segment_base& x,
34446  ::xml_schema::flags f,
34447  ::xml_schema::container* c)
34448  : ::neuroml2::BaseNonNegativeIntegerId (x, f, c),
34449  parent_ (x.parent_, f, this),
34450  proximal_ (x.proximal_, f, this),
34451  distal_ (x.distal_, f, this),
34452  name_ (x.name_, f, this),
34453  neuroLexId_ (x.neuroLexId_, f, this)
34454  {
34455  }
34456 
34458  Segment_base (const ::xercesc::DOMElement& e,
34459  ::xml_schema::flags f,
34460  ::xml_schema::container* c)
34461  : ::neuroml2::BaseNonNegativeIntegerId (e, f | ::xml_schema::flags::base, c),
34462  parent_ (this),
34463  proximal_ (this),
34464  distal_ (this),
34465  name_ (this),
34466  neuroLexId_ (this)
34467  {
34468  if ((f & ::xml_schema::flags::base) == 0)
34469  {
34470  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
34471  this->parse (p, f);
34472  }
34473  }
34474 
34475  void Segment_base::
34476  parse (::xsd::cxx::xml::dom::parser< char >& p,
34477  ::xml_schema::flags f)
34478  {
34479  this->::neuroml2::BaseNonNegativeIntegerId::parse (p, f);
34480 
34481  for (; p.more_content (); p.next_content (false))
34482  {
34483  const ::xercesc::DOMElement& i (p.cur_element ());
34484  const ::xsd::cxx::xml::qualified_name< char > n (
34485  ::xsd::cxx::xml::dom::name< char > (i));
34486 
34487  // parent
34488  //
34489  if (n.name () == "parent" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
34490  {
34491  ::std::unique_ptr< parent_type > r (
34492  parent_traits::create (i, f, this));
34493 
34494  if (!this->parent_)
34495  {
34496  this->parent_.set (::std::move (r));
34497  continue;
34498  }
34499  }
34500 
34501  // proximal
34502  //
34503  if (n.name () == "proximal" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
34504  {
34505  ::std::unique_ptr< proximal_type > r (
34506  proximal_traits::create (i, f, this));
34507 
34508  if (!this->proximal_)
34509  {
34510  this->proximal_.set (::std::move (r));
34511  continue;
34512  }
34513  }
34514 
34515  // distal
34516  //
34517  if (n.name () == "distal" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
34518  {
34519  ::std::unique_ptr< distal_type > r (
34520  distal_traits::create (i, f, this));
34521 
34522  if (!distal_.present ())
34523  {
34524  this->distal_.set (::std::move (r));
34525  continue;
34526  }
34527  }
34528 
34529  break;
34530  }
34531 
34532  if (!distal_.present ())
34533  {
34534  throw ::xsd::cxx::tree::expected_element< char > (
34535  "distal",
34536  "http://www.neuroml.org/schema/neuroml2");
34537  }
34538 
34539  p.reset_attributes ();
34540 
34541  while (p.more_attributes ())
34542  {
34543  const ::xercesc::DOMAttr& i (p.next_attribute ());
34544  const ::xsd::cxx::xml::qualified_name< char > n (
34545  ::xsd::cxx::xml::dom::name< char > (i));
34546 
34547  if (n.name () == "name" && n.namespace_ ().empty ())
34548  {
34549  this->name_.set (name_traits::create (i, f, this));
34550  continue;
34551  }
34552 
34553  if (n.name () == "neuroLexId" && n.namespace_ ().empty ())
34554  {
34555  this->neuroLexId_.set (neuroLexId_traits::create (i, f, this));
34556  continue;
34557  }
34558  }
34559  }
34560 
34563  ::xml_schema::container* c) const
34564  {
34565  return new class Segment_base (*this, f, c);
34566  }
34567 
34569  operator= (const Segment_base& x)
34570  {
34571  if (this != &x)
34572  {
34573  static_cast< ::neuroml2::BaseNonNegativeIntegerId& > (*this) = x;
34574  this->parent_ = x.parent_;
34575  this->proximal_ = x.proximal_;
34576  this->distal_ = x.distal_;
34577  this->name_ = x.name_;
34578  this->neuroLexId_ = x.neuroLexId_;
34579  }
34580 
34581  return *this;
34582  }
34583 
34585  ~Segment_base ()
34586  {
34587  }
34588 
34589  bool
34590  operator== (const Segment_base& x, const Segment_base& y)
34591  {
34592  if (!(static_cast< const ::neuroml2::BaseNonNegativeIntegerId& > (x) ==
34593  static_cast< const ::neuroml2::BaseNonNegativeIntegerId& > (y)))
34594  return false;
34595 
34596  if (!(x.parent () == y.parent ()))
34597  return false;
34598 
34599  if (!(x.proximal () == y.proximal ()))
34600  return false;
34601 
34602  if (!(x.distal () == y.distal ()))
34603  return false;
34604 
34605  if (!(x.name () == y.name ()))
34606  return false;
34607 
34608  if (!(x.neuroLexId () == y.neuroLexId ()))
34609  return false;
34610 
34611  return true;
34612  }
34613 
34614  bool
34615  operator!= (const Segment_base& x, const Segment_base& y)
34616  {
34617  return !(x == y);
34618  }
34619 
34620  // SegmentParent
34621  //
34622 
34624  SegmentParent (const segment_type& segment)
34625  : ::neuroml2::BaseWithoutId (),
34626  segment_ (segment, this),
34627  fractionAlong_ (fractionAlong_default_value (), this)
34628  {
34629  }
34630 
34632  SegmentParent (const SegmentParent& x,
34633  ::xml_schema::flags f,
34634  ::xml_schema::container* c)
34635  : ::neuroml2::BaseWithoutId (x, f, c),
34636  segment_ (x.segment_, f, this),
34637  fractionAlong_ (x.fractionAlong_, f, this)
34638  {
34639  }
34640 
34642  SegmentParent (const ::xercesc::DOMElement& e,
34643  ::xml_schema::flags f,
34644  ::xml_schema::container* c)
34645  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
34646  segment_ (this),
34647  fractionAlong_ (this)
34648  {
34649  if ((f & ::xml_schema::flags::base) == 0)
34650  {
34651  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
34652  this->parse (p, f);
34653  }
34654  }
34655 
34656  void SegmentParent::
34657  parse (::xsd::cxx::xml::dom::parser< char >& p,
34658  ::xml_schema::flags f)
34659  {
34660  while (p.more_attributes ())
34661  {
34662  const ::xercesc::DOMAttr& i (p.next_attribute ());
34663  const ::xsd::cxx::xml::qualified_name< char > n (
34664  ::xsd::cxx::xml::dom::name< char > (i));
34665 
34666  if (n.name () == "segment" && n.namespace_ ().empty ())
34667  {
34668  this->segment_.set (segment_traits::create (i, f, this));
34669  continue;
34670  }
34671 
34672  if (n.name () == "fractionAlong" && n.namespace_ ().empty ())
34673  {
34674  this->fractionAlong_.set (fractionAlong_traits::create (i, f, this));
34675  continue;
34676  }
34677  }
34678 
34679  if (!segment_.present ())
34680  {
34681  throw ::xsd::cxx::tree::expected_attribute< char > (
34682  "segment",
34683  "");
34684  }
34685 
34686  if (!fractionAlong_.present ())
34687  {
34688  this->fractionAlong_.set (fractionAlong_default_value ());
34689  }
34690  }
34691 
34694  ::xml_schema::container* c) const
34695  {
34696  return new class SegmentParent (*this, f, c);
34697  }
34698 
34700  operator= (const SegmentParent& x)
34701  {
34702  if (this != &x)
34703  {
34704  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
34705  this->segment_ = x.segment_;
34706  this->fractionAlong_ = x.fractionAlong_;
34707  }
34708 
34709  return *this;
34710  }
34711 
34713  ~SegmentParent ()
34714  {
34715  }
34716 
34717  bool
34718  operator== (const SegmentParent& x, const SegmentParent& y)
34719  {
34720  if (!(x.segment () == y.segment ()))
34721  return false;
34722 
34723  if (!(x.fractionAlong () == y.fractionAlong ()))
34724  return false;
34725 
34726  return true;
34727  }
34728 
34729  bool
34730  operator!= (const SegmentParent& x, const SegmentParent& y)
34731  {
34732  return !(x == y);
34733  }
34734 
34735  // Point3DWithDiam
34736  //
34737 
34739  Point3DWithDiam (const x_type& x,
34740  const y_type& y,
34741  const z_type& z,
34742  const diameter_type& diameter)
34743  : ::neuroml2::BaseWithoutId (),
34744  x_ (x, this),
34745  y_ (y, this),
34746  z_ (z, this),
34747  diameter_ (diameter, this)
34748  {
34749  }
34750 
34753  ::xml_schema::flags f,
34754  ::xml_schema::container* c)
34755  : ::neuroml2::BaseWithoutId (x, f, c),
34756  x_ (x.x_, f, this),
34757  y_ (x.y_, f, this),
34758  z_ (x.z_, f, this),
34759  diameter_ (x.diameter_, f, this)
34760  {
34761  }
34762 
34764  Point3DWithDiam (const ::xercesc::DOMElement& e,
34765  ::xml_schema::flags f,
34766  ::xml_schema::container* c)
34767  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
34768  x_ (this),
34769  y_ (this),
34770  z_ (this),
34771  diameter_ (this)
34772  {
34773  if ((f & ::xml_schema::flags::base) == 0)
34774  {
34775  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
34776  this->parse (p, f);
34777  }
34778  }
34779 
34780  void Point3DWithDiam::
34781  parse (::xsd::cxx::xml::dom::parser< char >& p,
34782  ::xml_schema::flags f)
34783  {
34784  while (p.more_attributes ())
34785  {
34786  const ::xercesc::DOMAttr& i (p.next_attribute ());
34787  const ::xsd::cxx::xml::qualified_name< char > n (
34788  ::xsd::cxx::xml::dom::name< char > (i));
34789 
34790  if (n.name () == "x" && n.namespace_ ().empty ())
34791  {
34792  this->x_.set (x_traits::create (i, f, this));
34793  continue;
34794  }
34795 
34796  if (n.name () == "y" && n.namespace_ ().empty ())
34797  {
34798  this->y_.set (y_traits::create (i, f, this));
34799  continue;
34800  }
34801 
34802  if (n.name () == "z" && n.namespace_ ().empty ())
34803  {
34804  this->z_.set (z_traits::create (i, f, this));
34805  continue;
34806  }
34807 
34808  if (n.name () == "diameter" && n.namespace_ ().empty ())
34809  {
34810  this->diameter_.set (diameter_traits::create (i, f, this));
34811  continue;
34812  }
34813  }
34814 
34815  if (!x_.present ())
34816  {
34817  throw ::xsd::cxx::tree::expected_attribute< char > (
34818  "x",
34819  "");
34820  }
34821 
34822  if (!y_.present ())
34823  {
34824  throw ::xsd::cxx::tree::expected_attribute< char > (
34825  "y",
34826  "");
34827  }
34828 
34829  if (!z_.present ())
34830  {
34831  throw ::xsd::cxx::tree::expected_attribute< char > (
34832  "z",
34833  "");
34834  }
34835 
34836  if (!diameter_.present ())
34837  {
34838  throw ::xsd::cxx::tree::expected_attribute< char > (
34839  "diameter",
34840  "");
34841  }
34842  }
34843 
34846  ::xml_schema::container* c) const
34847  {
34848  return new class Point3DWithDiam (*this, f, c);
34849  }
34850 
34852  operator= (const Point3DWithDiam& x)
34853  {
34854  if (this != &x)
34855  {
34856  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
34857  this->x_ = x.x_;
34858  this->y_ = x.y_;
34859  this->z_ = x.z_;
34860  this->diameter_ = x.diameter_;
34861  }
34862 
34863  return *this;
34864  }
34865 
34868  {
34869  }
34870 
34871  bool
34872  operator== (const Point3DWithDiam& x, const Point3DWithDiam& y)
34873  {
34874  if (!(x.x () == y.x ()))
34875  return false;
34876 
34877  if (!(x.y () == y.y ()))
34878  return false;
34879 
34880  if (!(x.z () == y.z ()))
34881  return false;
34882 
34883  if (!(x.diameter () == y.diameter ()))
34884  return false;
34885 
34886  return true;
34887  }
34888 
34889  bool
34890  operator!= (const Point3DWithDiam& x, const Point3DWithDiam& y)
34891  {
34892  return !(x == y);
34893  }
34894 
34895  // SegmentGroup
34896  //
34897 
34899  SegmentGroup (const id_type& id)
34900  : ::neuroml2::Base (id),
34901  notes_ (this),
34902  property_ (this),
34903  annotation_ (this),
34904  member_ (this),
34905  include_ (this),
34906  path_ (this),
34907  subTree_ (this),
34908  inhomogeneousParameter_ (this),
34909  neuroLexId_ (this)
34910  {
34911  }
34912 
34914  SegmentGroup (const SegmentGroup& x,
34915  ::xml_schema::flags f,
34916  ::xml_schema::container* c)
34917  : ::neuroml2::Base (x, f, c),
34918  notes_ (x.notes_, f, this),
34919  property_ (x.property_, f, this),
34920  annotation_ (x.annotation_, f, this),
34921  member_ (x.member_, f, this),
34922  include_ (x.include_, f, this),
34923  path_ (x.path_, f, this),
34924  subTree_ (x.subTree_, f, this),
34925  inhomogeneousParameter_ (x.inhomogeneousParameter_, f, this),
34926  neuroLexId_ (x.neuroLexId_, f, this)
34927  {
34928  }
34929 
34931  SegmentGroup (const ::xercesc::DOMElement& e,
34932  ::xml_schema::flags f,
34933  ::xml_schema::container* c)
34934  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
34935  notes_ (this),
34936  property_ (this),
34937  annotation_ (this),
34938  member_ (this),
34939  include_ (this),
34940  path_ (this),
34941  subTree_ (this),
34942  inhomogeneousParameter_ (this),
34943  neuroLexId_ (this)
34944  {
34945  if ((f & ::xml_schema::flags::base) == 0)
34946  {
34947  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
34948  this->parse (p, f);
34949  }
34950  }
34951 
34952  void SegmentGroup::
34953  parse (::xsd::cxx::xml::dom::parser< char >& p,
34954  ::xml_schema::flags f)
34955  {
34956  this->::neuroml2::Base::parse (p, f);
34957 
34958  for (; p.more_content (); p.next_content (false))
34959  {
34960  const ::xercesc::DOMElement& i (p.cur_element ());
34961  const ::xsd::cxx::xml::qualified_name< char > n (
34962  ::xsd::cxx::xml::dom::name< char > (i));
34963 
34964  // notes
34965  //
34966  if (n.name () == "notes" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
34967  {
34968  ::std::unique_ptr< notes_type > r (
34969  notes_traits::create (i, f, this));
34970 
34971  if (!this->notes_)
34972  {
34973  this->notes_.set (::std::move (r));
34974  continue;
34975  }
34976  }
34977 
34978  // property
34979  //
34980  if (n.name () == "property" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
34981  {
34982  ::std::unique_ptr< property_type > r (
34983  property_traits::create (i, f, this));
34984 
34985  this->property_.push_back (::std::move (r));
34986  continue;
34987  }
34988 
34989  // annotation
34990  //
34991  if (n.name () == "annotation" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
34992  {
34993  ::std::unique_ptr< annotation_type > r (
34994  annotation_traits::create (i, f, this));
34995 
34996  if (!this->annotation_)
34997  {
34998  this->annotation_.set (::std::move (r));
34999  continue;
35000  }
35001  }
35002 
35003  // member
35004  //
35005  if (n.name () == "member" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
35006  {
35007  ::std::unique_ptr< member_type > r (
35008  member_traits::create (i, f, this));
35009 
35010  this->member_.push_back (::std::move (r));
35011  continue;
35012  }
35013 
35014  // include
35015  //
35016  if (n.name () == "include" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
35017  {
35018  ::std::unique_ptr< include_type > r (
35019  include_traits::create (i, f, this));
35020 
35021  this->include_.push_back (::std::move (r));
35022  continue;
35023  }
35024 
35025  // path
35026  //
35027  if (n.name () == "path" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
35028  {
35029  ::std::unique_ptr< path_type > r (
35030  path_traits::create (i, f, this));
35031 
35032  this->path_.push_back (::std::move (r));
35033  continue;
35034  }
35035 
35036  // subTree
35037  //
35038  if (n.name () == "subTree" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
35039  {
35040  ::std::unique_ptr< subTree_type > r (
35041  subTree_traits::create (i, f, this));
35042 
35043  this->subTree_.push_back (::std::move (r));
35044  continue;
35045  }
35046 
35047  // inhomogeneousParameter
35048  //
35049  if (n.name () == "inhomogeneousParameter" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
35050  {
35051  ::std::unique_ptr< inhomogeneousParameter_type > r (
35052  inhomogeneousParameter_traits::create (i, f, this));
35053 
35054  this->inhomogeneousParameter_.push_back (::std::move (r));
35055  continue;
35056  }
35057 
35058  break;
35059  }
35060 
35061  p.reset_attributes ();
35062 
35063  while (p.more_attributes ())
35064  {
35065  const ::xercesc::DOMAttr& i (p.next_attribute ());
35066  const ::xsd::cxx::xml::qualified_name< char > n (
35067  ::xsd::cxx::xml::dom::name< char > (i));
35068 
35069  if (n.name () == "neuroLexId" && n.namespace_ ().empty ())
35070  {
35071  this->neuroLexId_.set (neuroLexId_traits::create (i, f, this));
35072  continue;
35073  }
35074  }
35075  }
35076 
35079  ::xml_schema::container* c) const
35080  {
35081  return new class SegmentGroup (*this, f, c);
35082  }
35083 
35085  operator= (const SegmentGroup& x)
35086  {
35087  if (this != &x)
35088  {
35089  static_cast< ::neuroml2::Base& > (*this) = x;
35090  this->notes_ = x.notes_;
35091  this->property_ = x.property_;
35092  this->annotation_ = x.annotation_;
35093  this->member_ = x.member_;
35094  this->include_ = x.include_;
35095  this->path_ = x.path_;
35096  this->subTree_ = x.subTree_;
35097  this->inhomogeneousParameter_ = x.inhomogeneousParameter_;
35098  this->neuroLexId_ = x.neuroLexId_;
35099  }
35100 
35101  return *this;
35102  }
35103 
35105  ~SegmentGroup ()
35106  {
35107  }
35108 
35109  bool
35110  operator== (const SegmentGroup& x, const SegmentGroup& y)
35111  {
35112  if (!(static_cast< const ::neuroml2::Base& > (x) ==
35113  static_cast< const ::neuroml2::Base& > (y)))
35114  return false;
35115 
35116  if (!(x.notes () == y.notes ()))
35117  return false;
35118 
35119  if (!(x.property () == y.property ()))
35120  return false;
35121 
35122  if (!(x.annotation () == y.annotation ()))
35123  return false;
35124 
35125  if (!(x.member () == y.member ()))
35126  return false;
35127 
35128  if (!(x.include () == y.include ()))
35129  return false;
35130 
35131  if (!(x.path () == y.path ()))
35132  return false;
35133 
35134  if (!(x.subTree () == y.subTree ()))
35135  return false;
35136 
35137  if (!(x.inhomogeneousParameter () == y.inhomogeneousParameter ()))
35138  return false;
35139 
35140  if (!(x.neuroLexId () == y.neuroLexId ()))
35141  return false;
35142 
35143  return true;
35144  }
35145 
35146  bool
35147  operator!= (const SegmentGroup& x, const SegmentGroup& y)
35148  {
35149  return !(x == y);
35150  }
35151 
35152  // InhomogeneousParameter
35153  //
35154 
35156  InhomogeneousParameter (const id_type& id,
35157  const variable_type& variable,
35158  const metric_type& metric)
35159  : ::neuroml2::Base (id),
35160  proximal_ (this),
35161  distal_ (this),
35162  variable_ (variable, this),
35163  metric_ (metric, this)
35164  {
35165  }
35166 
35169  ::xml_schema::flags f,
35170  ::xml_schema::container* c)
35171  : ::neuroml2::Base (x, f, c),
35172  proximal_ (x.proximal_, f, this),
35173  distal_ (x.distal_, f, this),
35174  variable_ (x.variable_, f, this),
35175  metric_ (x.metric_, f, this)
35176  {
35177  }
35178 
35180  InhomogeneousParameter (const ::xercesc::DOMElement& e,
35181  ::xml_schema::flags f,
35182  ::xml_schema::container* c)
35183  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
35184  proximal_ (this),
35185  distal_ (this),
35186  variable_ (this),
35187  metric_ (this)
35188  {
35189  if ((f & ::xml_schema::flags::base) == 0)
35190  {
35191  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
35192  this->parse (p, f);
35193  }
35194  }
35195 
35196  void InhomogeneousParameter::
35197  parse (::xsd::cxx::xml::dom::parser< char >& p,
35198  ::xml_schema::flags f)
35199  {
35200  this->::neuroml2::Base::parse (p, f);
35201 
35202  for (; p.more_content (); p.next_content (false))
35203  {
35204  const ::xercesc::DOMElement& i (p.cur_element ());
35205  const ::xsd::cxx::xml::qualified_name< char > n (
35206  ::xsd::cxx::xml::dom::name< char > (i));
35207 
35208  // proximal
35209  //
35210  if (n.name () == "proximal" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
35211  {
35212  ::std::unique_ptr< proximal_type > r (
35213  proximal_traits::create (i, f, this));
35214 
35215  if (!this->proximal_)
35216  {
35217  this->proximal_.set (::std::move (r));
35218  continue;
35219  }
35220  }
35221 
35222  // distal
35223  //
35224  if (n.name () == "distal" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
35225  {
35226  ::std::unique_ptr< distal_type > r (
35227  distal_traits::create (i, f, this));
35228 
35229  if (!this->distal_)
35230  {
35231  this->distal_.set (::std::move (r));
35232  continue;
35233  }
35234  }
35235 
35236  break;
35237  }
35238 
35239  p.reset_attributes ();
35240 
35241  while (p.more_attributes ())
35242  {
35243  const ::xercesc::DOMAttr& i (p.next_attribute ());
35244  const ::xsd::cxx::xml::qualified_name< char > n (
35245  ::xsd::cxx::xml::dom::name< char > (i));
35246 
35247  if (n.name () == "variable" && n.namespace_ ().empty ())
35248  {
35249  this->variable_.set (variable_traits::create (i, f, this));
35250  continue;
35251  }
35252 
35253  if (n.name () == "metric" && n.namespace_ ().empty ())
35254  {
35255  this->metric_.set (metric_traits::create (i, f, this));
35256  continue;
35257  }
35258  }
35259 
35260  if (!variable_.present ())
35261  {
35262  throw ::xsd::cxx::tree::expected_attribute< char > (
35263  "variable",
35264  "");
35265  }
35266 
35267  if (!metric_.present ())
35268  {
35269  throw ::xsd::cxx::tree::expected_attribute< char > (
35270  "metric",
35271  "");
35272  }
35273  }
35274 
35277  ::xml_schema::container* c) const
35278  {
35279  return new class InhomogeneousParameter (*this, f, c);
35280  }
35281 
35284  {
35285  if (this != &x)
35286  {
35287  static_cast< ::neuroml2::Base& > (*this) = x;
35288  this->proximal_ = x.proximal_;
35289  this->distal_ = x.distal_;
35290  this->variable_ = x.variable_;
35291  this->metric_ = x.metric_;
35292  }
35293 
35294  return *this;
35295  }
35296 
35299  {
35300  }
35301 
35302  bool
35303  operator== (const InhomogeneousParameter& x, const InhomogeneousParameter& y)
35304  {
35305  if (!(static_cast< const ::neuroml2::Base& > (x) ==
35306  static_cast< const ::neuroml2::Base& > (y)))
35307  return false;
35308 
35309  if (!(x.proximal () == y.proximal ()))
35310  return false;
35311 
35312  if (!(x.distal () == y.distal ()))
35313  return false;
35314 
35315  if (!(x.variable () == y.variable ()))
35316  return false;
35317 
35318  if (!(x.metric () == y.metric ()))
35319  return false;
35320 
35321  return true;
35322  }
35323 
35324  bool
35325  operator!= (const InhomogeneousParameter& x, const InhomogeneousParameter& y)
35326  {
35327  return !(x == y);
35328  }
35329 
35330  // Metric
35331  //
35332 
35334  Metric (const ::xercesc::DOMElement& e,
35335  ::xml_schema::flags f,
35336  ::xml_schema::container* c)
35337  : ::xml_schema::string (e, f, c)
35338  {
35339  _xsd_Metric_convert ();
35340  }
35341 
35343  Metric (const ::xercesc::DOMAttr& a,
35344  ::xml_schema::flags f,
35345  ::xml_schema::container* c)
35346  : ::xml_schema::string (a, f, c)
35347  {
35348  _xsd_Metric_convert ();
35349  }
35350 
35353  const ::xercesc::DOMElement* e,
35354  ::xml_schema::flags f,
35355  ::xml_schema::container* c)
35356  : ::xml_schema::string (s, e, f, c)
35357  {
35358  _xsd_Metric_convert ();
35359  }
35360 
35363  ::xml_schema::container* c) const
35364  {
35365  return new class Metric (*this, f, c);
35366  }
35367 
35368  Metric::value Metric::
35369  _xsd_Metric_convert () const
35370  {
35371  ::xsd::cxx::tree::enum_comparator< char > c (_xsd_Metric_literals_);
35372  const value* i (::std::lower_bound (
35373  _xsd_Metric_indexes_,
35374  _xsd_Metric_indexes_ + 1,
35375  *this,
35376  c));
35377 
35378  if (i == _xsd_Metric_indexes_ + 1 || _xsd_Metric_literals_[*i] != *this)
35379  {
35380  throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this);
35381  }
35382 
35383  return *i;
35384  }
35385 
35386  const char* const Metric::
35387  _xsd_Metric_literals_[1] =
35388  {
35389  "Path Length from root"
35390  };
35391 
35392  const Metric::value Metric::
35393  _xsd_Metric_indexes_[1] =
35394  {
35395  ::neuroml2::Metric::Path_Length_from_root
35396  };
35397 
35398  // ProximalDetails
35399  //
35400 
35402  ProximalDetails (const translationStart_type& translationStart)
35403  : ::neuroml2::BaseWithoutId (),
35404  translationStart_ (translationStart, this)
35405  {
35406  }
35407 
35410  ::xml_schema::flags f,
35411  ::xml_schema::container* c)
35412  : ::neuroml2::BaseWithoutId (x, f, c),
35413  translationStart_ (x.translationStart_, f, this)
35414  {
35415  }
35416 
35418  ProximalDetails (const ::xercesc::DOMElement& e,
35419  ::xml_schema::flags f,
35420  ::xml_schema::container* c)
35421  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
35422  translationStart_ (this)
35423  {
35424  if ((f & ::xml_schema::flags::base) == 0)
35425  {
35426  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
35427  this->parse (p, f);
35428  }
35429  }
35430 
35431  void ProximalDetails::
35432  parse (::xsd::cxx::xml::dom::parser< char >& p,
35433  ::xml_schema::flags f)
35434  {
35435  while (p.more_attributes ())
35436  {
35437  const ::xercesc::DOMAttr& i (p.next_attribute ());
35438  const ::xsd::cxx::xml::qualified_name< char > n (
35439  ::xsd::cxx::xml::dom::name< char > (i));
35440 
35441  if (n.name () == "translationStart" && n.namespace_ ().empty ())
35442  {
35443  this->translationStart_.set (translationStart_traits::create (i, f, this));
35444  continue;
35445  }
35446  }
35447 
35448  if (!translationStart_.present ())
35449  {
35450  throw ::xsd::cxx::tree::expected_attribute< char > (
35451  "translationStart",
35452  "");
35453  }
35454  }
35455 
35458  ::xml_schema::container* c) const
35459  {
35460  return new class ProximalDetails (*this, f, c);
35461  }
35462 
35464  operator= (const ProximalDetails& x)
35465  {
35466  if (this != &x)
35467  {
35468  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
35469  this->translationStart_ = x.translationStart_;
35470  }
35471 
35472  return *this;
35473  }
35474 
35477  {
35478  }
35479 
35480  bool
35481  operator== (const ProximalDetails& x, const ProximalDetails& y)
35482  {
35483  if (!(x.translationStart () == y.translationStart ()))
35484  return false;
35485 
35486  return true;
35487  }
35488 
35489  bool
35490  operator!= (const ProximalDetails& x, const ProximalDetails& y)
35491  {
35492  return !(x == y);
35493  }
35494 
35495  // DistalDetails
35496  //
35497 
35499  DistalDetails (const normalizationEnd_type& normalizationEnd)
35500  : ::neuroml2::BaseWithoutId (),
35501  normalizationEnd_ (normalizationEnd, this)
35502  {
35503  }
35504 
35506  DistalDetails (const DistalDetails& x,
35507  ::xml_schema::flags f,
35508  ::xml_schema::container* c)
35509  : ::neuroml2::BaseWithoutId (x, f, c),
35510  normalizationEnd_ (x.normalizationEnd_, f, this)
35511  {
35512  }
35513 
35515  DistalDetails (const ::xercesc::DOMElement& e,
35516  ::xml_schema::flags f,
35517  ::xml_schema::container* c)
35518  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
35519  normalizationEnd_ (this)
35520  {
35521  if ((f & ::xml_schema::flags::base) == 0)
35522  {
35523  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
35524  this->parse (p, f);
35525  }
35526  }
35527 
35528  void DistalDetails::
35529  parse (::xsd::cxx::xml::dom::parser< char >& p,
35530  ::xml_schema::flags f)
35531  {
35532  while (p.more_attributes ())
35533  {
35534  const ::xercesc::DOMAttr& i (p.next_attribute ());
35535  const ::xsd::cxx::xml::qualified_name< char > n (
35536  ::xsd::cxx::xml::dom::name< char > (i));
35537 
35538  if (n.name () == "normalizationEnd" && n.namespace_ ().empty ())
35539  {
35540  this->normalizationEnd_.set (normalizationEnd_traits::create (i, f, this));
35541  continue;
35542  }
35543  }
35544 
35545  if (!normalizationEnd_.present ())
35546  {
35547  throw ::xsd::cxx::tree::expected_attribute< char > (
35548  "normalizationEnd",
35549  "");
35550  }
35551  }
35552 
35555  ::xml_schema::container* c) const
35556  {
35557  return new class DistalDetails (*this, f, c);
35558  }
35559 
35561  operator= (const DistalDetails& x)
35562  {
35563  if (this != &x)
35564  {
35565  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
35566  this->normalizationEnd_ = x.normalizationEnd_;
35567  }
35568 
35569  return *this;
35570  }
35571 
35573  ~DistalDetails ()
35574  {
35575  }
35576 
35577  bool
35578  operator== (const DistalDetails& x, const DistalDetails& y)
35579  {
35580  if (!(x.normalizationEnd () == y.normalizationEnd ()))
35581  return false;
35582 
35583  return true;
35584  }
35585 
35586  bool
35587  operator!= (const DistalDetails& x, const DistalDetails& y)
35588  {
35589  return !(x == y);
35590  }
35591 
35592  // Member
35593  //
35594 
35596  Member (const segment_type& segment)
35597  : ::neuroml2::BaseWithoutId (),
35598  segment_ (segment, this)
35599  {
35600  }
35601 
35603  Member (const Member& x,
35604  ::xml_schema::flags f,
35605  ::xml_schema::container* c)
35606  : ::neuroml2::BaseWithoutId (x, f, c),
35607  segment_ (x.segment_, f, this)
35608  {
35609  }
35610 
35612  Member (const ::xercesc::DOMElement& e,
35613  ::xml_schema::flags f,
35614  ::xml_schema::container* c)
35615  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
35616  segment_ (this)
35617  {
35618  if ((f & ::xml_schema::flags::base) == 0)
35619  {
35620  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
35621  this->parse (p, f);
35622  }
35623  }
35624 
35625  void Member::
35626  parse (::xsd::cxx::xml::dom::parser< char >& p,
35627  ::xml_schema::flags f)
35628  {
35629  while (p.more_attributes ())
35630  {
35631  const ::xercesc::DOMAttr& i (p.next_attribute ());
35632  const ::xsd::cxx::xml::qualified_name< char > n (
35633  ::xsd::cxx::xml::dom::name< char > (i));
35634 
35635  if (n.name () == "segment" && n.namespace_ ().empty ())
35636  {
35637  this->segment_.set (segment_traits::create (i, f, this));
35638  continue;
35639  }
35640  }
35641 
35642  if (!segment_.present ())
35643  {
35644  throw ::xsd::cxx::tree::expected_attribute< char > (
35645  "segment",
35646  "");
35647  }
35648  }
35649 
35652  ::xml_schema::container* c) const
35653  {
35654  return new class Member (*this, f, c);
35655  }
35656 
35658  operator= (const Member& x)
35659  {
35660  if (this != &x)
35661  {
35662  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
35663  this->segment_ = x.segment_;
35664  }
35665 
35666  return *this;
35667  }
35668 
35670  ~Member ()
35671  {
35672  }
35673 
35674  bool
35675  operator== (const Member& x, const Member& y)
35676  {
35677  if (!(x.segment () == y.segment ()))
35678  return false;
35679 
35680  return true;
35681  }
35682 
35683  bool
35684  operator!= (const Member& x, const Member& y)
35685  {
35686  return !(x == y);
35687  }
35688 
35689  // Include
35690  //
35691 
35693  Include (const segmentGroup_type& segmentGroup)
35694  : ::neuroml2::BaseWithoutId (),
35695  segmentGroup_ (segmentGroup, this)
35696  {
35697  }
35698 
35700  Include (const Include& x,
35701  ::xml_schema::flags f,
35702  ::xml_schema::container* c)
35703  : ::neuroml2::BaseWithoutId (x, f, c),
35704  segmentGroup_ (x.segmentGroup_, f, this)
35705  {
35706  }
35707 
35709  Include (const ::xercesc::DOMElement& e,
35710  ::xml_schema::flags f,
35711  ::xml_schema::container* c)
35712  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
35713  segmentGroup_ (this)
35714  {
35715  if ((f & ::xml_schema::flags::base) == 0)
35716  {
35717  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
35718  this->parse (p, f);
35719  }
35720  }
35721 
35722  void Include::
35723  parse (::xsd::cxx::xml::dom::parser< char >& p,
35724  ::xml_schema::flags f)
35725  {
35726  while (p.more_attributes ())
35727  {
35728  const ::xercesc::DOMAttr& i (p.next_attribute ());
35729  const ::xsd::cxx::xml::qualified_name< char > n (
35730  ::xsd::cxx::xml::dom::name< char > (i));
35731 
35732  if (n.name () == "segmentGroup" && n.namespace_ ().empty ())
35733  {
35734  this->segmentGroup_.set (segmentGroup_traits::create (i, f, this));
35735  continue;
35736  }
35737  }
35738 
35739  if (!segmentGroup_.present ())
35740  {
35741  throw ::xsd::cxx::tree::expected_attribute< char > (
35742  "segmentGroup",
35743  "");
35744  }
35745  }
35746 
35749  ::xml_schema::container* c) const
35750  {
35751  return new class Include (*this, f, c);
35752  }
35753 
35755  operator= (const Include& x)
35756  {
35757  if (this != &x)
35758  {
35759  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
35760  this->segmentGroup_ = x.segmentGroup_;
35761  }
35762 
35763  return *this;
35764  }
35765 
35767  ~Include ()
35768  {
35769  }
35770 
35771  bool
35772  operator== (const Include& x, const Include& y)
35773  {
35774  if (!(x.segmentGroup () == y.segmentGroup ()))
35775  return false;
35776 
35777  return true;
35778  }
35779 
35780  bool
35781  operator!= (const Include& x, const Include& y)
35782  {
35783  return !(x == y);
35784  }
35785 
35786  // Path
35787  //
35788 
35790  Path ()
35791  : ::neuroml2::BaseWithoutId (),
35792  from_ (this),
35793  to_ (this)
35794  {
35795  }
35796 
35798  Path (const Path& x,
35799  ::xml_schema::flags f,
35800  ::xml_schema::container* c)
35801  : ::neuroml2::BaseWithoutId (x, f, c),
35802  from_ (x.from_, f, this),
35803  to_ (x.to_, f, this)
35804  {
35805  }
35806 
35808  Path (const ::xercesc::DOMElement& e,
35809  ::xml_schema::flags f,
35810  ::xml_schema::container* c)
35811  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
35812  from_ (this),
35813  to_ (this)
35814  {
35815  if ((f & ::xml_schema::flags::base) == 0)
35816  {
35817  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, false);
35818  this->parse (p, f);
35819  }
35820  }
35821 
35822  void Path::
35823  parse (::xsd::cxx::xml::dom::parser< char >& p,
35824  ::xml_schema::flags f)
35825  {
35826  for (; p.more_content (); p.next_content (false))
35827  {
35828  const ::xercesc::DOMElement& i (p.cur_element ());
35829  const ::xsd::cxx::xml::qualified_name< char > n (
35830  ::xsd::cxx::xml::dom::name< char > (i));
35831 
35832  // from
35833  //
35834  if (n.name () == "from" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
35835  {
35836  ::std::unique_ptr< from_type > r (
35837  from_traits::create (i, f, this));
35838 
35839  if (!this->from_)
35840  {
35841  this->from_.set (::std::move (r));
35842  continue;
35843  }
35844  }
35845 
35846  // to
35847  //
35848  if (n.name () == "to" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
35849  {
35850  ::std::unique_ptr< to_type > r (
35851  to_traits::create (i, f, this));
35852 
35853  if (!this->to_)
35854  {
35855  this->to_.set (::std::move (r));
35856  continue;
35857  }
35858  }
35859 
35860  break;
35861  }
35862  }
35863 
35866  ::xml_schema::container* c) const
35867  {
35868  return new class Path (*this, f, c);
35869  }
35870 
35872  operator= (const Path& x)
35873  {
35874  if (this != &x)
35875  {
35876  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
35877  this->from_ = x.from_;
35878  this->to_ = x.to_;
35879  }
35880 
35881  return *this;
35882  }
35883 
35885  ~Path ()
35886  {
35887  }
35888 
35889  bool
35890  operator== (const Path& x, const Path& y)
35891  {
35892  if (!(x.from () == y.from ()))
35893  return false;
35894 
35895  if (!(x.to () == y.to ()))
35896  return false;
35897 
35898  return true;
35899  }
35900 
35901  bool
35902  operator!= (const Path& x, const Path& y)
35903  {
35904  return !(x == y);
35905  }
35906 
35907  // SubTree
35908  //
35909 
35911  SubTree ()
35912  : ::neuroml2::BaseWithoutId (),
35913  from_ (this),
35914  to_ (this)
35915  {
35916  }
35917 
35919  SubTree (const SubTree& x,
35920  ::xml_schema::flags f,
35921  ::xml_schema::container* c)
35922  : ::neuroml2::BaseWithoutId (x, f, c),
35923  from_ (x.from_, f, this),
35924  to_ (x.to_, f, this)
35925  {
35926  }
35927 
35929  SubTree (const ::xercesc::DOMElement& e,
35930  ::xml_schema::flags f,
35931  ::xml_schema::container* c)
35932  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
35933  from_ (this),
35934  to_ (this)
35935  {
35936  if ((f & ::xml_schema::flags::base) == 0)
35937  {
35938  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, false);
35939  this->parse (p, f);
35940  }
35941  }
35942 
35943  void SubTree::
35944  parse (::xsd::cxx::xml::dom::parser< char >& p,
35945  ::xml_schema::flags f)
35946  {
35947  for (; p.more_content (); p.next_content (false))
35948  {
35949  const ::xercesc::DOMElement& i (p.cur_element ());
35950  const ::xsd::cxx::xml::qualified_name< char > n (
35951  ::xsd::cxx::xml::dom::name< char > (i));
35952 
35953  // from
35954  //
35955  if (n.name () == "from" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
35956  {
35957  ::std::unique_ptr< from_type > r (
35958  from_traits::create (i, f, this));
35959 
35960  if (!this->from_)
35961  {
35962  this->from_.set (::std::move (r));
35963  continue;
35964  }
35965  }
35966 
35967  // to
35968  //
35969  if (n.name () == "to" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
35970  {
35971  ::std::unique_ptr< to_type > r (
35972  to_traits::create (i, f, this));
35973 
35974  if (!this->to_)
35975  {
35976  this->to_.set (::std::move (r));
35977  continue;
35978  }
35979  }
35980 
35981  break;
35982  }
35983  }
35984 
35987  ::xml_schema::container* c) const
35988  {
35989  return new class SubTree (*this, f, c);
35990  }
35991 
35993  operator= (const SubTree& x)
35994  {
35995  if (this != &x)
35996  {
35997  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
35998  this->from_ = x.from_;
35999  this->to_ = x.to_;
36000  }
36001 
36002  return *this;
36003  }
36004 
36006  ~SubTree ()
36007  {
36008  }
36009 
36010  bool
36011  operator== (const SubTree& x, const SubTree& y)
36012  {
36013  if (!(x.from () == y.from ()))
36014  return false;
36015 
36016  if (!(x.to () == y.to ()))
36017  return false;
36018 
36019  return true;
36020  }
36021 
36022  bool
36023  operator!= (const SubTree& x, const SubTree& y)
36024  {
36025  return !(x == y);
36026  }
36027 
36028  // SegmentEndPoint
36029  //
36030 
36032  SegmentEndPoint (const segment_type& segment)
36033  : ::neuroml2::BaseWithoutId (),
36034  segment_ (segment, this)
36035  {
36036  }
36037 
36040  ::xml_schema::flags f,
36041  ::xml_schema::container* c)
36042  : ::neuroml2::BaseWithoutId (x, f, c),
36043  segment_ (x.segment_, f, this)
36044  {
36045  }
36046 
36048  SegmentEndPoint (const ::xercesc::DOMElement& e,
36049  ::xml_schema::flags f,
36050  ::xml_schema::container* c)
36051  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
36052  segment_ (this)
36053  {
36054  if ((f & ::xml_schema::flags::base) == 0)
36055  {
36056  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
36057  this->parse (p, f);
36058  }
36059  }
36060 
36061  void SegmentEndPoint::
36062  parse (::xsd::cxx::xml::dom::parser< char >& p,
36063  ::xml_schema::flags f)
36064  {
36065  while (p.more_attributes ())
36066  {
36067  const ::xercesc::DOMAttr& i (p.next_attribute ());
36068  const ::xsd::cxx::xml::qualified_name< char > n (
36069  ::xsd::cxx::xml::dom::name< char > (i));
36070 
36071  if (n.name () == "segment" && n.namespace_ ().empty ())
36072  {
36073  this->segment_.set (segment_traits::create (i, f, this));
36074  continue;
36075  }
36076  }
36077 
36078  if (!segment_.present ())
36079  {
36080  throw ::xsd::cxx::tree::expected_attribute< char > (
36081  "segment",
36082  "");
36083  }
36084  }
36085 
36088  ::xml_schema::container* c) const
36089  {
36090  return new class SegmentEndPoint (*this, f, c);
36091  }
36092 
36094  operator= (const SegmentEndPoint& x)
36095  {
36096  if (this != &x)
36097  {
36098  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
36099  this->segment_ = x.segment_;
36100  }
36101 
36102  return *this;
36103  }
36104 
36107  {
36108  }
36109 
36110  bool
36111  operator== (const SegmentEndPoint& x, const SegmentEndPoint& y)
36112  {
36113  if (!(x.segment () == y.segment ()))
36114  return false;
36115 
36116  return true;
36117  }
36118 
36119  bool
36120  operator!= (const SegmentEndPoint& x, const SegmentEndPoint& y)
36121  {
36122  return !(x == y);
36123  }
36124 
36125  // BiophysicalProperties
36126  //
36127 
36129  BiophysicalProperties (const id_type& id,
36130  const membraneProperties_type& membraneProperties)
36131  : ::neuroml2::Standalone (id),
36132  membraneProperties_ (membraneProperties, this),
36133  intracellularProperties_ (this),
36134  extracellularProperties_ (this)
36135  {
36136  }
36137 
36139  BiophysicalProperties (const id_type& id,
36140  ::std::unique_ptr< membraneProperties_type > membraneProperties)
36141  : ::neuroml2::Standalone (id),
36142  membraneProperties_ (std::move (membraneProperties), this),
36143  intracellularProperties_ (this),
36144  extracellularProperties_ (this)
36145  {
36146  }
36147 
36150  ::xml_schema::flags f,
36151  ::xml_schema::container* c)
36152  : ::neuroml2::Standalone (x, f, c),
36153  membraneProperties_ (x.membraneProperties_, f, this),
36154  intracellularProperties_ (x.intracellularProperties_, f, this),
36155  extracellularProperties_ (x.extracellularProperties_, f, this)
36156  {
36157  }
36158 
36160  BiophysicalProperties (const ::xercesc::DOMElement& e,
36161  ::xml_schema::flags f,
36162  ::xml_schema::container* c)
36163  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
36164  membraneProperties_ (this),
36165  intracellularProperties_ (this),
36166  extracellularProperties_ (this)
36167  {
36168  if ((f & ::xml_schema::flags::base) == 0)
36169  {
36170  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
36171  this->parse (p, f);
36172  }
36173  }
36174 
36175  void BiophysicalProperties::
36176  parse (::xsd::cxx::xml::dom::parser< char >& p,
36177  ::xml_schema::flags f)
36178  {
36179  this->::neuroml2::Standalone::parse (p, f);
36180 
36181  for (; p.more_content (); p.next_content (false))
36182  {
36183  const ::xercesc::DOMElement& i (p.cur_element ());
36184  const ::xsd::cxx::xml::qualified_name< char > n (
36185  ::xsd::cxx::xml::dom::name< char > (i));
36186 
36187  // membraneProperties
36188  //
36189  if (n.name () == "membraneProperties" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
36190  {
36191  ::std::unique_ptr< membraneProperties_type > r (
36192  membraneProperties_traits::create (i, f, this));
36193 
36194  if (!membraneProperties_.present ())
36195  {
36196  this->membraneProperties_.set (::std::move (r));
36197  continue;
36198  }
36199  }
36200 
36201  // intracellularProperties
36202  //
36203  if (n.name () == "intracellularProperties" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
36204  {
36205  ::std::unique_ptr< intracellularProperties_type > r (
36206  intracellularProperties_traits::create (i, f, this));
36207 
36208  if (!this->intracellularProperties_)
36209  {
36210  this->intracellularProperties_.set (::std::move (r));
36211  continue;
36212  }
36213  }
36214 
36215  // extracellularProperties
36216  //
36217  if (n.name () == "extracellularProperties" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
36218  {
36219  ::std::unique_ptr< extracellularProperties_type > r (
36220  extracellularProperties_traits::create (i, f, this));
36221 
36222  if (!this->extracellularProperties_)
36223  {
36224  this->extracellularProperties_.set (::std::move (r));
36225  continue;
36226  }
36227  }
36228 
36229  break;
36230  }
36231 
36232  if (!membraneProperties_.present ())
36233  {
36234  throw ::xsd::cxx::tree::expected_element< char > (
36235  "membraneProperties",
36236  "http://www.neuroml.org/schema/neuroml2");
36237  }
36238  }
36239 
36242  ::xml_schema::container* c) const
36243  {
36244  return new class BiophysicalProperties (*this, f, c);
36245  }
36246 
36249  {
36250  if (this != &x)
36251  {
36252  static_cast< ::neuroml2::Standalone& > (*this) = x;
36253  this->membraneProperties_ = x.membraneProperties_;
36254  this->intracellularProperties_ = x.intracellularProperties_;
36255  this->extracellularProperties_ = x.extracellularProperties_;
36256  }
36257 
36258  return *this;
36259  }
36260 
36263  {
36264  }
36265 
36266  bool
36267  operator== (const BiophysicalProperties& x, const BiophysicalProperties& y)
36268  {
36269  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
36270  static_cast< const ::neuroml2::Standalone& > (y)))
36271  return false;
36272 
36273  if (!(x.membraneProperties () == y.membraneProperties ()))
36274  return false;
36275 
36277  return false;
36278 
36280  return false;
36281 
36282  return true;
36283  }
36284 
36285  bool
36286  operator!= (const BiophysicalProperties& x, const BiophysicalProperties& y)
36287  {
36288  return !(x == y);
36289  }
36290 
36291  // BiophysicalProperties2CaPools
36292  //
36293 
36296  const membraneProperties2CaPools_type& membraneProperties2CaPools)
36297  : ::neuroml2::Standalone (id),
36298  membraneProperties2CaPools_ (membraneProperties2CaPools, this),
36299  intracellularProperties2CaPools_ (this),
36300  extracellularProperties_ (this)
36301  {
36302  }
36303 
36306  ::std::unique_ptr< membraneProperties2CaPools_type > membraneProperties2CaPools)
36307  : ::neuroml2::Standalone (id),
36308  membraneProperties2CaPools_ (std::move (membraneProperties2CaPools), this),
36309  intracellularProperties2CaPools_ (this),
36310  extracellularProperties_ (this)
36311  {
36312  }
36313 
36316  ::xml_schema::flags f,
36317  ::xml_schema::container* c)
36318  : ::neuroml2::Standalone (x, f, c),
36319  membraneProperties2CaPools_ (x.membraneProperties2CaPools_, f, this),
36320  intracellularProperties2CaPools_ (x.intracellularProperties2CaPools_, f, this),
36321  extracellularProperties_ (x.extracellularProperties_, f, this)
36322  {
36323  }
36324 
36326  BiophysicalProperties2CaPools (const ::xercesc::DOMElement& e,
36327  ::xml_schema::flags f,
36328  ::xml_schema::container* c)
36329  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
36330  membraneProperties2CaPools_ (this),
36331  intracellularProperties2CaPools_ (this),
36332  extracellularProperties_ (this)
36333  {
36334  if ((f & ::xml_schema::flags::base) == 0)
36335  {
36336  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
36337  this->parse (p, f);
36338  }
36339  }
36340 
36341  void BiophysicalProperties2CaPools::
36342  parse (::xsd::cxx::xml::dom::parser< char >& p,
36343  ::xml_schema::flags f)
36344  {
36345  this->::neuroml2::Standalone::parse (p, f);
36346 
36347  for (; p.more_content (); p.next_content (false))
36348  {
36349  const ::xercesc::DOMElement& i (p.cur_element ());
36350  const ::xsd::cxx::xml::qualified_name< char > n (
36351  ::xsd::cxx::xml::dom::name< char > (i));
36352 
36353  // membraneProperties2CaPools
36354  //
36355  if (n.name () == "membraneProperties2CaPools" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
36356  {
36357  ::std::unique_ptr< membraneProperties2CaPools_type > r (
36358  membraneProperties2CaPools_traits::create (i, f, this));
36359 
36360  if (!membraneProperties2CaPools_.present ())
36361  {
36362  this->membraneProperties2CaPools_.set (::std::move (r));
36363  continue;
36364  }
36365  }
36366 
36367  // intracellularProperties2CaPools
36368  //
36369  if (n.name () == "intracellularProperties2CaPools" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
36370  {
36371  ::std::unique_ptr< intracellularProperties2CaPools_type > r (
36372  intracellularProperties2CaPools_traits::create (i, f, this));
36373 
36374  if (!this->intracellularProperties2CaPools_)
36375  {
36376  this->intracellularProperties2CaPools_.set (::std::move (r));
36377  continue;
36378  }
36379  }
36380 
36381  // extracellularProperties
36382  //
36383  if (n.name () == "extracellularProperties" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
36384  {
36385  ::std::unique_ptr< extracellularProperties_type > r (
36386  extracellularProperties_traits::create (i, f, this));
36387 
36388  if (!this->extracellularProperties_)
36389  {
36390  this->extracellularProperties_.set (::std::move (r));
36391  continue;
36392  }
36393  }
36394 
36395  break;
36396  }
36397 
36398  if (!membraneProperties2CaPools_.present ())
36399  {
36400  throw ::xsd::cxx::tree::expected_element< char > (
36401  "membraneProperties2CaPools",
36402  "http://www.neuroml.org/schema/neuroml2");
36403  }
36404  }
36405 
36408  ::xml_schema::container* c) const
36409  {
36410  return new class BiophysicalProperties2CaPools (*this, f, c);
36411  }
36412 
36415  {
36416  if (this != &x)
36417  {
36418  static_cast< ::neuroml2::Standalone& > (*this) = x;
36419  this->membraneProperties2CaPools_ = x.membraneProperties2CaPools_;
36420  this->intracellularProperties2CaPools_ = x.intracellularProperties2CaPools_;
36421  this->extracellularProperties_ = x.extracellularProperties_;
36422  }
36423 
36424  return *this;
36425  }
36426 
36429  {
36430  }
36431 
36432  bool
36433  operator== (const BiophysicalProperties2CaPools& x, const BiophysicalProperties2CaPools& y)
36434  {
36435  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
36436  static_cast< const ::neuroml2::Standalone& > (y)))
36437  return false;
36438 
36440  return false;
36441 
36443  return false;
36444 
36446  return false;
36447 
36448  return true;
36449  }
36450 
36451  bool
36452  operator!= (const BiophysicalProperties2CaPools& x, const BiophysicalProperties2CaPools& y)
36453  {
36454  return !(x == y);
36455  }
36456 
36457  // MembraneProperties
36458  //
36459 
36462  : ::neuroml2::BaseWithoutId (),
36463  channelPopulation_ (this),
36464  channelDensity_ (this),
36465  channelDensityVShift_ (this),
36466  channelDensityNernst_ (this),
36467  channelDensityGHK_ (this),
36468  channelDensityGHK2_ (this),
36469  channelDensityNonUniform_ (this),
36470  channelDensityNonUniformNernst_ (this),
36471  channelDensityNonUniformGHK_ (this),
36472  spikeThresh_ (this),
36473  specificCapacitance_ (this),
36474  initMembPotential_ (this)
36475  {
36476  }
36477 
36480  ::xml_schema::flags f,
36481  ::xml_schema::container* c)
36482  : ::neuroml2::BaseWithoutId (x, f, c),
36483  channelPopulation_ (x.channelPopulation_, f, this),
36484  channelDensity_ (x.channelDensity_, f, this),
36485  channelDensityVShift_ (x.channelDensityVShift_, f, this),
36486  channelDensityNernst_ (x.channelDensityNernst_, f, this),
36487  channelDensityGHK_ (x.channelDensityGHK_, f, this),
36488  channelDensityGHK2_ (x.channelDensityGHK2_, f, this),
36489  channelDensityNonUniform_ (x.channelDensityNonUniform_, f, this),
36490  channelDensityNonUniformNernst_ (x.channelDensityNonUniformNernst_, f, this),
36491  channelDensityNonUniformGHK_ (x.channelDensityNonUniformGHK_, f, this),
36492  spikeThresh_ (x.spikeThresh_, f, this),
36493  specificCapacitance_ (x.specificCapacitance_, f, this),
36494  initMembPotential_ (x.initMembPotential_, f, this)
36495  {
36496  }
36497 
36499  MembraneProperties (const ::xercesc::DOMElement& e,
36500  ::xml_schema::flags f,
36501  ::xml_schema::container* c)
36502  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
36503  channelPopulation_ (this),
36504  channelDensity_ (this),
36505  channelDensityVShift_ (this),
36506  channelDensityNernst_ (this),
36507  channelDensityGHK_ (this),
36508  channelDensityGHK2_ (this),
36509  channelDensityNonUniform_ (this),
36510  channelDensityNonUniformNernst_ (this),
36511  channelDensityNonUniformGHK_ (this),
36512  spikeThresh_ (this),
36513  specificCapacitance_ (this),
36514  initMembPotential_ (this)
36515  {
36516  if ((f & ::xml_schema::flags::base) == 0)
36517  {
36518  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, false);
36519  this->parse (p, f);
36520  }
36521  }
36522 
36523  void MembraneProperties::
36524  parse (::xsd::cxx::xml::dom::parser< char >& p,
36525  ::xml_schema::flags f)
36526  {
36527  for (; p.more_content (); p.next_content (false))
36528  {
36529  const ::xercesc::DOMElement& i (p.cur_element ());
36530  const ::xsd::cxx::xml::qualified_name< char > n (
36531  ::xsd::cxx::xml::dom::name< char > (i));
36532 
36533  // channelPopulation
36534  //
36535  if (n.name () == "channelPopulation" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
36536  {
36537  ::std::unique_ptr< channelPopulation_type > r (
36538  channelPopulation_traits::create (i, f, this));
36539 
36540  this->channelPopulation_.push_back (::std::move (r));
36541  continue;
36542  }
36543 
36544  // channelDensity
36545  //
36546  if (n.name () == "channelDensity" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
36547  {
36548  ::std::unique_ptr< channelDensity_type > r (
36549  channelDensity_traits::create (i, f, this));
36550 
36551  this->channelDensity_.push_back (::std::move (r));
36552  continue;
36553  }
36554 
36555  // channelDensityVShift
36556  //
36557  if (n.name () == "channelDensityVShift" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
36558  {
36559  ::std::unique_ptr< channelDensityVShift_type > r (
36560  channelDensityVShift_traits::create (i, f, this));
36561 
36562  this->channelDensityVShift_.push_back (::std::move (r));
36563  continue;
36564  }
36565 
36566  // channelDensityNernst
36567  //
36568  if (n.name () == "channelDensityNernst" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
36569  {
36570  ::std::unique_ptr< channelDensityNernst_type > r (
36571  channelDensityNernst_traits::create (i, f, this));
36572 
36573  this->channelDensityNernst_.push_back (::std::move (r));
36574  continue;
36575  }
36576 
36577  // channelDensityGHK
36578  //
36579  if (n.name () == "channelDensityGHK" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
36580  {
36581  ::std::unique_ptr< channelDensityGHK_type > r (
36582  channelDensityGHK_traits::create (i, f, this));
36583 
36584  this->channelDensityGHK_.push_back (::std::move (r));
36585  continue;
36586  }
36587 
36588  // channelDensityGHK2
36589  //
36590  if (n.name () == "channelDensityGHK2" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
36591  {
36592  ::std::unique_ptr< channelDensityGHK2_type > r (
36593  channelDensityGHK2_traits::create (i, f, this));
36594 
36595  this->channelDensityGHK2_.push_back (::std::move (r));
36596  continue;
36597  }
36598 
36599  // channelDensityNonUniform
36600  //
36601  if (n.name () == "channelDensityNonUniform" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
36602  {
36603  ::std::unique_ptr< channelDensityNonUniform_type > r (
36604  channelDensityNonUniform_traits::create (i, f, this));
36605 
36606  this->channelDensityNonUniform_.push_back (::std::move (r));
36607  continue;
36608  }
36609 
36610  // channelDensityNonUniformNernst
36611  //
36612  if (n.name () == "channelDensityNonUniformNernst" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
36613  {
36614  ::std::unique_ptr< channelDensityNonUniformNernst_type > r (
36615  channelDensityNonUniformNernst_traits::create (i, f, this));
36616 
36617  this->channelDensityNonUniformNernst_.push_back (::std::move (r));
36618  continue;
36619  }
36620 
36621  // channelDensityNonUniformGHK
36622  //
36623  if (n.name () == "channelDensityNonUniformGHK" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
36624  {
36625  ::std::unique_ptr< channelDensityNonUniformGHK_type > r (
36626  channelDensityNonUniformGHK_traits::create (i, f, this));
36627 
36628  this->channelDensityNonUniformGHK_.push_back (::std::move (r));
36629  continue;
36630  }
36631 
36632  // spikeThresh
36633  //
36634  if (n.name () == "spikeThresh" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
36635  {
36636  ::std::unique_ptr< spikeThresh_type > r (
36637  spikeThresh_traits::create (i, f, this));
36638 
36639  this->spikeThresh_.push_back (::std::move (r));
36640  continue;
36641  }
36642 
36643  // specificCapacitance
36644  //
36645  if (n.name () == "specificCapacitance" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
36646  {
36647  ::std::unique_ptr< specificCapacitance_type > r (
36648  specificCapacitance_traits::create (i, f, this));
36649 
36650  this->specificCapacitance_.push_back (::std::move (r));
36651  continue;
36652  }
36653 
36654  // initMembPotential
36655  //
36656  if (n.name () == "initMembPotential" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
36657  {
36658  ::std::unique_ptr< initMembPotential_type > r (
36659  initMembPotential_traits::create (i, f, this));
36660 
36661  this->initMembPotential_.push_back (::std::move (r));
36662  continue;
36663  }
36664 
36665  break;
36666  }
36667  }
36668 
36671  ::xml_schema::container* c) const
36672  {
36673  return new class MembraneProperties (*this, f, c);
36674  }
36675 
36678  {
36679  if (this != &x)
36680  {
36681  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
36682  this->channelPopulation_ = x.channelPopulation_;
36683  this->channelDensity_ = x.channelDensity_;
36684  this->channelDensityVShift_ = x.channelDensityVShift_;
36685  this->channelDensityNernst_ = x.channelDensityNernst_;
36686  this->channelDensityGHK_ = x.channelDensityGHK_;
36687  this->channelDensityGHK2_ = x.channelDensityGHK2_;
36688  this->channelDensityNonUniform_ = x.channelDensityNonUniform_;
36689  this->channelDensityNonUniformNernst_ = x.channelDensityNonUniformNernst_;
36690  this->channelDensityNonUniformGHK_ = x.channelDensityNonUniformGHK_;
36691  this->spikeThresh_ = x.spikeThresh_;
36692  this->specificCapacitance_ = x.specificCapacitance_;
36693  this->initMembPotential_ = x.initMembPotential_;
36694  }
36695 
36696  return *this;
36697  }
36698 
36701  {
36702  }
36703 
36704  bool
36705  operator== (const MembraneProperties& x, const MembraneProperties& y)
36706  {
36707  if (!(x.channelPopulation () == y.channelPopulation ()))
36708  return false;
36709 
36710  if (!(x.channelDensity () == y.channelDensity ()))
36711  return false;
36712 
36713  if (!(x.channelDensityVShift () == y.channelDensityVShift ()))
36714  return false;
36715 
36716  if (!(x.channelDensityNernst () == y.channelDensityNernst ()))
36717  return false;
36718 
36719  if (!(x.channelDensityGHK () == y.channelDensityGHK ()))
36720  return false;
36721 
36722  if (!(x.channelDensityGHK2 () == y.channelDensityGHK2 ()))
36723  return false;
36724 
36726  return false;
36727 
36729  return false;
36730 
36732  return false;
36733 
36734  if (!(x.spikeThresh () == y.spikeThresh ()))
36735  return false;
36736 
36737  if (!(x.specificCapacitance () == y.specificCapacitance ()))
36738  return false;
36739 
36740  if (!(x.initMembPotential () == y.initMembPotential ()))
36741  return false;
36742 
36743  return true;
36744  }
36745 
36746  bool
36747  operator!= (const MembraneProperties& x, const MembraneProperties& y)
36748  {
36749  return !(x == y);
36750  }
36751 
36752  // MembraneProperties2CaPools
36753  //
36754 
36757  : ::neuroml2::MembraneProperties (),
36758  channelDensityNernstCa2_ (this)
36759  {
36760  }
36761 
36764  ::xml_schema::flags f,
36765  ::xml_schema::container* c)
36766  : ::neuroml2::MembraneProperties (x, f, c),
36767  channelDensityNernstCa2_ (x.channelDensityNernstCa2_, f, this)
36768  {
36769  }
36770 
36772  MembraneProperties2CaPools (const ::xercesc::DOMElement& e,
36773  ::xml_schema::flags f,
36774  ::xml_schema::container* c)
36775  : ::neuroml2::MembraneProperties (e, f | ::xml_schema::flags::base, c),
36776  channelDensityNernstCa2_ (this)
36777  {
36778  if ((f & ::xml_schema::flags::base) == 0)
36779  {
36780  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, false);
36781  this->parse (p, f);
36782  }
36783  }
36784 
36785  void MembraneProperties2CaPools::
36786  parse (::xsd::cxx::xml::dom::parser< char >& p,
36787  ::xml_schema::flags f)
36788  {
36789  this->::neuroml2::MembraneProperties::parse (p, f);
36790 
36791  for (; p.more_content (); p.next_content (false))
36792  {
36793  const ::xercesc::DOMElement& i (p.cur_element ());
36794  const ::xsd::cxx::xml::qualified_name< char > n (
36795  ::xsd::cxx::xml::dom::name< char > (i));
36796 
36797  // channelDensityNernstCa2
36798  //
36799  if (n.name () == "channelDensityNernstCa2" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
36800  {
36801  ::std::unique_ptr< channelDensityNernstCa2_type > r (
36802  channelDensityNernstCa2_traits::create (i, f, this));
36803 
36804  this->channelDensityNernstCa2_.push_back (::std::move (r));
36805  continue;
36806  }
36807 
36808  break;
36809  }
36810  }
36811 
36814  ::xml_schema::container* c) const
36815  {
36816  return new class MembraneProperties2CaPools (*this, f, c);
36817  }
36818 
36821  {
36822  if (this != &x)
36823  {
36824  static_cast< ::neuroml2::MembraneProperties& > (*this) = x;
36825  this->channelDensityNernstCa2_ = x.channelDensityNernstCa2_;
36826  }
36827 
36828  return *this;
36829  }
36830 
36833  {
36834  }
36835 
36836  bool
36837  operator== (const MembraneProperties2CaPools& x, const MembraneProperties2CaPools& y)
36838  {
36839  if (!(static_cast< const ::neuroml2::MembraneProperties& > (x) ==
36840  static_cast< const ::neuroml2::MembraneProperties& > (y)))
36841  return false;
36842 
36844  return false;
36845 
36846  return true;
36847  }
36848 
36849  bool
36850  operator!= (const MembraneProperties2CaPools& x, const MembraneProperties2CaPools& y)
36851  {
36852  return !(x == y);
36853  }
36854 
36855  // SpikeThresh
36856  //
36857 
36858  const SpikeThresh::segmentGroup_type SpikeThresh::segmentGroup_default_value_ (
36859  "all");
36860 
36862  SpikeThresh (const value_type& value)
36863  : ::neuroml2::BaseWithoutId (),
36864  value_ (value, this),
36865  segmentGroup_ (segmentGroup_default_value (), this)
36866  {
36867  }
36868 
36870  SpikeThresh (const SpikeThresh& x,
36871  ::xml_schema::flags f,
36872  ::xml_schema::container* c)
36873  : ::neuroml2::BaseWithoutId (x, f, c),
36874  value_ (x.value_, f, this),
36875  segmentGroup_ (x.segmentGroup_, f, this)
36876  {
36877  }
36878 
36880  SpikeThresh (const ::xercesc::DOMElement& e,
36881  ::xml_schema::flags f,
36882  ::xml_schema::container* c)
36883  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
36884  value_ (this),
36885  segmentGroup_ (this)
36886  {
36887  if ((f & ::xml_schema::flags::base) == 0)
36888  {
36889  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
36890  this->parse (p, f);
36891  }
36892  }
36893 
36894  void SpikeThresh::
36895  parse (::xsd::cxx::xml::dom::parser< char >& p,
36896  ::xml_schema::flags f)
36897  {
36898  while (p.more_attributes ())
36899  {
36900  const ::xercesc::DOMAttr& i (p.next_attribute ());
36901  const ::xsd::cxx::xml::qualified_name< char > n (
36902  ::xsd::cxx::xml::dom::name< char > (i));
36903 
36904  if (n.name () == "value" && n.namespace_ ().empty ())
36905  {
36906  this->value_.set (value_traits::create (i, f, this));
36907  continue;
36908  }
36909 
36910  if (n.name () == "segmentGroup" && n.namespace_ ().empty ())
36911  {
36912  this->segmentGroup_.set (segmentGroup_traits::create (i, f, this));
36913  continue;
36914  }
36915  }
36916 
36917  if (!value_.present ())
36918  {
36919  throw ::xsd::cxx::tree::expected_attribute< char > (
36920  "value",
36921  "");
36922  }
36923 
36924  if (!segmentGroup_.present ())
36925  {
36926  this->segmentGroup_.set (segmentGroup_default_value ());
36927  }
36928  }
36929 
36932  ::xml_schema::container* c) const
36933  {
36934  return new class SpikeThresh (*this, f, c);
36935  }
36936 
36938  operator= (const SpikeThresh& x)
36939  {
36940  if (this != &x)
36941  {
36942  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
36943  this->value_ = x.value_;
36944  this->segmentGroup_ = x.segmentGroup_;
36945  }
36946 
36947  return *this;
36948  }
36949 
36951  ~SpikeThresh ()
36952  {
36953  }
36954 
36955  bool
36956  operator== (const SpikeThresh& x, const SpikeThresh& y)
36957  {
36958  if (!(x.value () == y.value ()))
36959  return false;
36960 
36961  if (!(x.segmentGroup () == y.segmentGroup ()))
36962  return false;
36963 
36964  return true;
36965  }
36966 
36967  bool
36968  operator!= (const SpikeThresh& x, const SpikeThresh& y)
36969  {
36970  return !(x == y);
36971  }
36972 
36973  // SpecificCapacitance
36974  //
36975 
36976  const SpecificCapacitance::segmentGroup_type SpecificCapacitance::segmentGroup_default_value_ (
36977  "all");
36978 
36980  SpecificCapacitance (const value_type& value)
36981  : ::neuroml2::BaseWithoutId (),
36982  value_ (value, this),
36983  segmentGroup_ (segmentGroup_default_value (), this)
36984  {
36985  }
36986 
36989  ::xml_schema::flags f,
36990  ::xml_schema::container* c)
36991  : ::neuroml2::BaseWithoutId (x, f, c),
36992  value_ (x.value_, f, this),
36993  segmentGroup_ (x.segmentGroup_, f, this)
36994  {
36995  }
36996 
36998  SpecificCapacitance (const ::xercesc::DOMElement& e,
36999  ::xml_schema::flags f,
37000  ::xml_schema::container* c)
37001  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
37002  value_ (this),
37003  segmentGroup_ (this)
37004  {
37005  if ((f & ::xml_schema::flags::base) == 0)
37006  {
37007  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
37008  this->parse (p, f);
37009  }
37010  }
37011 
37012  void SpecificCapacitance::
37013  parse (::xsd::cxx::xml::dom::parser< char >& p,
37014  ::xml_schema::flags f)
37015  {
37016  while (p.more_attributes ())
37017  {
37018  const ::xercesc::DOMAttr& i (p.next_attribute ());
37019  const ::xsd::cxx::xml::qualified_name< char > n (
37020  ::xsd::cxx::xml::dom::name< char > (i));
37021 
37022  if (n.name () == "value" && n.namespace_ ().empty ())
37023  {
37024  this->value_.set (value_traits::create (i, f, this));
37025  continue;
37026  }
37027 
37028  if (n.name () == "segmentGroup" && n.namespace_ ().empty ())
37029  {
37030  this->segmentGroup_.set (segmentGroup_traits::create (i, f, this));
37031  continue;
37032  }
37033  }
37034 
37035  if (!value_.present ())
37036  {
37037  throw ::xsd::cxx::tree::expected_attribute< char > (
37038  "value",
37039  "");
37040  }
37041 
37042  if (!segmentGroup_.present ())
37043  {
37044  this->segmentGroup_.set (segmentGroup_default_value ());
37045  }
37046  }
37047 
37050  ::xml_schema::container* c) const
37051  {
37052  return new class SpecificCapacitance (*this, f, c);
37053  }
37054 
37057  {
37058  if (this != &x)
37059  {
37060  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
37061  this->value_ = x.value_;
37062  this->segmentGroup_ = x.segmentGroup_;
37063  }
37064 
37065  return *this;
37066  }
37067 
37070  {
37071  }
37072 
37073  bool
37074  operator== (const SpecificCapacitance& x, const SpecificCapacitance& y)
37075  {
37076  if (!(x.value () == y.value ()))
37077  return false;
37078 
37079  if (!(x.segmentGroup () == y.segmentGroup ()))
37080  return false;
37081 
37082  return true;
37083  }
37084 
37085  bool
37086  operator!= (const SpecificCapacitance& x, const SpecificCapacitance& y)
37087  {
37088  return !(x == y);
37089  }
37090 
37091  // InitMembPotential
37092  //
37093 
37094  const InitMembPotential::segmentGroup_type InitMembPotential::segmentGroup_default_value_ (
37095  "all");
37096 
37098  InitMembPotential (const value_type& value)
37099  : ::neuroml2::BaseWithoutId (),
37100  value_ (value, this),
37101  segmentGroup_ (segmentGroup_default_value (), this)
37102  {
37103  }
37104 
37107  ::xml_schema::flags f,
37108  ::xml_schema::container* c)
37109  : ::neuroml2::BaseWithoutId (x, f, c),
37110  value_ (x.value_, f, this),
37111  segmentGroup_ (x.segmentGroup_, f, this)
37112  {
37113  }
37114 
37116  InitMembPotential (const ::xercesc::DOMElement& e,
37117  ::xml_schema::flags f,
37118  ::xml_schema::container* c)
37119  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
37120  value_ (this),
37121  segmentGroup_ (this)
37122  {
37123  if ((f & ::xml_schema::flags::base) == 0)
37124  {
37125  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
37126  this->parse (p, f);
37127  }
37128  }
37129 
37130  void InitMembPotential::
37131  parse (::xsd::cxx::xml::dom::parser< char >& p,
37132  ::xml_schema::flags f)
37133  {
37134  while (p.more_attributes ())
37135  {
37136  const ::xercesc::DOMAttr& i (p.next_attribute ());
37137  const ::xsd::cxx::xml::qualified_name< char > n (
37138  ::xsd::cxx::xml::dom::name< char > (i));
37139 
37140  if (n.name () == "value" && n.namespace_ ().empty ())
37141  {
37142  this->value_.set (value_traits::create (i, f, this));
37143  continue;
37144  }
37145 
37146  if (n.name () == "segmentGroup" && n.namespace_ ().empty ())
37147  {
37148  this->segmentGroup_.set (segmentGroup_traits::create (i, f, this));
37149  continue;
37150  }
37151  }
37152 
37153  if (!value_.present ())
37154  {
37155  throw ::xsd::cxx::tree::expected_attribute< char > (
37156  "value",
37157  "");
37158  }
37159 
37160  if (!segmentGroup_.present ())
37161  {
37162  this->segmentGroup_.set (segmentGroup_default_value ());
37163  }
37164  }
37165 
37168  ::xml_schema::container* c) const
37169  {
37170  return new class InitMembPotential (*this, f, c);
37171  }
37172 
37175  {
37176  if (this != &x)
37177  {
37178  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
37179  this->value_ = x.value_;
37180  this->segmentGroup_ = x.segmentGroup_;
37181  }
37182 
37183  return *this;
37184  }
37185 
37188  {
37189  }
37190 
37191  bool
37192  operator== (const InitMembPotential& x, const InitMembPotential& y)
37193  {
37194  if (!(x.value () == y.value ()))
37195  return false;
37196 
37197  if (!(x.segmentGroup () == y.segmentGroup ()))
37198  return false;
37199 
37200  return true;
37201  }
37202 
37203  bool
37204  operator!= (const InitMembPotential& x, const InitMembPotential& y)
37205  {
37206  return !(x == y);
37207  }
37208 
37209  // Resistivity
37210  //
37211 
37212  const Resistivity::segmentGroup_type Resistivity::segmentGroup_default_value_ (
37213  "all");
37214 
37216  Resistivity (const value_type& value)
37217  : ::neuroml2::BaseWithoutId (),
37218  value_ (value, this),
37219  segmentGroup_ (segmentGroup_default_value (), this)
37220  {
37221  }
37222 
37224  Resistivity (const Resistivity& x,
37225  ::xml_schema::flags f,
37226  ::xml_schema::container* c)
37227  : ::neuroml2::BaseWithoutId (x, f, c),
37228  value_ (x.value_, f, this),
37229  segmentGroup_ (x.segmentGroup_, f, this)
37230  {
37231  }
37232 
37234  Resistivity (const ::xercesc::DOMElement& e,
37235  ::xml_schema::flags f,
37236  ::xml_schema::container* c)
37237  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
37238  value_ (this),
37239  segmentGroup_ (this)
37240  {
37241  if ((f & ::xml_schema::flags::base) == 0)
37242  {
37243  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
37244  this->parse (p, f);
37245  }
37246  }
37247 
37248  void Resistivity::
37249  parse (::xsd::cxx::xml::dom::parser< char >& p,
37250  ::xml_schema::flags f)
37251  {
37252  while (p.more_attributes ())
37253  {
37254  const ::xercesc::DOMAttr& i (p.next_attribute ());
37255  const ::xsd::cxx::xml::qualified_name< char > n (
37256  ::xsd::cxx::xml::dom::name< char > (i));
37257 
37258  if (n.name () == "value" && n.namespace_ ().empty ())
37259  {
37260  this->value_.set (value_traits::create (i, f, this));
37261  continue;
37262  }
37263 
37264  if (n.name () == "segmentGroup" && n.namespace_ ().empty ())
37265  {
37266  this->segmentGroup_.set (segmentGroup_traits::create (i, f, this));
37267  continue;
37268  }
37269  }
37270 
37271  if (!value_.present ())
37272  {
37273  throw ::xsd::cxx::tree::expected_attribute< char > (
37274  "value",
37275  "");
37276  }
37277 
37278  if (!segmentGroup_.present ())
37279  {
37280  this->segmentGroup_.set (segmentGroup_default_value ());
37281  }
37282  }
37283 
37286  ::xml_schema::container* c) const
37287  {
37288  return new class Resistivity (*this, f, c);
37289  }
37290 
37292  operator= (const Resistivity& x)
37293  {
37294  if (this != &x)
37295  {
37296  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
37297  this->value_ = x.value_;
37298  this->segmentGroup_ = x.segmentGroup_;
37299  }
37300 
37301  return *this;
37302  }
37303 
37305  ~Resistivity ()
37306  {
37307  }
37308 
37309  bool
37310  operator== (const Resistivity& x, const Resistivity& y)
37311  {
37312  if (!(x.value () == y.value ()))
37313  return false;
37314 
37315  if (!(x.segmentGroup () == y.segmentGroup ()))
37316  return false;
37317 
37318  return true;
37319  }
37320 
37321  bool
37322  operator!= (const Resistivity& x, const Resistivity& y)
37323  {
37324  return !(x == y);
37325  }
37326 
37327  // ChannelPopulation
37328  //
37329 
37330  const ChannelPopulation::segmentGroup_type ChannelPopulation::segmentGroup_default_value_ (
37331  "all");
37332 
37334  ChannelPopulation (const id_type& id,
37335  const ionChannel_type& ionChannel,
37336  const number_type& number,
37337  const erev_type& erev,
37338  const ion_type& ion)
37339  : ::neuroml2::Base (id),
37340  variableParameter_ (this),
37341  ionChannel_ (ionChannel, this),
37342  number_ (number, this),
37343  erev_ (erev, this),
37344  segmentGroup_ (segmentGroup_default_value (), this),
37345  segment_ (this),
37346  ion_ (ion, this)
37347  {
37348  }
37349 
37352  ::xml_schema::flags f,
37353  ::xml_schema::container* c)
37354  : ::neuroml2::Base (x, f, c),
37355  variableParameter_ (x.variableParameter_, f, this),
37356  ionChannel_ (x.ionChannel_, f, this),
37357  number_ (x.number_, f, this),
37358  erev_ (x.erev_, f, this),
37359  segmentGroup_ (x.segmentGroup_, f, this),
37360  segment_ (x.segment_, f, this),
37361  ion_ (x.ion_, f, this)
37362  {
37363  }
37364 
37366  ChannelPopulation (const ::xercesc::DOMElement& e,
37367  ::xml_schema::flags f,
37368  ::xml_schema::container* c)
37369  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
37370  variableParameter_ (this),
37371  ionChannel_ (this),
37372  number_ (this),
37373  erev_ (this),
37374  segmentGroup_ (this),
37375  segment_ (this),
37376  ion_ (this)
37377  {
37378  if ((f & ::xml_schema::flags::base) == 0)
37379  {
37380  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
37381  this->parse (p, f);
37382  }
37383  }
37384 
37385  void ChannelPopulation::
37386  parse (::xsd::cxx::xml::dom::parser< char >& p,
37387  ::xml_schema::flags f)
37388  {
37389  this->::neuroml2::Base::parse (p, f);
37390 
37391  for (; p.more_content (); p.next_content (false))
37392  {
37393  const ::xercesc::DOMElement& i (p.cur_element ());
37394  const ::xsd::cxx::xml::qualified_name< char > n (
37395  ::xsd::cxx::xml::dom::name< char > (i));
37396 
37397  // variableParameter
37398  //
37399  if (n.name () == "variableParameter" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
37400  {
37401  ::std::unique_ptr< variableParameter_type > r (
37402  variableParameter_traits::create (i, f, this));
37403 
37404  this->variableParameter_.push_back (::std::move (r));
37405  continue;
37406  }
37407 
37408  break;
37409  }
37410 
37411  p.reset_attributes ();
37412 
37413  while (p.more_attributes ())
37414  {
37415  const ::xercesc::DOMAttr& i (p.next_attribute ());
37416  const ::xsd::cxx::xml::qualified_name< char > n (
37417  ::xsd::cxx::xml::dom::name< char > (i));
37418 
37419  if (n.name () == "ionChannel" && n.namespace_ ().empty ())
37420  {
37421  this->ionChannel_.set (ionChannel_traits::create (i, f, this));
37422  continue;
37423  }
37424 
37425  if (n.name () == "number" && n.namespace_ ().empty ())
37426  {
37427  this->number_.set (number_traits::create (i, f, this));
37428  continue;
37429  }
37430 
37431  if (n.name () == "erev" && n.namespace_ ().empty ())
37432  {
37433  this->erev_.set (erev_traits::create (i, f, this));
37434  continue;
37435  }
37436 
37437  if (n.name () == "segmentGroup" && n.namespace_ ().empty ())
37438  {
37439  this->segmentGroup_.set (segmentGroup_traits::create (i, f, this));
37440  continue;
37441  }
37442 
37443  if (n.name () == "segment" && n.namespace_ ().empty ())
37444  {
37445  this->segment_.set (segment_traits::create (i, f, this));
37446  continue;
37447  }
37448 
37449  if (n.name () == "ion" && n.namespace_ ().empty ())
37450  {
37451  this->ion_.set (ion_traits::create (i, f, this));
37452  continue;
37453  }
37454  }
37455 
37456  if (!ionChannel_.present ())
37457  {
37458  throw ::xsd::cxx::tree::expected_attribute< char > (
37459  "ionChannel",
37460  "");
37461  }
37462 
37463  if (!number_.present ())
37464  {
37465  throw ::xsd::cxx::tree::expected_attribute< char > (
37466  "number",
37467  "");
37468  }
37469 
37470  if (!erev_.present ())
37471  {
37472  throw ::xsd::cxx::tree::expected_attribute< char > (
37473  "erev",
37474  "");
37475  }
37476 
37477  if (!segmentGroup_.present ())
37478  {
37479  this->segmentGroup_.set (segmentGroup_default_value ());
37480  }
37481 
37482  if (!ion_.present ())
37483  {
37484  throw ::xsd::cxx::tree::expected_attribute< char > (
37485  "ion",
37486  "");
37487  }
37488  }
37489 
37492  ::xml_schema::container* c) const
37493  {
37494  return new class ChannelPopulation (*this, f, c);
37495  }
37496 
37499  {
37500  if (this != &x)
37501  {
37502  static_cast< ::neuroml2::Base& > (*this) = x;
37503  this->variableParameter_ = x.variableParameter_;
37504  this->ionChannel_ = x.ionChannel_;
37505  this->number_ = x.number_;
37506  this->erev_ = x.erev_;
37507  this->segmentGroup_ = x.segmentGroup_;
37508  this->segment_ = x.segment_;
37509  this->ion_ = x.ion_;
37510  }
37511 
37512  return *this;
37513  }
37514 
37517  {
37518  }
37519 
37520  bool
37521  operator== (const ChannelPopulation& x, const ChannelPopulation& y)
37522  {
37523  if (!(static_cast< const ::neuroml2::Base& > (x) ==
37524  static_cast< const ::neuroml2::Base& > (y)))
37525  return false;
37526 
37527  if (!(x.variableParameter () == y.variableParameter ()))
37528  return false;
37529 
37530  if (!(x.ionChannel () == y.ionChannel ()))
37531  return false;
37532 
37533  if (!(x.number () == y.number ()))
37534  return false;
37535 
37536  if (!(x.erev () == y.erev ()))
37537  return false;
37538 
37539  if (!(x.segmentGroup () == y.segmentGroup ()))
37540  return false;
37541 
37542  if (!(x.segment () == y.segment ()))
37543  return false;
37544 
37545  if (!(x.ion () == y.ion ()))
37546  return false;
37547 
37548  return true;
37549  }
37550 
37551  bool
37552  operator!= (const ChannelPopulation& x, const ChannelPopulation& y)
37553  {
37554  return !(x == y);
37555  }
37556 
37557  // ChannelDensityNonUniform
37558  //
37559 
37562  const ionChannel_type& ionChannel,
37563  const erev_type& erev,
37564  const ion_type& ion)
37565  : ::neuroml2::Base (id),
37566  variableParameter_ (this),
37567  ionChannel_ (ionChannel, this),
37568  erev_ (erev, this),
37569  ion_ (ion, this)
37570  {
37571  }
37572 
37575  ::xml_schema::flags f,
37576  ::xml_schema::container* c)
37577  : ::neuroml2::Base (x, f, c),
37578  variableParameter_ (x.variableParameter_, f, this),
37579  ionChannel_ (x.ionChannel_, f, this),
37580  erev_ (x.erev_, f, this),
37581  ion_ (x.ion_, f, this)
37582  {
37583  }
37584 
37586  ChannelDensityNonUniform (const ::xercesc::DOMElement& e,
37587  ::xml_schema::flags f,
37588  ::xml_schema::container* c)
37589  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
37590  variableParameter_ (this),
37591  ionChannel_ (this),
37592  erev_ (this),
37593  ion_ (this)
37594  {
37595  if ((f & ::xml_schema::flags::base) == 0)
37596  {
37597  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
37598  this->parse (p, f);
37599  }
37600  }
37601 
37602  void ChannelDensityNonUniform::
37603  parse (::xsd::cxx::xml::dom::parser< char >& p,
37604  ::xml_schema::flags f)
37605  {
37606  this->::neuroml2::Base::parse (p, f);
37607 
37608  for (; p.more_content (); p.next_content (false))
37609  {
37610  const ::xercesc::DOMElement& i (p.cur_element ());
37611  const ::xsd::cxx::xml::qualified_name< char > n (
37612  ::xsd::cxx::xml::dom::name< char > (i));
37613 
37614  // variableParameter
37615  //
37616  if (n.name () == "variableParameter" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
37617  {
37618  ::std::unique_ptr< variableParameter_type > r (
37619  variableParameter_traits::create (i, f, this));
37620 
37621  this->variableParameter_.push_back (::std::move (r));
37622  continue;
37623  }
37624 
37625  break;
37626  }
37627 
37628  p.reset_attributes ();
37629 
37630  while (p.more_attributes ())
37631  {
37632  const ::xercesc::DOMAttr& i (p.next_attribute ());
37633  const ::xsd::cxx::xml::qualified_name< char > n (
37634  ::xsd::cxx::xml::dom::name< char > (i));
37635 
37636  if (n.name () == "ionChannel" && n.namespace_ ().empty ())
37637  {
37638  this->ionChannel_.set (ionChannel_traits::create (i, f, this));
37639  continue;
37640  }
37641 
37642  if (n.name () == "erev" && n.namespace_ ().empty ())
37643  {
37644  this->erev_.set (erev_traits::create (i, f, this));
37645  continue;
37646  }
37647 
37648  if (n.name () == "ion" && n.namespace_ ().empty ())
37649  {
37650  this->ion_.set (ion_traits::create (i, f, this));
37651  continue;
37652  }
37653  }
37654 
37655  if (!ionChannel_.present ())
37656  {
37657  throw ::xsd::cxx::tree::expected_attribute< char > (
37658  "ionChannel",
37659  "");
37660  }
37661 
37662  if (!erev_.present ())
37663  {
37664  throw ::xsd::cxx::tree::expected_attribute< char > (
37665  "erev",
37666  "");
37667  }
37668 
37669  if (!ion_.present ())
37670  {
37671  throw ::xsd::cxx::tree::expected_attribute< char > (
37672  "ion",
37673  "");
37674  }
37675  }
37676 
37679  ::xml_schema::container* c) const
37680  {
37681  return new class ChannelDensityNonUniform (*this, f, c);
37682  }
37683 
37686  {
37687  if (this != &x)
37688  {
37689  static_cast< ::neuroml2::Base& > (*this) = x;
37690  this->variableParameter_ = x.variableParameter_;
37691  this->ionChannel_ = x.ionChannel_;
37692  this->erev_ = x.erev_;
37693  this->ion_ = x.ion_;
37694  }
37695 
37696  return *this;
37697  }
37698 
37701  {
37702  }
37703 
37704  bool
37705  operator== (const ChannelDensityNonUniform& x, const ChannelDensityNonUniform& y)
37706  {
37707  if (!(static_cast< const ::neuroml2::Base& > (x) ==
37708  static_cast< const ::neuroml2::Base& > (y)))
37709  return false;
37710 
37711  if (!(x.variableParameter () == y.variableParameter ()))
37712  return false;
37713 
37714  if (!(x.ionChannel () == y.ionChannel ()))
37715  return false;
37716 
37717  if (!(x.erev () == y.erev ()))
37718  return false;
37719 
37720  if (!(x.ion () == y.ion ()))
37721  return false;
37722 
37723  return true;
37724  }
37725 
37726  bool
37727  operator!= (const ChannelDensityNonUniform& x, const ChannelDensityNonUniform& y)
37728  {
37729  return !(x == y);
37730  }
37731 
37732  // ChannelDensityNonUniformNernst
37733  //
37734 
37737  const ionChannel_type& ionChannel,
37738  const ion_type& ion)
37739  : ::neuroml2::Base (id),
37740  variableParameter_ (this),
37741  ionChannel_ (ionChannel, this),
37742  ion_ (ion, this)
37743  {
37744  }
37745 
37748  ::xml_schema::flags f,
37749  ::xml_schema::container* c)
37750  : ::neuroml2::Base (x, f, c),
37751  variableParameter_ (x.variableParameter_, f, this),
37752  ionChannel_ (x.ionChannel_, f, this),
37753  ion_ (x.ion_, f, this)
37754  {
37755  }
37756 
37758  ChannelDensityNonUniformNernst (const ::xercesc::DOMElement& e,
37759  ::xml_schema::flags f,
37760  ::xml_schema::container* c)
37761  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
37762  variableParameter_ (this),
37763  ionChannel_ (this),
37764  ion_ (this)
37765  {
37766  if ((f & ::xml_schema::flags::base) == 0)
37767  {
37768  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
37769  this->parse (p, f);
37770  }
37771  }
37772 
37773  void ChannelDensityNonUniformNernst::
37774  parse (::xsd::cxx::xml::dom::parser< char >& p,
37775  ::xml_schema::flags f)
37776  {
37777  this->::neuroml2::Base::parse (p, f);
37778 
37779  for (; p.more_content (); p.next_content (false))
37780  {
37781  const ::xercesc::DOMElement& i (p.cur_element ());
37782  const ::xsd::cxx::xml::qualified_name< char > n (
37783  ::xsd::cxx::xml::dom::name< char > (i));
37784 
37785  // variableParameter
37786  //
37787  if (n.name () == "variableParameter" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
37788  {
37789  ::std::unique_ptr< variableParameter_type > r (
37790  variableParameter_traits::create (i, f, this));
37791 
37792  this->variableParameter_.push_back (::std::move (r));
37793  continue;
37794  }
37795 
37796  break;
37797  }
37798 
37799  p.reset_attributes ();
37800 
37801  while (p.more_attributes ())
37802  {
37803  const ::xercesc::DOMAttr& i (p.next_attribute ());
37804  const ::xsd::cxx::xml::qualified_name< char > n (
37805  ::xsd::cxx::xml::dom::name< char > (i));
37806 
37807  if (n.name () == "ionChannel" && n.namespace_ ().empty ())
37808  {
37809  this->ionChannel_.set (ionChannel_traits::create (i, f, this));
37810  continue;
37811  }
37812 
37813  if (n.name () == "ion" && n.namespace_ ().empty ())
37814  {
37815  this->ion_.set (ion_traits::create (i, f, this));
37816  continue;
37817  }
37818  }
37819 
37820  if (!ionChannel_.present ())
37821  {
37822  throw ::xsd::cxx::tree::expected_attribute< char > (
37823  "ionChannel",
37824  "");
37825  }
37826 
37827  if (!ion_.present ())
37828  {
37829  throw ::xsd::cxx::tree::expected_attribute< char > (
37830  "ion",
37831  "");
37832  }
37833  }
37834 
37837  ::xml_schema::container* c) const
37838  {
37839  return new class ChannelDensityNonUniformNernst (*this, f, c);
37840  }
37841 
37844  {
37845  if (this != &x)
37846  {
37847  static_cast< ::neuroml2::Base& > (*this) = x;
37848  this->variableParameter_ = x.variableParameter_;
37849  this->ionChannel_ = x.ionChannel_;
37850  this->ion_ = x.ion_;
37851  }
37852 
37853  return *this;
37854  }
37855 
37858  {
37859  }
37860 
37861  bool
37862  operator== (const ChannelDensityNonUniformNernst& x, const ChannelDensityNonUniformNernst& y)
37863  {
37864  if (!(static_cast< const ::neuroml2::Base& > (x) ==
37865  static_cast< const ::neuroml2::Base& > (y)))
37866  return false;
37867 
37868  if (!(x.variableParameter () == y.variableParameter ()))
37869  return false;
37870 
37871  if (!(x.ionChannel () == y.ionChannel ()))
37872  return false;
37873 
37874  if (!(x.ion () == y.ion ()))
37875  return false;
37876 
37877  return true;
37878  }
37879 
37880  bool
37881  operator!= (const ChannelDensityNonUniformNernst& x, const ChannelDensityNonUniformNernst& y)
37882  {
37883  return !(x == y);
37884  }
37885 
37886  // ChannelDensityNonUniformGHK
37887  //
37888 
37891  const ionChannel_type& ionChannel,
37892  const ion_type& ion)
37893  : ::neuroml2::Base (id),
37894  variableParameter_ (this),
37895  ionChannel_ (ionChannel, this),
37896  ion_ (ion, this)
37897  {
37898  }
37899 
37902  ::xml_schema::flags f,
37903  ::xml_schema::container* c)
37904  : ::neuroml2::Base (x, f, c),
37905  variableParameter_ (x.variableParameter_, f, this),
37906  ionChannel_ (x.ionChannel_, f, this),
37907  ion_ (x.ion_, f, this)
37908  {
37909  }
37910 
37912  ChannelDensityNonUniformGHK (const ::xercesc::DOMElement& e,
37913  ::xml_schema::flags f,
37914  ::xml_schema::container* c)
37915  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
37916  variableParameter_ (this),
37917  ionChannel_ (this),
37918  ion_ (this)
37919  {
37920  if ((f & ::xml_schema::flags::base) == 0)
37921  {
37922  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
37923  this->parse (p, f);
37924  }
37925  }
37926 
37927  void ChannelDensityNonUniformGHK::
37928  parse (::xsd::cxx::xml::dom::parser< char >& p,
37929  ::xml_schema::flags f)
37930  {
37931  this->::neuroml2::Base::parse (p, f);
37932 
37933  for (; p.more_content (); p.next_content (false))
37934  {
37935  const ::xercesc::DOMElement& i (p.cur_element ());
37936  const ::xsd::cxx::xml::qualified_name< char > n (
37937  ::xsd::cxx::xml::dom::name< char > (i));
37938 
37939  // variableParameter
37940  //
37941  if (n.name () == "variableParameter" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
37942  {
37943  ::std::unique_ptr< variableParameter_type > r (
37944  variableParameter_traits::create (i, f, this));
37945 
37946  this->variableParameter_.push_back (::std::move (r));
37947  continue;
37948  }
37949 
37950  break;
37951  }
37952 
37953  p.reset_attributes ();
37954 
37955  while (p.more_attributes ())
37956  {
37957  const ::xercesc::DOMAttr& i (p.next_attribute ());
37958  const ::xsd::cxx::xml::qualified_name< char > n (
37959  ::xsd::cxx::xml::dom::name< char > (i));
37960 
37961  if (n.name () == "ionChannel" && n.namespace_ ().empty ())
37962  {
37963  this->ionChannel_.set (ionChannel_traits::create (i, f, this));
37964  continue;
37965  }
37966 
37967  if (n.name () == "ion" && n.namespace_ ().empty ())
37968  {
37969  this->ion_.set (ion_traits::create (i, f, this));
37970  continue;
37971  }
37972  }
37973 
37974  if (!ionChannel_.present ())
37975  {
37976  throw ::xsd::cxx::tree::expected_attribute< char > (
37977  "ionChannel",
37978  "");
37979  }
37980 
37981  if (!ion_.present ())
37982  {
37983  throw ::xsd::cxx::tree::expected_attribute< char > (
37984  "ion",
37985  "");
37986  }
37987  }
37988 
37991  ::xml_schema::container* c) const
37992  {
37993  return new class ChannelDensityNonUniformGHK (*this, f, c);
37994  }
37995 
37998  {
37999  if (this != &x)
38000  {
38001  static_cast< ::neuroml2::Base& > (*this) = x;
38002  this->variableParameter_ = x.variableParameter_;
38003  this->ionChannel_ = x.ionChannel_;
38004  this->ion_ = x.ion_;
38005  }
38006 
38007  return *this;
38008  }
38009 
38012  {
38013  }
38014 
38015  bool
38016  operator== (const ChannelDensityNonUniformGHK& x, const ChannelDensityNonUniformGHK& y)
38017  {
38018  if (!(static_cast< const ::neuroml2::Base& > (x) ==
38019  static_cast< const ::neuroml2::Base& > (y)))
38020  return false;
38021 
38022  if (!(x.variableParameter () == y.variableParameter ()))
38023  return false;
38024 
38025  if (!(x.ionChannel () == y.ionChannel ()))
38026  return false;
38027 
38028  if (!(x.ion () == y.ion ()))
38029  return false;
38030 
38031  return true;
38032  }
38033 
38034  bool
38035  operator!= (const ChannelDensityNonUniformGHK& x, const ChannelDensityNonUniformGHK& y)
38036  {
38037  return !(x == y);
38038  }
38039 
38040  // ChannelDensity
38041  //
38042 
38043  const ChannelDensity::segmentGroup_type ChannelDensity::segmentGroup_default_value_ (
38044  "all");
38045 
38047  ChannelDensity (const id_type& id,
38048  const ionChannel_type& ionChannel,
38049  const erev_type& erev,
38050  const ion_type& ion)
38051  : ::neuroml2::Base (id),
38052  variableParameter_ (this),
38053  ionChannel_ (ionChannel, this),
38054  condDensity_ (this),
38055  erev_ (erev, this),
38056  segmentGroup_ (segmentGroup_default_value (), this),
38057  segment_ (this),
38058  ion_ (ion, this)
38059  {
38060  }
38061 
38064  ::xml_schema::flags f,
38065  ::xml_schema::container* c)
38066  : ::neuroml2::Base (x, f, c),
38067  variableParameter_ (x.variableParameter_, f, this),
38068  ionChannel_ (x.ionChannel_, f, this),
38069  condDensity_ (x.condDensity_, f, this),
38070  erev_ (x.erev_, f, this),
38071  segmentGroup_ (x.segmentGroup_, f, this),
38072  segment_ (x.segment_, f, this),
38073  ion_ (x.ion_, f, this)
38074  {
38075  }
38076 
38078  ChannelDensity (const ::xercesc::DOMElement& e,
38079  ::xml_schema::flags f,
38080  ::xml_schema::container* c)
38081  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
38082  variableParameter_ (this),
38083  ionChannel_ (this),
38084  condDensity_ (this),
38085  erev_ (this),
38086  segmentGroup_ (this),
38087  segment_ (this),
38088  ion_ (this)
38089  {
38090  if ((f & ::xml_schema::flags::base) == 0)
38091  {
38092  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
38093  this->parse (p, f);
38094  }
38095  }
38096 
38097  void ChannelDensity::
38098  parse (::xsd::cxx::xml::dom::parser< char >& p,
38099  ::xml_schema::flags f)
38100  {
38101  this->::neuroml2::Base::parse (p, f);
38102 
38103  for (; p.more_content (); p.next_content (false))
38104  {
38105  const ::xercesc::DOMElement& i (p.cur_element ());
38106  const ::xsd::cxx::xml::qualified_name< char > n (
38107  ::xsd::cxx::xml::dom::name< char > (i));
38108 
38109  // variableParameter
38110  //
38111  if (n.name () == "variableParameter" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
38112  {
38113  ::std::unique_ptr< variableParameter_type > r (
38114  variableParameter_traits::create (i, f, this));
38115 
38116  this->variableParameter_.push_back (::std::move (r));
38117  continue;
38118  }
38119 
38120  break;
38121  }
38122 
38123  p.reset_attributes ();
38124 
38125  while (p.more_attributes ())
38126  {
38127  const ::xercesc::DOMAttr& i (p.next_attribute ());
38128  const ::xsd::cxx::xml::qualified_name< char > n (
38129  ::xsd::cxx::xml::dom::name< char > (i));
38130 
38131  if (n.name () == "ionChannel" && n.namespace_ ().empty ())
38132  {
38133  this->ionChannel_.set (ionChannel_traits::create (i, f, this));
38134  continue;
38135  }
38136 
38137  if (n.name () == "condDensity" && n.namespace_ ().empty ())
38138  {
38139  this->condDensity_.set (condDensity_traits::create (i, f, this));
38140  continue;
38141  }
38142 
38143  if (n.name () == "erev" && n.namespace_ ().empty ())
38144  {
38145  this->erev_.set (erev_traits::create (i, f, this));
38146  continue;
38147  }
38148 
38149  if (n.name () == "segmentGroup" && n.namespace_ ().empty ())
38150  {
38151  this->segmentGroup_.set (segmentGroup_traits::create (i, f, this));
38152  continue;
38153  }
38154 
38155  if (n.name () == "segment" && n.namespace_ ().empty ())
38156  {
38157  this->segment_.set (segment_traits::create (i, f, this));
38158  continue;
38159  }
38160 
38161  if (n.name () == "ion" && n.namespace_ ().empty ())
38162  {
38163  this->ion_.set (ion_traits::create (i, f, this));
38164  continue;
38165  }
38166  }
38167 
38168  if (!ionChannel_.present ())
38169  {
38170  throw ::xsd::cxx::tree::expected_attribute< char > (
38171  "ionChannel",
38172  "");
38173  }
38174 
38175  if (!erev_.present ())
38176  {
38177  throw ::xsd::cxx::tree::expected_attribute< char > (
38178  "erev",
38179  "");
38180  }
38181 
38182  if (!segmentGroup_.present ())
38183  {
38184  this->segmentGroup_.set (segmentGroup_default_value ());
38185  }
38186 
38187  if (!ion_.present ())
38188  {
38189  throw ::xsd::cxx::tree::expected_attribute< char > (
38190  "ion",
38191  "");
38192  }
38193  }
38194 
38197  ::xml_schema::container* c) const
38198  {
38199  return new class ChannelDensity (*this, f, c);
38200  }
38201 
38203  operator= (const ChannelDensity& x)
38204  {
38205  if (this != &x)
38206  {
38207  static_cast< ::neuroml2::Base& > (*this) = x;
38208  this->variableParameter_ = x.variableParameter_;
38209  this->ionChannel_ = x.ionChannel_;
38210  this->condDensity_ = x.condDensity_;
38211  this->erev_ = x.erev_;
38212  this->segmentGroup_ = x.segmentGroup_;
38213  this->segment_ = x.segment_;
38214  this->ion_ = x.ion_;
38215  }
38216 
38217  return *this;
38218  }
38219 
38222  {
38223  }
38224 
38225  bool
38226  operator== (const ChannelDensity& x, const ChannelDensity& y)
38227  {
38228  if (!(static_cast< const ::neuroml2::Base& > (x) ==
38229  static_cast< const ::neuroml2::Base& > (y)))
38230  return false;
38231 
38232  if (!(x.variableParameter () == y.variableParameter ()))
38233  return false;
38234 
38235  if (!(x.ionChannel () == y.ionChannel ()))
38236  return false;
38237 
38238  if (!(x.condDensity () == y.condDensity ()))
38239  return false;
38240 
38241  if (!(x.erev () == y.erev ()))
38242  return false;
38243 
38244  if (!(x.segmentGroup () == y.segmentGroup ()))
38245  return false;
38246 
38247  if (!(x.segment () == y.segment ()))
38248  return false;
38249 
38250  if (!(x.ion () == y.ion ()))
38251  return false;
38252 
38253  return true;
38254  }
38255 
38256  bool
38257  operator!= (const ChannelDensity& x, const ChannelDensity& y)
38258  {
38259  return !(x == y);
38260  }
38261 
38262  // ChannelDensityVShift
38263  //
38264 
38266  ChannelDensityVShift (const id_type& id,
38267  const ionChannel_type& ionChannel,
38268  const erev_type& erev,
38269  const ion_type& ion,
38270  const vShift_type& vShift)
38271  : ::neuroml2::ChannelDensity (id,
38272  ionChannel,
38273  erev,
38274  ion),
38275  vShift_ (vShift, this)
38276  {
38277  }
38278 
38281  ::xml_schema::flags f,
38282  ::xml_schema::container* c)
38283  : ::neuroml2::ChannelDensity (x, f, c),
38284  vShift_ (x.vShift_, f, this)
38285  {
38286  }
38287 
38289  ChannelDensityVShift (const ::xercesc::DOMElement& e,
38290  ::xml_schema::flags f,
38291  ::xml_schema::container* c)
38292  : ::neuroml2::ChannelDensity (e, f | ::xml_schema::flags::base, c),
38293  vShift_ (this)
38294  {
38295  if ((f & ::xml_schema::flags::base) == 0)
38296  {
38297  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
38298  this->parse (p, f);
38299  }
38300  }
38301 
38302  void ChannelDensityVShift::
38303  parse (::xsd::cxx::xml::dom::parser< char >& p,
38304  ::xml_schema::flags f)
38305  {
38306  this->::neuroml2::ChannelDensity::parse (p, f);
38307 
38308  p.reset_attributes ();
38309 
38310  while (p.more_attributes ())
38311  {
38312  const ::xercesc::DOMAttr& i (p.next_attribute ());
38313  const ::xsd::cxx::xml::qualified_name< char > n (
38314  ::xsd::cxx::xml::dom::name< char > (i));
38315 
38316  if (n.name () == "vShift" && n.namespace_ ().empty ())
38317  {
38318  this->vShift_.set (vShift_traits::create (i, f, this));
38319  continue;
38320  }
38321  }
38322 
38323  if (!vShift_.present ())
38324  {
38325  throw ::xsd::cxx::tree::expected_attribute< char > (
38326  "vShift",
38327  "");
38328  }
38329  }
38330 
38333  ::xml_schema::container* c) const
38334  {
38335  return new class ChannelDensityVShift (*this, f, c);
38336  }
38337 
38340  {
38341  if (this != &x)
38342  {
38343  static_cast< ::neuroml2::ChannelDensity& > (*this) = x;
38344  this->vShift_ = x.vShift_;
38345  }
38346 
38347  return *this;
38348  }
38349 
38352  {
38353  }
38354 
38355  bool
38356  operator== (const ChannelDensityVShift& x, const ChannelDensityVShift& y)
38357  {
38358  if (!(static_cast< const ::neuroml2::ChannelDensity& > (x) ==
38359  static_cast< const ::neuroml2::ChannelDensity& > (y)))
38360  return false;
38361 
38362  if (!(x.vShift () == y.vShift ()))
38363  return false;
38364 
38365  return true;
38366  }
38367 
38368  bool
38369  operator!= (const ChannelDensityVShift& x, const ChannelDensityVShift& y)
38370  {
38371  return !(x == y);
38372  }
38373 
38374  // ChannelDensityNernst
38375  //
38376 
38377  const ChannelDensityNernst::segmentGroup_type ChannelDensityNernst::segmentGroup_default_value_ (
38378  "all");
38379 
38381  ChannelDensityNernst (const id_type& id,
38382  const ionChannel_type& ionChannel,
38383  const ion_type& ion)
38384  : ::neuroml2::Base (id),
38385  variableParameter_ (this),
38386  ionChannel_ (ionChannel, this),
38387  condDensity_ (this),
38388  segmentGroup_ (segmentGroup_default_value (), this),
38389  segment_ (this),
38390  ion_ (ion, this)
38391  {
38392  }
38393 
38396  ::xml_schema::flags f,
38397  ::xml_schema::container* c)
38398  : ::neuroml2::Base (x, f, c),
38399  variableParameter_ (x.variableParameter_, f, this),
38400  ionChannel_ (x.ionChannel_, f, this),
38401  condDensity_ (x.condDensity_, f, this),
38402  segmentGroup_ (x.segmentGroup_, f, this),
38403  segment_ (x.segment_, f, this),
38404  ion_ (x.ion_, f, this)
38405  {
38406  }
38407 
38409  ChannelDensityNernst (const ::xercesc::DOMElement& e,
38410  ::xml_schema::flags f,
38411  ::xml_schema::container* c)
38412  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
38413  variableParameter_ (this),
38414  ionChannel_ (this),
38415  condDensity_ (this),
38416  segmentGroup_ (this),
38417  segment_ (this),
38418  ion_ (this)
38419  {
38420  if ((f & ::xml_schema::flags::base) == 0)
38421  {
38422  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
38423  this->parse (p, f);
38424  }
38425  }
38426 
38427  void ChannelDensityNernst::
38428  parse (::xsd::cxx::xml::dom::parser< char >& p,
38429  ::xml_schema::flags f)
38430  {
38431  this->::neuroml2::Base::parse (p, f);
38432 
38433  for (; p.more_content (); p.next_content (false))
38434  {
38435  const ::xercesc::DOMElement& i (p.cur_element ());
38436  const ::xsd::cxx::xml::qualified_name< char > n (
38437  ::xsd::cxx::xml::dom::name< char > (i));
38438 
38439  // variableParameter
38440  //
38441  if (n.name () == "variableParameter" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
38442  {
38443  ::std::unique_ptr< variableParameter_type > r (
38444  variableParameter_traits::create (i, f, this));
38445 
38446  this->variableParameter_.push_back (::std::move (r));
38447  continue;
38448  }
38449 
38450  break;
38451  }
38452 
38453  p.reset_attributes ();
38454 
38455  while (p.more_attributes ())
38456  {
38457  const ::xercesc::DOMAttr& i (p.next_attribute ());
38458  const ::xsd::cxx::xml::qualified_name< char > n (
38459  ::xsd::cxx::xml::dom::name< char > (i));
38460 
38461  if (n.name () == "ionChannel" && n.namespace_ ().empty ())
38462  {
38463  this->ionChannel_.set (ionChannel_traits::create (i, f, this));
38464  continue;
38465  }
38466 
38467  if (n.name () == "condDensity" && n.namespace_ ().empty ())
38468  {
38469  this->condDensity_.set (condDensity_traits::create (i, f, this));
38470  continue;
38471  }
38472 
38473  if (n.name () == "segmentGroup" && n.namespace_ ().empty ())
38474  {
38475  this->segmentGroup_.set (segmentGroup_traits::create (i, f, this));
38476  continue;
38477  }
38478 
38479  if (n.name () == "segment" && n.namespace_ ().empty ())
38480  {
38481  this->segment_.set (segment_traits::create (i, f, this));
38482  continue;
38483  }
38484 
38485  if (n.name () == "ion" && n.namespace_ ().empty ())
38486  {
38487  this->ion_.set (ion_traits::create (i, f, this));
38488  continue;
38489  }
38490  }
38491 
38492  if (!ionChannel_.present ())
38493  {
38494  throw ::xsd::cxx::tree::expected_attribute< char > (
38495  "ionChannel",
38496  "");
38497  }
38498 
38499  if (!segmentGroup_.present ())
38500  {
38501  this->segmentGroup_.set (segmentGroup_default_value ());
38502  }
38503 
38504  if (!ion_.present ())
38505  {
38506  throw ::xsd::cxx::tree::expected_attribute< char > (
38507  "ion",
38508  "");
38509  }
38510  }
38511 
38514  ::xml_schema::container* c) const
38515  {
38516  return new class ChannelDensityNernst (*this, f, c);
38517  }
38518 
38521  {
38522  if (this != &x)
38523  {
38524  static_cast< ::neuroml2::Base& > (*this) = x;
38525  this->variableParameter_ = x.variableParameter_;
38526  this->ionChannel_ = x.ionChannel_;
38527  this->condDensity_ = x.condDensity_;
38528  this->segmentGroup_ = x.segmentGroup_;
38529  this->segment_ = x.segment_;
38530  this->ion_ = x.ion_;
38531  }
38532 
38533  return *this;
38534  }
38535 
38538  {
38539  }
38540 
38541  bool
38542  operator== (const ChannelDensityNernst& x, const ChannelDensityNernst& y)
38543  {
38544  if (!(static_cast< const ::neuroml2::Base& > (x) ==
38545  static_cast< const ::neuroml2::Base& > (y)))
38546  return false;
38547 
38548  if (!(x.variableParameter () == y.variableParameter ()))
38549  return false;
38550 
38551  if (!(x.ionChannel () == y.ionChannel ()))
38552  return false;
38553 
38554  if (!(x.condDensity () == y.condDensity ()))
38555  return false;
38556 
38557  if (!(x.segmentGroup () == y.segmentGroup ()))
38558  return false;
38559 
38560  if (!(x.segment () == y.segment ()))
38561  return false;
38562 
38563  if (!(x.ion () == y.ion ()))
38564  return false;
38565 
38566  return true;
38567  }
38568 
38569  bool
38570  operator!= (const ChannelDensityNernst& x, const ChannelDensityNernst& y)
38571  {
38572  return !(x == y);
38573  }
38574 
38575  // ChannelDensityNernstCa2
38576  //
38577 
38580  const ionChannel_type& ionChannel,
38581  const ion_type& ion)
38583  ionChannel,
38584  ion)
38585  {
38586  }
38587 
38590  ::xml_schema::flags f,
38591  ::xml_schema::container* c)
38592  : ::neuroml2::ChannelDensityNernst (x, f, c)
38593  {
38594  }
38595 
38597  ChannelDensityNernstCa2 (const ::xercesc::DOMElement& e,
38598  ::xml_schema::flags f,
38599  ::xml_schema::container* c)
38600  : ::neuroml2::ChannelDensityNernst (e, f, c)
38601  {
38602  }
38603 
38606  ::xml_schema::container* c) const
38607  {
38608  return new class ChannelDensityNernstCa2 (*this, f, c);
38609  }
38610 
38613  {
38614  }
38615 
38616  // ChannelDensityGHK
38617  //
38618 
38619  const ChannelDensityGHK::segmentGroup_type ChannelDensityGHK::segmentGroup_default_value_ (
38620  "all");
38621 
38623  ChannelDensityGHK (const id_type& id,
38624  const ionChannel_type& ionChannel,
38625  const permeability_type& permeability,
38626  const ion_type& ion)
38627  : ::neuroml2::Base (id),
38628  ionChannel_ (ionChannel, this),
38629  permeability_ (permeability, this),
38630  segmentGroup_ (segmentGroup_default_value (), this),
38631  segment_ (this),
38632  ion_ (ion, this)
38633  {
38634  }
38635 
38638  ::xml_schema::flags f,
38639  ::xml_schema::container* c)
38640  : ::neuroml2::Base (x, f, c),
38641  ionChannel_ (x.ionChannel_, f, this),
38642  permeability_ (x.permeability_, f, this),
38643  segmentGroup_ (x.segmentGroup_, f, this),
38644  segment_ (x.segment_, f, this),
38645  ion_ (x.ion_, f, this)
38646  {
38647  }
38648 
38650  ChannelDensityGHK (const ::xercesc::DOMElement& e,
38651  ::xml_schema::flags f,
38652  ::xml_schema::container* c)
38653  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
38654  ionChannel_ (this),
38655  permeability_ (this),
38656  segmentGroup_ (this),
38657  segment_ (this),
38658  ion_ (this)
38659  {
38660  if ((f & ::xml_schema::flags::base) == 0)
38661  {
38662  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
38663  this->parse (p, f);
38664  }
38665  }
38666 
38667  void ChannelDensityGHK::
38668  parse (::xsd::cxx::xml::dom::parser< char >& p,
38669  ::xml_schema::flags f)
38670  {
38671  this->::neuroml2::Base::parse (p, f);
38672 
38673  p.reset_attributes ();
38674 
38675  while (p.more_attributes ())
38676  {
38677  const ::xercesc::DOMAttr& i (p.next_attribute ());
38678  const ::xsd::cxx::xml::qualified_name< char > n (
38679  ::xsd::cxx::xml::dom::name< char > (i));
38680 
38681  if (n.name () == "ionChannel" && n.namespace_ ().empty ())
38682  {
38683  this->ionChannel_.set (ionChannel_traits::create (i, f, this));
38684  continue;
38685  }
38686 
38687  if (n.name () == "permeability" && n.namespace_ ().empty ())
38688  {
38689  this->permeability_.set (permeability_traits::create (i, f, this));
38690  continue;
38691  }
38692 
38693  if (n.name () == "segmentGroup" && n.namespace_ ().empty ())
38694  {
38695  this->segmentGroup_.set (segmentGroup_traits::create (i, f, this));
38696  continue;
38697  }
38698 
38699  if (n.name () == "segment" && n.namespace_ ().empty ())
38700  {
38701  this->segment_.set (segment_traits::create (i, f, this));
38702  continue;
38703  }
38704 
38705  if (n.name () == "ion" && n.namespace_ ().empty ())
38706  {
38707  this->ion_.set (ion_traits::create (i, f, this));
38708  continue;
38709  }
38710  }
38711 
38712  if (!ionChannel_.present ())
38713  {
38714  throw ::xsd::cxx::tree::expected_attribute< char > (
38715  "ionChannel",
38716  "");
38717  }
38718 
38719  if (!permeability_.present ())
38720  {
38721  throw ::xsd::cxx::tree::expected_attribute< char > (
38722  "permeability",
38723  "");
38724  }
38725 
38726  if (!segmentGroup_.present ())
38727  {
38728  this->segmentGroup_.set (segmentGroup_default_value ());
38729  }
38730 
38731  if (!ion_.present ())
38732  {
38733  throw ::xsd::cxx::tree::expected_attribute< char > (
38734  "ion",
38735  "");
38736  }
38737  }
38738 
38741  ::xml_schema::container* c) const
38742  {
38743  return new class ChannelDensityGHK (*this, f, c);
38744  }
38745 
38748  {
38749  if (this != &x)
38750  {
38751  static_cast< ::neuroml2::Base& > (*this) = x;
38752  this->ionChannel_ = x.ionChannel_;
38753  this->permeability_ = x.permeability_;
38754  this->segmentGroup_ = x.segmentGroup_;
38755  this->segment_ = x.segment_;
38756  this->ion_ = x.ion_;
38757  }
38758 
38759  return *this;
38760  }
38761 
38764  {
38765  }
38766 
38767  bool
38768  operator== (const ChannelDensityGHK& x, const ChannelDensityGHK& y)
38769  {
38770  if (!(static_cast< const ::neuroml2::Base& > (x) ==
38771  static_cast< const ::neuroml2::Base& > (y)))
38772  return false;
38773 
38774  if (!(x.ionChannel () == y.ionChannel ()))
38775  return false;
38776 
38777  if (!(x.permeability () == y.permeability ()))
38778  return false;
38779 
38780  if (!(x.segmentGroup () == y.segmentGroup ()))
38781  return false;
38782 
38783  if (!(x.segment () == y.segment ()))
38784  return false;
38785 
38786  if (!(x.ion () == y.ion ()))
38787  return false;
38788 
38789  return true;
38790  }
38791 
38792  bool
38793  operator!= (const ChannelDensityGHK& x, const ChannelDensityGHK& y)
38794  {
38795  return !(x == y);
38796  }
38797 
38798  // ChannelDensityGHK2
38799  //
38800 
38801  const ChannelDensityGHK2::segmentGroup_type ChannelDensityGHK2::segmentGroup_default_value_ (
38802  "all");
38803 
38805  ChannelDensityGHK2 (const id_type& id,
38806  const ionChannel_type& ionChannel,
38807  const ion_type& ion)
38808  : ::neuroml2::Base (id),
38809  ionChannel_ (ionChannel, this),
38810  condDensity_ (this),
38811  segmentGroup_ (segmentGroup_default_value (), this),
38812  segment_ (this),
38813  ion_ (ion, this)
38814  {
38815  }
38816 
38819  ::xml_schema::flags f,
38820  ::xml_schema::container* c)
38821  : ::neuroml2::Base (x, f, c),
38822  ionChannel_ (x.ionChannel_, f, this),
38823  condDensity_ (x.condDensity_, f, this),
38824  segmentGroup_ (x.segmentGroup_, f, this),
38825  segment_ (x.segment_, f, this),
38826  ion_ (x.ion_, f, this)
38827  {
38828  }
38829 
38831  ChannelDensityGHK2 (const ::xercesc::DOMElement& e,
38832  ::xml_schema::flags f,
38833  ::xml_schema::container* c)
38834  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
38835  ionChannel_ (this),
38836  condDensity_ (this),
38837  segmentGroup_ (this),
38838  segment_ (this),
38839  ion_ (this)
38840  {
38841  if ((f & ::xml_schema::flags::base) == 0)
38842  {
38843  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
38844  this->parse (p, f);
38845  }
38846  }
38847 
38848  void ChannelDensityGHK2::
38849  parse (::xsd::cxx::xml::dom::parser< char >& p,
38850  ::xml_schema::flags f)
38851  {
38852  this->::neuroml2::Base::parse (p, f);
38853 
38854  p.reset_attributes ();
38855 
38856  while (p.more_attributes ())
38857  {
38858  const ::xercesc::DOMAttr& i (p.next_attribute ());
38859  const ::xsd::cxx::xml::qualified_name< char > n (
38860  ::xsd::cxx::xml::dom::name< char > (i));
38861 
38862  if (n.name () == "ionChannel" && n.namespace_ ().empty ())
38863  {
38864  this->ionChannel_.set (ionChannel_traits::create (i, f, this));
38865  continue;
38866  }
38867 
38868  if (n.name () == "condDensity" && n.namespace_ ().empty ())
38869  {
38870  this->condDensity_.set (condDensity_traits::create (i, f, this));
38871  continue;
38872  }
38873 
38874  if (n.name () == "segmentGroup" && n.namespace_ ().empty ())
38875  {
38876  this->segmentGroup_.set (segmentGroup_traits::create (i, f, this));
38877  continue;
38878  }
38879 
38880  if (n.name () == "segment" && n.namespace_ ().empty ())
38881  {
38882  this->segment_.set (segment_traits::create (i, f, this));
38883  continue;
38884  }
38885 
38886  if (n.name () == "ion" && n.namespace_ ().empty ())
38887  {
38888  this->ion_.set (ion_traits::create (i, f, this));
38889  continue;
38890  }
38891  }
38892 
38893  if (!ionChannel_.present ())
38894  {
38895  throw ::xsd::cxx::tree::expected_attribute< char > (
38896  "ionChannel",
38897  "");
38898  }
38899 
38900  if (!segmentGroup_.present ())
38901  {
38902  this->segmentGroup_.set (segmentGroup_default_value ());
38903  }
38904 
38905  if (!ion_.present ())
38906  {
38907  throw ::xsd::cxx::tree::expected_attribute< char > (
38908  "ion",
38909  "");
38910  }
38911  }
38912 
38915  ::xml_schema::container* c) const
38916  {
38917  return new class ChannelDensityGHK2 (*this, f, c);
38918  }
38919 
38922  {
38923  if (this != &x)
38924  {
38925  static_cast< ::neuroml2::Base& > (*this) = x;
38926  this->ionChannel_ = x.ionChannel_;
38927  this->condDensity_ = x.condDensity_;
38928  this->segmentGroup_ = x.segmentGroup_;
38929  this->segment_ = x.segment_;
38930  this->ion_ = x.ion_;
38931  }
38932 
38933  return *this;
38934  }
38935 
38938  {
38939  }
38940 
38941  bool
38942  operator== (const ChannelDensityGHK2& x, const ChannelDensityGHK2& y)
38943  {
38944  if (!(static_cast< const ::neuroml2::Base& > (x) ==
38945  static_cast< const ::neuroml2::Base& > (y)))
38946  return false;
38947 
38948  if (!(x.ionChannel () == y.ionChannel ()))
38949  return false;
38950 
38951  if (!(x.condDensity () == y.condDensity ()))
38952  return false;
38953 
38954  if (!(x.segmentGroup () == y.segmentGroup ()))
38955  return false;
38956 
38957  if (!(x.segment () == y.segment ()))
38958  return false;
38959 
38960  if (!(x.ion () == y.ion ()))
38961  return false;
38962 
38963  return true;
38964  }
38965 
38966  bool
38967  operator!= (const ChannelDensityGHK2& x, const ChannelDensityGHK2& y)
38968  {
38969  return !(x == y);
38970  }
38971 
38972  // VariableParameter
38973  //
38974 
38976  VariableParameter (const parameter_type& parameter,
38977  const segmentGroup_type& segmentGroup)
38978  : ::xml_schema::type (),
38979  inhomogeneousValue_ (this),
38980  parameter_ (parameter, this),
38981  segmentGroup_ (segmentGroup, this)
38982  {
38983  }
38984 
38987  ::xml_schema::flags f,
38988  ::xml_schema::container* c)
38989  : ::xml_schema::type (x, f, c),
38990  inhomogeneousValue_ (x.inhomogeneousValue_, f, this),
38991  parameter_ (x.parameter_, f, this),
38992  segmentGroup_ (x.segmentGroup_, f, this)
38993  {
38994  }
38995 
38997  VariableParameter (const ::xercesc::DOMElement& e,
38998  ::xml_schema::flags f,
38999  ::xml_schema::container* c)
39000  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
39001  inhomogeneousValue_ (this),
39002  parameter_ (this),
39003  segmentGroup_ (this)
39004  {
39005  if ((f & ::xml_schema::flags::base) == 0)
39006  {
39007  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
39008  this->parse (p, f);
39009  }
39010  }
39011 
39012  void VariableParameter::
39013  parse (::xsd::cxx::xml::dom::parser< char >& p,
39014  ::xml_schema::flags f)
39015  {
39016  for (; p.more_content (); p.next_content (false))
39017  {
39018  const ::xercesc::DOMElement& i (p.cur_element ());
39019  const ::xsd::cxx::xml::qualified_name< char > n (
39020  ::xsd::cxx::xml::dom::name< char > (i));
39021 
39022  // inhomogeneousValue
39023  //
39024  if (n.name () == "inhomogeneousValue" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
39025  {
39026  ::std::unique_ptr< inhomogeneousValue_type > r (
39027  inhomogeneousValue_traits::create (i, f, this));
39028 
39029  if (!this->inhomogeneousValue_)
39030  {
39031  this->inhomogeneousValue_.set (::std::move (r));
39032  continue;
39033  }
39034  }
39035 
39036  break;
39037  }
39038 
39039  while (p.more_attributes ())
39040  {
39041  const ::xercesc::DOMAttr& i (p.next_attribute ());
39042  const ::xsd::cxx::xml::qualified_name< char > n (
39043  ::xsd::cxx::xml::dom::name< char > (i));
39044 
39045  if (n.name () == "parameter" && n.namespace_ ().empty ())
39046  {
39047  this->parameter_.set (parameter_traits::create (i, f, this));
39048  continue;
39049  }
39050 
39051  if (n.name () == "segmentGroup" && n.namespace_ ().empty ())
39052  {
39053  this->segmentGroup_.set (segmentGroup_traits::create (i, f, this));
39054  continue;
39055  }
39056  }
39057 
39058  if (!parameter_.present ())
39059  {
39060  throw ::xsd::cxx::tree::expected_attribute< char > (
39061  "parameter",
39062  "");
39063  }
39064 
39065  if (!segmentGroup_.present ())
39066  {
39067  throw ::xsd::cxx::tree::expected_attribute< char > (
39068  "segmentGroup",
39069  "");
39070  }
39071  }
39072 
39075  ::xml_schema::container* c) const
39076  {
39077  return new class VariableParameter (*this, f, c);
39078  }
39079 
39082  {
39083  if (this != &x)
39084  {
39085  static_cast< ::xml_schema::type& > (*this) = x;
39086  this->inhomogeneousValue_ = x.inhomogeneousValue_;
39087  this->parameter_ = x.parameter_;
39088  this->segmentGroup_ = x.segmentGroup_;
39089  }
39090 
39091  return *this;
39092  }
39093 
39096  {
39097  }
39098 
39099  bool
39100  operator== (const VariableParameter& x, const VariableParameter& y)
39101  {
39102  if (!(x.inhomogeneousValue () == y.inhomogeneousValue ()))
39103  return false;
39104 
39105  if (!(x.parameter () == y.parameter ()))
39106  return false;
39107 
39108  if (!(x.segmentGroup () == y.segmentGroup ()))
39109  return false;
39110 
39111  return true;
39112  }
39113 
39114  bool
39115  operator!= (const VariableParameter& x, const VariableParameter& y)
39116  {
39117  return !(x == y);
39118  }
39119 
39120  // InhomogeneousValue
39121  //
39122 
39124  InhomogeneousValue (const inhomogeneousParameter_type& inhomogeneousParameter,
39125  const value_type& value)
39126  : ::neuroml2::BaseWithoutId (),
39127  inhomogeneousParameter_ (inhomogeneousParameter, this),
39128  value_ (value, this)
39129  {
39130  }
39131 
39134  ::xml_schema::flags f,
39135  ::xml_schema::container* c)
39136  : ::neuroml2::BaseWithoutId (x, f, c),
39137  inhomogeneousParameter_ (x.inhomogeneousParameter_, f, this),
39138  value_ (x.value_, f, this)
39139  {
39140  }
39141 
39143  InhomogeneousValue (const ::xercesc::DOMElement& e,
39144  ::xml_schema::flags f,
39145  ::xml_schema::container* c)
39146  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
39147  inhomogeneousParameter_ (this),
39148  value_ (this)
39149  {
39150  if ((f & ::xml_schema::flags::base) == 0)
39151  {
39152  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
39153  this->parse (p, f);
39154  }
39155  }
39156 
39157  void InhomogeneousValue::
39158  parse (::xsd::cxx::xml::dom::parser< char >& p,
39159  ::xml_schema::flags f)
39160  {
39161  while (p.more_attributes ())
39162  {
39163  const ::xercesc::DOMAttr& i (p.next_attribute ());
39164  const ::xsd::cxx::xml::qualified_name< char > n (
39165  ::xsd::cxx::xml::dom::name< char > (i));
39166 
39167  if (n.name () == "inhomogeneousParameter" && n.namespace_ ().empty ())
39168  {
39169  this->inhomogeneousParameter_.set (inhomogeneousParameter_traits::create (i, f, this));
39170  continue;
39171  }
39172 
39173  if (n.name () == "value" && n.namespace_ ().empty ())
39174  {
39175  this->value_.set (value_traits::create (i, f, this));
39176  continue;
39177  }
39178  }
39179 
39180  if (!inhomogeneousParameter_.present ())
39181  {
39182  throw ::xsd::cxx::tree::expected_attribute< char > (
39183  "inhomogeneousParameter",
39184  "");
39185  }
39186 
39187  if (!value_.present ())
39188  {
39189  throw ::xsd::cxx::tree::expected_attribute< char > (
39190  "value",
39191  "");
39192  }
39193  }
39194 
39197  ::xml_schema::container* c) const
39198  {
39199  return new class InhomogeneousValue (*this, f, c);
39200  }
39201 
39204  {
39205  if (this != &x)
39206  {
39207  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
39208  this->inhomogeneousParameter_ = x.inhomogeneousParameter_;
39209  this->value_ = x.value_;
39210  }
39211 
39212  return *this;
39213  }
39214 
39217  {
39218  }
39219 
39220  bool
39221  operator== (const InhomogeneousValue& x, const InhomogeneousValue& y)
39222  {
39223  if (!(x.inhomogeneousParameter () == y.inhomogeneousParameter ()))
39224  return false;
39225 
39226  if (!(x.value () == y.value ()))
39227  return false;
39228 
39229  return true;
39230  }
39231 
39232  bool
39233  operator!= (const InhomogeneousValue& x, const InhomogeneousValue& y)
39234  {
39235  return !(x == y);
39236  }
39237 
39238  // Species
39239  //
39240 
39241  const Species::segmentGroup_type Species::segmentGroup_default_value_ (
39242  "all");
39243 
39245  Species (const id_type& id,
39246  const concentrationModel_type& concentrationModel,
39247  const initialConcentration_type& initialConcentration,
39248  const initialExtConcentration_type& initialExtConcentration)
39249  : ::neuroml2::Base (id),
39250  concentrationModel_ (concentrationModel, this),
39251  ion_ (this),
39252  initialConcentration_ (initialConcentration, this),
39253  initialExtConcentration_ (initialExtConcentration, this),
39254  segmentGroup_ (segmentGroup_default_value (), this)
39255  {
39256  }
39257 
39259  Species (const Species& x,
39260  ::xml_schema::flags f,
39261  ::xml_schema::container* c)
39262  : ::neuroml2::Base (x, f, c),
39263  concentrationModel_ (x.concentrationModel_, f, this),
39264  ion_ (x.ion_, f, this),
39265  initialConcentration_ (x.initialConcentration_, f, this),
39266  initialExtConcentration_ (x.initialExtConcentration_, f, this),
39267  segmentGroup_ (x.segmentGroup_, f, this)
39268  {
39269  }
39270 
39272  Species (const ::xercesc::DOMElement& e,
39273  ::xml_schema::flags f,
39274  ::xml_schema::container* c)
39275  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
39276  concentrationModel_ (this),
39277  ion_ (this),
39278  initialConcentration_ (this),
39279  initialExtConcentration_ (this),
39280  segmentGroup_ (this)
39281  {
39282  if ((f & ::xml_schema::flags::base) == 0)
39283  {
39284  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
39285  this->parse (p, f);
39286  }
39287  }
39288 
39289  void Species::
39290  parse (::xsd::cxx::xml::dom::parser< char >& p,
39291  ::xml_schema::flags f)
39292  {
39293  this->::neuroml2::Base::parse (p, f);
39294 
39295  p.reset_attributes ();
39296 
39297  while (p.more_attributes ())
39298  {
39299  const ::xercesc::DOMAttr& i (p.next_attribute ());
39300  const ::xsd::cxx::xml::qualified_name< char > n (
39301  ::xsd::cxx::xml::dom::name< char > (i));
39302 
39303  if (n.name () == "concentrationModel" && n.namespace_ ().empty ())
39304  {
39305  this->concentrationModel_.set (concentrationModel_traits::create (i, f, this));
39306  continue;
39307  }
39308 
39309  if (n.name () == "ion" && n.namespace_ ().empty ())
39310  {
39311  this->ion_.set (ion_traits::create (i, f, this));
39312  continue;
39313  }
39314 
39315  if (n.name () == "initialConcentration" && n.namespace_ ().empty ())
39316  {
39317  this->initialConcentration_.set (initialConcentration_traits::create (i, f, this));
39318  continue;
39319  }
39320 
39321  if (n.name () == "initialExtConcentration" && n.namespace_ ().empty ())
39322  {
39323  this->initialExtConcentration_.set (initialExtConcentration_traits::create (i, f, this));
39324  continue;
39325  }
39326 
39327  if (n.name () == "segmentGroup" && n.namespace_ ().empty ())
39328  {
39329  this->segmentGroup_.set (segmentGroup_traits::create (i, f, this));
39330  continue;
39331  }
39332  }
39333 
39334  if (!concentrationModel_.present ())
39335  {
39336  throw ::xsd::cxx::tree::expected_attribute< char > (
39337  "concentrationModel",
39338  "");
39339  }
39340 
39341  if (!initialConcentration_.present ())
39342  {
39343  throw ::xsd::cxx::tree::expected_attribute< char > (
39344  "initialConcentration",
39345  "");
39346  }
39347 
39348  if (!initialExtConcentration_.present ())
39349  {
39350  throw ::xsd::cxx::tree::expected_attribute< char > (
39351  "initialExtConcentration",
39352  "");
39353  }
39354 
39355  if (!segmentGroup_.present ())
39356  {
39357  this->segmentGroup_.set (segmentGroup_default_value ());
39358  }
39359  }
39360 
39363  ::xml_schema::container* c) const
39364  {
39365  return new class Species (*this, f, c);
39366  }
39367 
39369  operator= (const Species& x)
39370  {
39371  if (this != &x)
39372  {
39373  static_cast< ::neuroml2::Base& > (*this) = x;
39374  this->concentrationModel_ = x.concentrationModel_;
39375  this->ion_ = x.ion_;
39376  this->initialConcentration_ = x.initialConcentration_;
39377  this->initialExtConcentration_ = x.initialExtConcentration_;
39378  this->segmentGroup_ = x.segmentGroup_;
39379  }
39380 
39381  return *this;
39382  }
39383 
39385  ~Species ()
39386  {
39387  }
39388 
39389  bool
39390  operator== (const Species& x, const Species& y)
39391  {
39392  if (!(static_cast< const ::neuroml2::Base& > (x) ==
39393  static_cast< const ::neuroml2::Base& > (y)))
39394  return false;
39395 
39396  if (!(x.concentrationModel () == y.concentrationModel ()))
39397  return false;
39398 
39399  if (!(x.ion () == y.ion ()))
39400  return false;
39401 
39402  if (!(x.initialConcentration () == y.initialConcentration ()))
39403  return false;
39404 
39406  return false;
39407 
39408  if (!(x.segmentGroup () == y.segmentGroup ()))
39409  return false;
39410 
39411  return true;
39412  }
39413 
39414  bool
39415  operator!= (const Species& x, const Species& y)
39416  {
39417  return !(x == y);
39418  }
39419 
39420  // ConcentrationModel_D
39421  //
39422 
39423  const ConcentrationModel_D::type_type ConcentrationModel_D::type_default_value_ (
39424  ::xml_schema::simple_type ("decayingPoolConcentrationModel"));
39425 
39427  ConcentrationModel_D (const id_type& id,
39428  const ion_type& ion,
39429  const restingConc_type& restingConc,
39430  const decayConstant_type& decayConstant,
39431  const shellThickness_type& shellThickness)
39433  ion,
39434  restingConc,
39435  decayConstant,
39436  shellThickness),
39437  type_ (type_default_value (), this)
39438  {
39439  }
39440 
39443  ::xml_schema::flags f,
39444  ::xml_schema::container* c)
39446  type_ (x.type_, f, this)
39447  {
39448  }
39449 
39451  ConcentrationModel_D (const ::xercesc::DOMElement& e,
39452  ::xml_schema::flags f,
39453  ::xml_schema::container* c)
39454  : ::neuroml2::DecayingPoolConcentrationModel (e, f | ::xml_schema::flags::base, c),
39455  type_ (this)
39456  {
39457  if ((f & ::xml_schema::flags::base) == 0)
39458  {
39459  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
39460  this->parse (p, f);
39461  }
39462  }
39463 
39464  void ConcentrationModel_D::
39465  parse (::xsd::cxx::xml::dom::parser< char >& p,
39466  ::xml_schema::flags f)
39467  {
39468  this->::neuroml2::DecayingPoolConcentrationModel::parse (p, f);
39469 
39470  p.reset_attributes ();
39471 
39472  while (p.more_attributes ())
39473  {
39474  const ::xercesc::DOMAttr& i (p.next_attribute ());
39475  const ::xsd::cxx::xml::qualified_name< char > n (
39476  ::xsd::cxx::xml::dom::name< char > (i));
39477 
39478  if (n.name () == "type" && n.namespace_ ().empty ())
39479  {
39480  this->type_.set (type_traits::create (i, f, this));
39481  continue;
39482  }
39483  }
39484 
39485  if (!type_.present ())
39486  {
39487  this->type_.set (type_default_value ());
39488  }
39489  }
39490 
39493  ::xml_schema::container* c) const
39494  {
39495  return new class ConcentrationModel_D (*this, f, c);
39496  }
39497 
39500  {
39501  if (this != &x)
39502  {
39503  static_cast< ::neuroml2::DecayingPoolConcentrationModel& > (*this) = x;
39504  this->type_ = x.type_;
39505  }
39506 
39507  return *this;
39508  }
39509 
39512  {
39513  }
39514 
39515  bool
39516  operator== (const ConcentrationModel_D& x, const ConcentrationModel_D& y)
39517  {
39518  if (!(static_cast< const ::neuroml2::DecayingPoolConcentrationModel& > (x) ==
39519  static_cast< const ::neuroml2::DecayingPoolConcentrationModel& > (y)))
39520  return false;
39521 
39522  if (!(x.type () == y.type ()))
39523  return false;
39524 
39525  return true;
39526  }
39527 
39528  bool
39529  operator!= (const ConcentrationModel_D& x, const ConcentrationModel_D& y)
39530  {
39531  return !(x == y);
39532  }
39533 
39534  // IntracellularProperties
39535  //
39536 
39539  : ::neuroml2::BaseWithoutId (),
39540  species_ (this),
39541  resistivity_ (this)
39542  {
39543  }
39544 
39547  ::xml_schema::flags f,
39548  ::xml_schema::container* c)
39549  : ::neuroml2::BaseWithoutId (x, f, c),
39550  species_ (x.species_, f, this),
39551  resistivity_ (x.resistivity_, f, this)
39552  {
39553  }
39554 
39556  IntracellularProperties (const ::xercesc::DOMElement& e,
39557  ::xml_schema::flags f,
39558  ::xml_schema::container* c)
39559  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
39560  species_ (this),
39561  resistivity_ (this)
39562  {
39563  if ((f & ::xml_schema::flags::base) == 0)
39564  {
39565  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, false);
39566  this->parse (p, f);
39567  }
39568  }
39569 
39570  void IntracellularProperties::
39571  parse (::xsd::cxx::xml::dom::parser< char >& p,
39572  ::xml_schema::flags f)
39573  {
39574  for (; p.more_content (); p.next_content (false))
39575  {
39576  const ::xercesc::DOMElement& i (p.cur_element ());
39577  const ::xsd::cxx::xml::qualified_name< char > n (
39578  ::xsd::cxx::xml::dom::name< char > (i));
39579 
39580  // species
39581  //
39582  if (n.name () == "species" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
39583  {
39584  ::std::unique_ptr< species_type > r (
39585  species_traits::create (i, f, this));
39586 
39587  this->species_.push_back (::std::move (r));
39588  continue;
39589  }
39590 
39591  // resistivity
39592  //
39593  if (n.name () == "resistivity" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
39594  {
39595  ::std::unique_ptr< resistivity_type > r (
39596  resistivity_traits::create (i, f, this));
39597 
39598  this->resistivity_.push_back (::std::move (r));
39599  continue;
39600  }
39601 
39602  break;
39603  }
39604  }
39605 
39608  ::xml_schema::container* c) const
39609  {
39610  return new class IntracellularProperties (*this, f, c);
39611  }
39612 
39615  {
39616  if (this != &x)
39617  {
39618  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
39619  this->species_ = x.species_;
39620  this->resistivity_ = x.resistivity_;
39621  }
39622 
39623  return *this;
39624  }
39625 
39628  {
39629  }
39630 
39631  bool
39632  operator== (const IntracellularProperties& x, const IntracellularProperties& y)
39633  {
39634  if (!(x.species () == y.species ()))
39635  return false;
39636 
39637  if (!(x.resistivity () == y.resistivity ()))
39638  return false;
39639 
39640  return true;
39641  }
39642 
39643  bool
39644  operator!= (const IntracellularProperties& x, const IntracellularProperties& y)
39645  {
39646  return !(x == y);
39647  }
39648 
39649  // IntracellularProperties2CaPools
39650  //
39651 
39655  {
39656  }
39657 
39660  ::xml_schema::flags f,
39661  ::xml_schema::container* c)
39662  : ::neuroml2::IntracellularProperties (x, f, c)
39663  {
39664  }
39665 
39667  IntracellularProperties2CaPools (const ::xercesc::DOMElement& e,
39668  ::xml_schema::flags f,
39669  ::xml_schema::container* c)
39670  : ::neuroml2::IntracellularProperties (e, f, c)
39671  {
39672  }
39673 
39676  ::xml_schema::container* c) const
39677  {
39678  return new class IntracellularProperties2CaPools (*this, f, c);
39679  }
39680 
39683  {
39684  }
39685 
39686  // ExtracellularProperties
39687  //
39688 
39691  : ::neuroml2::Base (id),
39692  species_ (this)
39693  {
39694  }
39695 
39698  ::xml_schema::flags f,
39699  ::xml_schema::container* c)
39700  : ::neuroml2::Base (x, f, c),
39701  species_ (x.species_, f, this)
39702  {
39703  }
39704 
39706  ExtracellularProperties (const ::xercesc::DOMElement& e,
39707  ::xml_schema::flags f,
39708  ::xml_schema::container* c)
39709  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
39710  species_ (this)
39711  {
39712  if ((f & ::xml_schema::flags::base) == 0)
39713  {
39714  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
39715  this->parse (p, f);
39716  }
39717  }
39718 
39719  void ExtracellularProperties::
39720  parse (::xsd::cxx::xml::dom::parser< char >& p,
39721  ::xml_schema::flags f)
39722  {
39723  this->::neuroml2::Base::parse (p, f);
39724 
39725  for (; p.more_content (); p.next_content (false))
39726  {
39727  const ::xercesc::DOMElement& i (p.cur_element ());
39728  const ::xsd::cxx::xml::qualified_name< char > n (
39729  ::xsd::cxx::xml::dom::name< char > (i));
39730 
39731  // species
39732  //
39733  if (n.name () == "species" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
39734  {
39735  ::std::unique_ptr< species_type > r (
39736  species_traits::create (i, f, this));
39737 
39738  this->species_.push_back (::std::move (r));
39739  continue;
39740  }
39741 
39742  break;
39743  }
39744  }
39745 
39748  ::xml_schema::container* c) const
39749  {
39750  return new class ExtracellularProperties (*this, f, c);
39751  }
39752 
39755  {
39756  if (this != &x)
39757  {
39758  static_cast< ::neuroml2::Base& > (*this) = x;
39759  this->species_ = x.species_;
39760  }
39761 
39762  return *this;
39763  }
39764 
39767  {
39768  }
39769 
39770  bool
39771  operator== (const ExtracellularProperties& x, const ExtracellularProperties& y)
39772  {
39773  if (!(static_cast< const ::neuroml2::Base& > (x) ==
39774  static_cast< const ::neuroml2::Base& > (y)))
39775  return false;
39776 
39777  if (!(x.species () == y.species ()))
39778  return false;
39779 
39780  return true;
39781  }
39782 
39783  bool
39784  operator!= (const ExtracellularProperties& x, const ExtracellularProperties& y)
39785  {
39786  return !(x == y);
39787  }
39788 
39789  // ExtracellularPropertiesLocal
39790  //
39791 
39794  : ::neuroml2::Base (id),
39795  species_ (this)
39796  {
39797  }
39798 
39801  ::xml_schema::flags f,
39802  ::xml_schema::container* c)
39803  : ::neuroml2::Base (x, f, c),
39804  species_ (x.species_, f, this)
39805  {
39806  }
39807 
39809  ExtracellularPropertiesLocal (const ::xercesc::DOMElement& e,
39810  ::xml_schema::flags f,
39811  ::xml_schema::container* c)
39812  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
39813  species_ (this)
39814  {
39815  if ((f & ::xml_schema::flags::base) == 0)
39816  {
39817  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
39818  this->parse (p, f);
39819  }
39820  }
39821 
39822  void ExtracellularPropertiesLocal::
39823  parse (::xsd::cxx::xml::dom::parser< char >& p,
39824  ::xml_schema::flags f)
39825  {
39826  this->::neuroml2::Base::parse (p, f);
39827 
39828  for (; p.more_content (); p.next_content (false))
39829  {
39830  const ::xercesc::DOMElement& i (p.cur_element ());
39831  const ::xsd::cxx::xml::qualified_name< char > n (
39832  ::xsd::cxx::xml::dom::name< char > (i));
39833 
39834  // species
39835  //
39836  if (n.name () == "species" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
39837  {
39838  ::std::unique_ptr< species_type > r (
39839  species_traits::create (i, f, this));
39840 
39841  this->species_.push_back (::std::move (r));
39842  continue;
39843  }
39844 
39845  break;
39846  }
39847  }
39848 
39851  ::xml_schema::container* c) const
39852  {
39853  return new class ExtracellularPropertiesLocal (*this, f, c);
39854  }
39855 
39858  {
39859  if (this != &x)
39860  {
39861  static_cast< ::neuroml2::Base& > (*this) = x;
39862  this->species_ = x.species_;
39863  }
39864 
39865  return *this;
39866  }
39867 
39870  {
39871  }
39872 
39873  bool
39874  operator== (const ExtracellularPropertiesLocal& x, const ExtracellularPropertiesLocal& y)
39875  {
39876  if (!(static_cast< const ::neuroml2::Base& > (x) ==
39877  static_cast< const ::neuroml2::Base& > (y)))
39878  return false;
39879 
39880  if (!(x.species () == y.species ()))
39881  return false;
39882 
39883  return true;
39884  }
39885 
39886  bool
39887  operator!= (const ExtracellularPropertiesLocal& x, const ExtracellularPropertiesLocal& y)
39888  {
39889  return !(x == y);
39890  }
39891 
39892  // ReactionScheme
39893  //
39894 
39896  ReactionScheme (const id_type& id,
39897  const source_type& source,
39898  const type_type& type)
39899  : ::neuroml2::Base (id),
39900  source_ (source, this),
39901  type_ (type, this)
39902  {
39903  }
39904 
39907  ::xml_schema::flags f,
39908  ::xml_schema::container* c)
39909  : ::neuroml2::Base (x, f, c),
39910  source_ (x.source_, f, this),
39911  type_ (x.type_, f, this)
39912  {
39913  }
39914 
39916  ReactionScheme (const ::xercesc::DOMElement& e,
39917  ::xml_schema::flags f,
39918  ::xml_schema::container* c)
39919  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
39920  source_ (this),
39921  type_ (this)
39922  {
39923  if ((f & ::xml_schema::flags::base) == 0)
39924  {
39925  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
39926  this->parse (p, f);
39927  }
39928  }
39929 
39930  void ReactionScheme::
39931  parse (::xsd::cxx::xml::dom::parser< char >& p,
39932  ::xml_schema::flags f)
39933  {
39934  this->::neuroml2::Base::parse (p, f);
39935 
39936  for (; p.more_content (); p.next_content (false))
39937  {
39938  const ::xercesc::DOMElement& i (p.cur_element ());
39939  const ::xsd::cxx::xml::qualified_name< char > n (
39940  ::xsd::cxx::xml::dom::name< char > (i));
39941 
39942  break;
39943  }
39944 
39945  p.reset_attributes ();
39946 
39947  while (p.more_attributes ())
39948  {
39949  const ::xercesc::DOMAttr& i (p.next_attribute ());
39950  const ::xsd::cxx::xml::qualified_name< char > n (
39951  ::xsd::cxx::xml::dom::name< char > (i));
39952 
39953  if (n.name () == "source" && n.namespace_ ().empty ())
39954  {
39955  this->source_.set (source_traits::create (i, f, this));
39956  continue;
39957  }
39958 
39959  if (n.name () == "type" && n.namespace_ ().empty ())
39960  {
39961  this->type_.set (type_traits::create (i, f, this));
39962  continue;
39963  }
39964  }
39965 
39966  if (!source_.present ())
39967  {
39968  throw ::xsd::cxx::tree::expected_attribute< char > (
39969  "source",
39970  "");
39971  }
39972 
39973  if (!type_.present ())
39974  {
39975  throw ::xsd::cxx::tree::expected_attribute< char > (
39976  "type",
39977  "");
39978  }
39979  }
39980 
39983  ::xml_schema::container* c) const
39984  {
39985  return new class ReactionScheme (*this, f, c);
39986  }
39987 
39989  operator= (const ReactionScheme& x)
39990  {
39991  if (this != &x)
39992  {
39993  static_cast< ::neuroml2::Base& > (*this) = x;
39994  this->source_ = x.source_;
39995  this->type_ = x.type_;
39996  }
39997 
39998  return *this;
39999  }
40000 
40003  {
40004  }
40005 
40006  bool
40007  operator== (const ReactionScheme& x, const ReactionScheme& y)
40008  {
40009  if (!(static_cast< const ::neuroml2::Base& > (x) ==
40010  static_cast< const ::neuroml2::Base& > (y)))
40011  return false;
40012 
40013  if (!(x.source () == y.source ()))
40014  return false;
40015 
40016  if (!(x.type () == y.type ()))
40017  return false;
40018 
40019  return true;
40020  }
40021 
40022  bool
40023  operator!= (const ReactionScheme& x, const ReactionScheme& y)
40024  {
40025  return !(x == y);
40026  }
40027 
40028  // PulseGenerator
40029  //
40030 
40032  PulseGenerator (const id_type& id,
40033  const delay_type& delay,
40034  const duration_type& duration,
40035  const amplitude_type& amplitude)
40036  : ::neuroml2::Standalone (id),
40037  delay_ (delay, this),
40038  duration_ (duration, this),
40039  amplitude_ (amplitude, this)
40040  {
40041  }
40042 
40045  ::xml_schema::flags f,
40046  ::xml_schema::container* c)
40047  : ::neuroml2::Standalone (x, f, c),
40048  delay_ (x.delay_, f, this),
40049  duration_ (x.duration_, f, this),
40050  amplitude_ (x.amplitude_, f, this)
40051  {
40052  }
40053 
40055  PulseGenerator (const ::xercesc::DOMElement& e,
40056  ::xml_schema::flags f,
40057  ::xml_schema::container* c)
40058  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
40059  delay_ (this),
40060  duration_ (this),
40061  amplitude_ (this)
40062  {
40063  if ((f & ::xml_schema::flags::base) == 0)
40064  {
40065  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
40066  this->parse (p, f);
40067  }
40068  }
40069 
40070  void PulseGenerator::
40071  parse (::xsd::cxx::xml::dom::parser< char >& p,
40072  ::xml_schema::flags f)
40073  {
40074  this->::neuroml2::Standalone::parse (p, f);
40075 
40076  p.reset_attributes ();
40077 
40078  while (p.more_attributes ())
40079  {
40080  const ::xercesc::DOMAttr& i (p.next_attribute ());
40081  const ::xsd::cxx::xml::qualified_name< char > n (
40082  ::xsd::cxx::xml::dom::name< char > (i));
40083 
40084  if (n.name () == "delay" && n.namespace_ ().empty ())
40085  {
40086  this->delay_.set (delay_traits::create (i, f, this));
40087  continue;
40088  }
40089 
40090  if (n.name () == "duration" && n.namespace_ ().empty ())
40091  {
40092  this->duration_.set (duration_traits::create (i, f, this));
40093  continue;
40094  }
40095 
40096  if (n.name () == "amplitude" && n.namespace_ ().empty ())
40097  {
40098  this->amplitude_.set (amplitude_traits::create (i, f, this));
40099  continue;
40100  }
40101  }
40102 
40103  if (!delay_.present ())
40104  {
40105  throw ::xsd::cxx::tree::expected_attribute< char > (
40106  "delay",
40107  "");
40108  }
40109 
40110  if (!duration_.present ())
40111  {
40112  throw ::xsd::cxx::tree::expected_attribute< char > (
40113  "duration",
40114  "");
40115  }
40116 
40117  if (!amplitude_.present ())
40118  {
40119  throw ::xsd::cxx::tree::expected_attribute< char > (
40120  "amplitude",
40121  "");
40122  }
40123  }
40124 
40127  ::xml_schema::container* c) const
40128  {
40129  return new class PulseGenerator (*this, f, c);
40130  }
40131 
40133  operator= (const PulseGenerator& x)
40134  {
40135  if (this != &x)
40136  {
40137  static_cast< ::neuroml2::Standalone& > (*this) = x;
40138  this->delay_ = x.delay_;
40139  this->duration_ = x.duration_;
40140  this->amplitude_ = x.amplitude_;
40141  }
40142 
40143  return *this;
40144  }
40145 
40148  {
40149  }
40150 
40151  bool
40152  operator== (const PulseGenerator& x, const PulseGenerator& y)
40153  {
40154  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
40155  static_cast< const ::neuroml2::Standalone& > (y)))
40156  return false;
40157 
40158  if (!(x.delay () == y.delay ()))
40159  return false;
40160 
40161  if (!(x.duration () == y.duration ()))
40162  return false;
40163 
40164  if (!(x.amplitude () == y.amplitude ()))
40165  return false;
40166 
40167  return true;
40168  }
40169 
40170  bool
40171  operator!= (const PulseGenerator& x, const PulseGenerator& y)
40172  {
40173  return !(x == y);
40174  }
40175 
40176  // PulseGeneratorDL
40177  //
40178 
40180  PulseGeneratorDL (const id_type& id,
40181  const delay_type& delay,
40182  const duration_type& duration,
40183  const amplitude_type& amplitude)
40184  : ::neuroml2::Standalone (id),
40185  delay_ (delay, this),
40186  duration_ (duration, this),
40187  amplitude_ (amplitude, this)
40188  {
40189  }
40190 
40193  ::xml_schema::flags f,
40194  ::xml_schema::container* c)
40195  : ::neuroml2::Standalone (x, f, c),
40196  delay_ (x.delay_, f, this),
40197  duration_ (x.duration_, f, this),
40198  amplitude_ (x.amplitude_, f, this)
40199  {
40200  }
40201 
40203  PulseGeneratorDL (const ::xercesc::DOMElement& e,
40204  ::xml_schema::flags f,
40205  ::xml_schema::container* c)
40206  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
40207  delay_ (this),
40208  duration_ (this),
40209  amplitude_ (this)
40210  {
40211  if ((f & ::xml_schema::flags::base) == 0)
40212  {
40213  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
40214  this->parse (p, f);
40215  }
40216  }
40217 
40218  void PulseGeneratorDL::
40219  parse (::xsd::cxx::xml::dom::parser< char >& p,
40220  ::xml_schema::flags f)
40221  {
40222  this->::neuroml2::Standalone::parse (p, f);
40223 
40224  p.reset_attributes ();
40225 
40226  while (p.more_attributes ())
40227  {
40228  const ::xercesc::DOMAttr& i (p.next_attribute ());
40229  const ::xsd::cxx::xml::qualified_name< char > n (
40230  ::xsd::cxx::xml::dom::name< char > (i));
40231 
40232  if (n.name () == "delay" && n.namespace_ ().empty ())
40233  {
40234  this->delay_.set (delay_traits::create (i, f, this));
40235  continue;
40236  }
40237 
40238  if (n.name () == "duration" && n.namespace_ ().empty ())
40239  {
40240  this->duration_.set (duration_traits::create (i, f, this));
40241  continue;
40242  }
40243 
40244  if (n.name () == "amplitude" && n.namespace_ ().empty ())
40245  {
40246  this->amplitude_.set (amplitude_traits::create (i, f, this));
40247  continue;
40248  }
40249  }
40250 
40251  if (!delay_.present ())
40252  {
40253  throw ::xsd::cxx::tree::expected_attribute< char > (
40254  "delay",
40255  "");
40256  }
40257 
40258  if (!duration_.present ())
40259  {
40260  throw ::xsd::cxx::tree::expected_attribute< char > (
40261  "duration",
40262  "");
40263  }
40264 
40265  if (!amplitude_.present ())
40266  {
40267  throw ::xsd::cxx::tree::expected_attribute< char > (
40268  "amplitude",
40269  "");
40270  }
40271  }
40272 
40275  ::xml_schema::container* c) const
40276  {
40277  return new class PulseGeneratorDL (*this, f, c);
40278  }
40279 
40281  operator= (const PulseGeneratorDL& x)
40282  {
40283  if (this != &x)
40284  {
40285  static_cast< ::neuroml2::Standalone& > (*this) = x;
40286  this->delay_ = x.delay_;
40287  this->duration_ = x.duration_;
40288  this->amplitude_ = x.amplitude_;
40289  }
40290 
40291  return *this;
40292  }
40293 
40296  {
40297  }
40298 
40299  bool
40300  operator== (const PulseGeneratorDL& x, const PulseGeneratorDL& y)
40301  {
40302  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
40303  static_cast< const ::neuroml2::Standalone& > (y)))
40304  return false;
40305 
40306  if (!(x.delay () == y.delay ()))
40307  return false;
40308 
40309  if (!(x.duration () == y.duration ()))
40310  return false;
40311 
40312  if (!(x.amplitude () == y.amplitude ()))
40313  return false;
40314 
40315  return true;
40316  }
40317 
40318  bool
40319  operator!= (const PulseGeneratorDL& x, const PulseGeneratorDL& y)
40320  {
40321  return !(x == y);
40322  }
40323 
40324  // SineGenerator
40325  //
40326 
40328  SineGenerator (const id_type& id,
40329  const delay_type& delay,
40330  const phase_type& phase,
40331  const duration_type& duration,
40332  const amplitude_type& amplitude,
40333  const period_type& period)
40334  : ::neuroml2::Standalone (id),
40335  delay_ (delay, this),
40336  phase_ (phase, this),
40337  duration_ (duration, this),
40338  amplitude_ (amplitude, this),
40339  period_ (period, this)
40340  {
40341  }
40342 
40344  SineGenerator (const SineGenerator& x,
40345  ::xml_schema::flags f,
40346  ::xml_schema::container* c)
40347  : ::neuroml2::Standalone (x, f, c),
40348  delay_ (x.delay_, f, this),
40349  phase_ (x.phase_, f, this),
40350  duration_ (x.duration_, f, this),
40351  amplitude_ (x.amplitude_, f, this),
40352  period_ (x.period_, f, this)
40353  {
40354  }
40355 
40357  SineGenerator (const ::xercesc::DOMElement& e,
40358  ::xml_schema::flags f,
40359  ::xml_schema::container* c)
40360  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
40361  delay_ (this),
40362  phase_ (this),
40363  duration_ (this),
40364  amplitude_ (this),
40365  period_ (this)
40366  {
40367  if ((f & ::xml_schema::flags::base) == 0)
40368  {
40369  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
40370  this->parse (p, f);
40371  }
40372  }
40373 
40374  void SineGenerator::
40375  parse (::xsd::cxx::xml::dom::parser< char >& p,
40376  ::xml_schema::flags f)
40377  {
40378  this->::neuroml2::Standalone::parse (p, f);
40379 
40380  p.reset_attributes ();
40381 
40382  while (p.more_attributes ())
40383  {
40384  const ::xercesc::DOMAttr& i (p.next_attribute ());
40385  const ::xsd::cxx::xml::qualified_name< char > n (
40386  ::xsd::cxx::xml::dom::name< char > (i));
40387 
40388  if (n.name () == "delay" && n.namespace_ ().empty ())
40389  {
40390  this->delay_.set (delay_traits::create (i, f, this));
40391  continue;
40392  }
40393 
40394  if (n.name () == "phase" && n.namespace_ ().empty ())
40395  {
40396  this->phase_.set (phase_traits::create (i, f, this));
40397  continue;
40398  }
40399 
40400  if (n.name () == "duration" && n.namespace_ ().empty ())
40401  {
40402  this->duration_.set (duration_traits::create (i, f, this));
40403  continue;
40404  }
40405 
40406  if (n.name () == "amplitude" && n.namespace_ ().empty ())
40407  {
40408  this->amplitude_.set (amplitude_traits::create (i, f, this));
40409  continue;
40410  }
40411 
40412  if (n.name () == "period" && n.namespace_ ().empty ())
40413  {
40414  this->period_.set (period_traits::create (i, f, this));
40415  continue;
40416  }
40417  }
40418 
40419  if (!delay_.present ())
40420  {
40421  throw ::xsd::cxx::tree::expected_attribute< char > (
40422  "delay",
40423  "");
40424  }
40425 
40426  if (!phase_.present ())
40427  {
40428  throw ::xsd::cxx::tree::expected_attribute< char > (
40429  "phase",
40430  "");
40431  }
40432 
40433  if (!duration_.present ())
40434  {
40435  throw ::xsd::cxx::tree::expected_attribute< char > (
40436  "duration",
40437  "");
40438  }
40439 
40440  if (!amplitude_.present ())
40441  {
40442  throw ::xsd::cxx::tree::expected_attribute< char > (
40443  "amplitude",
40444  "");
40445  }
40446 
40447  if (!period_.present ())
40448  {
40449  throw ::xsd::cxx::tree::expected_attribute< char > (
40450  "period",
40451  "");
40452  }
40453  }
40454 
40457  ::xml_schema::container* c) const
40458  {
40459  return new class SineGenerator (*this, f, c);
40460  }
40461 
40463  operator= (const SineGenerator& x)
40464  {
40465  if (this != &x)
40466  {
40467  static_cast< ::neuroml2::Standalone& > (*this) = x;
40468  this->delay_ = x.delay_;
40469  this->phase_ = x.phase_;
40470  this->duration_ = x.duration_;
40471  this->amplitude_ = x.amplitude_;
40472  this->period_ = x.period_;
40473  }
40474 
40475  return *this;
40476  }
40477 
40479  ~SineGenerator ()
40480  {
40481  }
40482 
40483  bool
40484  operator== (const SineGenerator& x, const SineGenerator& y)
40485  {
40486  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
40487  static_cast< const ::neuroml2::Standalone& > (y)))
40488  return false;
40489 
40490  if (!(x.delay () == y.delay ()))
40491  return false;
40492 
40493  if (!(x.phase () == y.phase ()))
40494  return false;
40495 
40496  if (!(x.duration () == y.duration ()))
40497  return false;
40498 
40499  if (!(x.amplitude () == y.amplitude ()))
40500  return false;
40501 
40502  if (!(x.period () == y.period ()))
40503  return false;
40504 
40505  return true;
40506  }
40507 
40508  bool
40509  operator!= (const SineGenerator& x, const SineGenerator& y)
40510  {
40511  return !(x == y);
40512  }
40513 
40514  // SineGeneratorDL
40515  //
40516 
40518  SineGeneratorDL (const id_type& id,
40519  const delay_type& delay,
40520  const phase_type& phase,
40521  const duration_type& duration,
40522  const amplitude_type& amplitude,
40523  const period_type& period)
40524  : ::neuroml2::Standalone (id),
40525  delay_ (delay, this),
40526  phase_ (phase, this),
40527  duration_ (duration, this),
40528  amplitude_ (amplitude, this),
40529  period_ (period, this)
40530  {
40531  }
40532 
40535  ::xml_schema::flags f,
40536  ::xml_schema::container* c)
40537  : ::neuroml2::Standalone (x, f, c),
40538  delay_ (x.delay_, f, this),
40539  phase_ (x.phase_, f, this),
40540  duration_ (x.duration_, f, this),
40541  amplitude_ (x.amplitude_, f, this),
40542  period_ (x.period_, f, this)
40543  {
40544  }
40545 
40547  SineGeneratorDL (const ::xercesc::DOMElement& e,
40548  ::xml_schema::flags f,
40549  ::xml_schema::container* c)
40550  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
40551  delay_ (this),
40552  phase_ (this),
40553  duration_ (this),
40554  amplitude_ (this),
40555  period_ (this)
40556  {
40557  if ((f & ::xml_schema::flags::base) == 0)
40558  {
40559  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
40560  this->parse (p, f);
40561  }
40562  }
40563 
40564  void SineGeneratorDL::
40565  parse (::xsd::cxx::xml::dom::parser< char >& p,
40566  ::xml_schema::flags f)
40567  {
40568  this->::neuroml2::Standalone::parse (p, f);
40569 
40570  p.reset_attributes ();
40571 
40572  while (p.more_attributes ())
40573  {
40574  const ::xercesc::DOMAttr& i (p.next_attribute ());
40575  const ::xsd::cxx::xml::qualified_name< char > n (
40576  ::xsd::cxx::xml::dom::name< char > (i));
40577 
40578  if (n.name () == "delay" && n.namespace_ ().empty ())
40579  {
40580  this->delay_.set (delay_traits::create (i, f, this));
40581  continue;
40582  }
40583 
40584  if (n.name () == "phase" && n.namespace_ ().empty ())
40585  {
40586  this->phase_.set (phase_traits::create (i, f, this));
40587  continue;
40588  }
40589 
40590  if (n.name () == "duration" && n.namespace_ ().empty ())
40591  {
40592  this->duration_.set (duration_traits::create (i, f, this));
40593  continue;
40594  }
40595 
40596  if (n.name () == "amplitude" && n.namespace_ ().empty ())
40597  {
40598  this->amplitude_.set (amplitude_traits::create (i, f, this));
40599  continue;
40600  }
40601 
40602  if (n.name () == "period" && n.namespace_ ().empty ())
40603  {
40604  this->period_.set (period_traits::create (i, f, this));
40605  continue;
40606  }
40607  }
40608 
40609  if (!delay_.present ())
40610  {
40611  throw ::xsd::cxx::tree::expected_attribute< char > (
40612  "delay",
40613  "");
40614  }
40615 
40616  if (!phase_.present ())
40617  {
40618  throw ::xsd::cxx::tree::expected_attribute< char > (
40619  "phase",
40620  "");
40621  }
40622 
40623  if (!duration_.present ())
40624  {
40625  throw ::xsd::cxx::tree::expected_attribute< char > (
40626  "duration",
40627  "");
40628  }
40629 
40630  if (!amplitude_.present ())
40631  {
40632  throw ::xsd::cxx::tree::expected_attribute< char > (
40633  "amplitude",
40634  "");
40635  }
40636 
40637  if (!period_.present ())
40638  {
40639  throw ::xsd::cxx::tree::expected_attribute< char > (
40640  "period",
40641  "");
40642  }
40643  }
40644 
40647  ::xml_schema::container* c) const
40648  {
40649  return new class SineGeneratorDL (*this, f, c);
40650  }
40651 
40653  operator= (const SineGeneratorDL& x)
40654  {
40655  if (this != &x)
40656  {
40657  static_cast< ::neuroml2::Standalone& > (*this) = x;
40658  this->delay_ = x.delay_;
40659  this->phase_ = x.phase_;
40660  this->duration_ = x.duration_;
40661  this->amplitude_ = x.amplitude_;
40662  this->period_ = x.period_;
40663  }
40664 
40665  return *this;
40666  }
40667 
40670  {
40671  }
40672 
40673  bool
40674  operator== (const SineGeneratorDL& x, const SineGeneratorDL& y)
40675  {
40676  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
40677  static_cast< const ::neuroml2::Standalone& > (y)))
40678  return false;
40679 
40680  if (!(x.delay () == y.delay ()))
40681  return false;
40682 
40683  if (!(x.phase () == y.phase ()))
40684  return false;
40685 
40686  if (!(x.duration () == y.duration ()))
40687  return false;
40688 
40689  if (!(x.amplitude () == y.amplitude ()))
40690  return false;
40691 
40692  if (!(x.period () == y.period ()))
40693  return false;
40694 
40695  return true;
40696  }
40697 
40698  bool
40699  operator!= (const SineGeneratorDL& x, const SineGeneratorDL& y)
40700  {
40701  return !(x == y);
40702  }
40703 
40704  // RampGenerator
40705  //
40706 
40708  RampGenerator (const id_type& id,
40709  const delay_type& delay,
40710  const duration_type& duration,
40711  const startAmplitude_type& startAmplitude,
40712  const finishAmplitude_type& finishAmplitude,
40713  const baselineAmplitude_type& baselineAmplitude)
40714  : ::neuroml2::Standalone (id),
40715  delay_ (delay, this),
40716  duration_ (duration, this),
40717  startAmplitude_ (startAmplitude, this),
40718  finishAmplitude_ (finishAmplitude, this),
40719  baselineAmplitude_ (baselineAmplitude, this)
40720  {
40721  }
40722 
40724  RampGenerator (const RampGenerator& x,
40725  ::xml_schema::flags f,
40726  ::xml_schema::container* c)
40727  : ::neuroml2::Standalone (x, f, c),
40728  delay_ (x.delay_, f, this),
40729  duration_ (x.duration_, f, this),
40730  startAmplitude_ (x.startAmplitude_, f, this),
40731  finishAmplitude_ (x.finishAmplitude_, f, this),
40732  baselineAmplitude_ (x.baselineAmplitude_, f, this)
40733  {
40734  }
40735 
40737  RampGenerator (const ::xercesc::DOMElement& e,
40738  ::xml_schema::flags f,
40739  ::xml_schema::container* c)
40740  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
40741  delay_ (this),
40742  duration_ (this),
40743  startAmplitude_ (this),
40744  finishAmplitude_ (this),
40745  baselineAmplitude_ (this)
40746  {
40747  if ((f & ::xml_schema::flags::base) == 0)
40748  {
40749  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
40750  this->parse (p, f);
40751  }
40752  }
40753 
40754  void RampGenerator::
40755  parse (::xsd::cxx::xml::dom::parser< char >& p,
40756  ::xml_schema::flags f)
40757  {
40758  this->::neuroml2::Standalone::parse (p, f);
40759 
40760  p.reset_attributes ();
40761 
40762  while (p.more_attributes ())
40763  {
40764  const ::xercesc::DOMAttr& i (p.next_attribute ());
40765  const ::xsd::cxx::xml::qualified_name< char > n (
40766  ::xsd::cxx::xml::dom::name< char > (i));
40767 
40768  if (n.name () == "delay" && n.namespace_ ().empty ())
40769  {
40770  this->delay_.set (delay_traits::create (i, f, this));
40771  continue;
40772  }
40773 
40774  if (n.name () == "duration" && n.namespace_ ().empty ())
40775  {
40776  this->duration_.set (duration_traits::create (i, f, this));
40777  continue;
40778  }
40779 
40780  if (n.name () == "startAmplitude" && n.namespace_ ().empty ())
40781  {
40782  this->startAmplitude_.set (startAmplitude_traits::create (i, f, this));
40783  continue;
40784  }
40785 
40786  if (n.name () == "finishAmplitude" && n.namespace_ ().empty ())
40787  {
40788  this->finishAmplitude_.set (finishAmplitude_traits::create (i, f, this));
40789  continue;
40790  }
40791 
40792  if (n.name () == "baselineAmplitude" && n.namespace_ ().empty ())
40793  {
40794  this->baselineAmplitude_.set (baselineAmplitude_traits::create (i, f, this));
40795  continue;
40796  }
40797  }
40798 
40799  if (!delay_.present ())
40800  {
40801  throw ::xsd::cxx::tree::expected_attribute< char > (
40802  "delay",
40803  "");
40804  }
40805 
40806  if (!duration_.present ())
40807  {
40808  throw ::xsd::cxx::tree::expected_attribute< char > (
40809  "duration",
40810  "");
40811  }
40812 
40813  if (!startAmplitude_.present ())
40814  {
40815  throw ::xsd::cxx::tree::expected_attribute< char > (
40816  "startAmplitude",
40817  "");
40818  }
40819 
40820  if (!finishAmplitude_.present ())
40821  {
40822  throw ::xsd::cxx::tree::expected_attribute< char > (
40823  "finishAmplitude",
40824  "");
40825  }
40826 
40827  if (!baselineAmplitude_.present ())
40828  {
40829  throw ::xsd::cxx::tree::expected_attribute< char > (
40830  "baselineAmplitude",
40831  "");
40832  }
40833  }
40834 
40837  ::xml_schema::container* c) const
40838  {
40839  return new class RampGenerator (*this, f, c);
40840  }
40841 
40843  operator= (const RampGenerator& x)
40844  {
40845  if (this != &x)
40846  {
40847  static_cast< ::neuroml2::Standalone& > (*this) = x;
40848  this->delay_ = x.delay_;
40849  this->duration_ = x.duration_;
40850  this->startAmplitude_ = x.startAmplitude_;
40851  this->finishAmplitude_ = x.finishAmplitude_;
40852  this->baselineAmplitude_ = x.baselineAmplitude_;
40853  }
40854 
40855  return *this;
40856  }
40857 
40859  ~RampGenerator ()
40860  {
40861  }
40862 
40863  bool
40864  operator== (const RampGenerator& x, const RampGenerator& y)
40865  {
40866  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
40867  static_cast< const ::neuroml2::Standalone& > (y)))
40868  return false;
40869 
40870  if (!(x.delay () == y.delay ()))
40871  return false;
40872 
40873  if (!(x.duration () == y.duration ()))
40874  return false;
40875 
40876  if (!(x.startAmplitude () == y.startAmplitude ()))
40877  return false;
40878 
40879  if (!(x.finishAmplitude () == y.finishAmplitude ()))
40880  return false;
40881 
40882  if (!(x.baselineAmplitude () == y.baselineAmplitude ()))
40883  return false;
40884 
40885  return true;
40886  }
40887 
40888  bool
40889  operator!= (const RampGenerator& x, const RampGenerator& y)
40890  {
40891  return !(x == y);
40892  }
40893 
40894  // RampGeneratorDL
40895  //
40896 
40898  RampGeneratorDL (const id_type& id,
40899  const delay_type& delay,
40900  const duration_type& duration,
40901  const startAmplitude_type& startAmplitude,
40902  const finishAmplitude_type& finishAmplitude,
40903  const baselineAmplitude_type& baselineAmplitude)
40904  : ::neuroml2::Standalone (id),
40905  delay_ (delay, this),
40906  duration_ (duration, this),
40907  startAmplitude_ (startAmplitude, this),
40908  finishAmplitude_ (finishAmplitude, this),
40909  baselineAmplitude_ (baselineAmplitude, this)
40910  {
40911  }
40912 
40915  ::xml_schema::flags f,
40916  ::xml_schema::container* c)
40917  : ::neuroml2::Standalone (x, f, c),
40918  delay_ (x.delay_, f, this),
40919  duration_ (x.duration_, f, this),
40920  startAmplitude_ (x.startAmplitude_, f, this),
40921  finishAmplitude_ (x.finishAmplitude_, f, this),
40922  baselineAmplitude_ (x.baselineAmplitude_, f, this)
40923  {
40924  }
40925 
40927  RampGeneratorDL (const ::xercesc::DOMElement& e,
40928  ::xml_schema::flags f,
40929  ::xml_schema::container* c)
40930  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
40931  delay_ (this),
40932  duration_ (this),
40933  startAmplitude_ (this),
40934  finishAmplitude_ (this),
40935  baselineAmplitude_ (this)
40936  {
40937  if ((f & ::xml_schema::flags::base) == 0)
40938  {
40939  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
40940  this->parse (p, f);
40941  }
40942  }
40943 
40944  void RampGeneratorDL::
40945  parse (::xsd::cxx::xml::dom::parser< char >& p,
40946  ::xml_schema::flags f)
40947  {
40948  this->::neuroml2::Standalone::parse (p, f);
40949 
40950  p.reset_attributes ();
40951 
40952  while (p.more_attributes ())
40953  {
40954  const ::xercesc::DOMAttr& i (p.next_attribute ());
40955  const ::xsd::cxx::xml::qualified_name< char > n (
40956  ::xsd::cxx::xml::dom::name< char > (i));
40957 
40958  if (n.name () == "delay" && n.namespace_ ().empty ())
40959  {
40960  this->delay_.set (delay_traits::create (i, f, this));
40961  continue;
40962  }
40963 
40964  if (n.name () == "duration" && n.namespace_ ().empty ())
40965  {
40966  this->duration_.set (duration_traits::create (i, f, this));
40967  continue;
40968  }
40969 
40970  if (n.name () == "startAmplitude" && n.namespace_ ().empty ())
40971  {
40972  this->startAmplitude_.set (startAmplitude_traits::create (i, f, this));
40973  continue;
40974  }
40975 
40976  if (n.name () == "finishAmplitude" && n.namespace_ ().empty ())
40977  {
40978  this->finishAmplitude_.set (finishAmplitude_traits::create (i, f, this));
40979  continue;
40980  }
40981 
40982  if (n.name () == "baselineAmplitude" && n.namespace_ ().empty ())
40983  {
40984  this->baselineAmplitude_.set (baselineAmplitude_traits::create (i, f, this));
40985  continue;
40986  }
40987  }
40988 
40989  if (!delay_.present ())
40990  {
40991  throw ::xsd::cxx::tree::expected_attribute< char > (
40992  "delay",
40993  "");
40994  }
40995 
40996  if (!duration_.present ())
40997  {
40998  throw ::xsd::cxx::tree::expected_attribute< char > (
40999  "duration",
41000  "");
41001  }
41002 
41003  if (!startAmplitude_.present ())
41004  {
41005  throw ::xsd::cxx::tree::expected_attribute< char > (
41006  "startAmplitude",
41007  "");
41008  }
41009 
41010  if (!finishAmplitude_.present ())
41011  {
41012  throw ::xsd::cxx::tree::expected_attribute< char > (
41013  "finishAmplitude",
41014  "");
41015  }
41016 
41017  if (!baselineAmplitude_.present ())
41018  {
41019  throw ::xsd::cxx::tree::expected_attribute< char > (
41020  "baselineAmplitude",
41021  "");
41022  }
41023  }
41024 
41027  ::xml_schema::container* c) const
41028  {
41029  return new class RampGeneratorDL (*this, f, c);
41030  }
41031 
41033  operator= (const RampGeneratorDL& x)
41034  {
41035  if (this != &x)
41036  {
41037  static_cast< ::neuroml2::Standalone& > (*this) = x;
41038  this->delay_ = x.delay_;
41039  this->duration_ = x.duration_;
41040  this->startAmplitude_ = x.startAmplitude_;
41041  this->finishAmplitude_ = x.finishAmplitude_;
41042  this->baselineAmplitude_ = x.baselineAmplitude_;
41043  }
41044 
41045  return *this;
41046  }
41047 
41050  {
41051  }
41052 
41053  bool
41054  operator== (const RampGeneratorDL& x, const RampGeneratorDL& y)
41055  {
41056  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
41057  static_cast< const ::neuroml2::Standalone& > (y)))
41058  return false;
41059 
41060  if (!(x.delay () == y.delay ()))
41061  return false;
41062 
41063  if (!(x.duration () == y.duration ()))
41064  return false;
41065 
41066  if (!(x.startAmplitude () == y.startAmplitude ()))
41067  return false;
41068 
41069  if (!(x.finishAmplitude () == y.finishAmplitude ()))
41070  return false;
41071 
41072  if (!(x.baselineAmplitude () == y.baselineAmplitude ()))
41073  return false;
41074 
41075  return true;
41076  }
41077 
41078  bool
41079  operator!= (const RampGeneratorDL& x, const RampGeneratorDL& y)
41080  {
41081  return !(x == y);
41082  }
41083 
41084  // CompoundInput
41085  //
41086 
41088  CompoundInput (const id_type& id)
41089  : ::neuroml2::Standalone (id),
41090  pulseGenerator_ (this),
41091  sineGenerator_ (this),
41092  rampGenerator_ (this)
41093  {
41094  }
41095 
41097  CompoundInput (const CompoundInput& x,
41098  ::xml_schema::flags f,
41099  ::xml_schema::container* c)
41100  : ::neuroml2::Standalone (x, f, c),
41101  pulseGenerator_ (x.pulseGenerator_, f, this),
41102  sineGenerator_ (x.sineGenerator_, f, this),
41103  rampGenerator_ (x.rampGenerator_, f, this)
41104  {
41105  }
41106 
41108  CompoundInput (const ::xercesc::DOMElement& e,
41109  ::xml_schema::flags f,
41110  ::xml_schema::container* c)
41111  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
41112  pulseGenerator_ (this),
41113  sineGenerator_ (this),
41114  rampGenerator_ (this)
41115  {
41116  if ((f & ::xml_schema::flags::base) == 0)
41117  {
41118  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
41119  this->parse (p, f);
41120  }
41121  }
41122 
41123  void CompoundInput::
41124  parse (::xsd::cxx::xml::dom::parser< char >& p,
41125  ::xml_schema::flags f)
41126  {
41127  this->::neuroml2::Standalone::parse (p, f);
41128 
41129  for (; p.more_content (); p.next_content (false))
41130  {
41131  const ::xercesc::DOMElement& i (p.cur_element ());
41132  const ::xsd::cxx::xml::qualified_name< char > n (
41133  ::xsd::cxx::xml::dom::name< char > (i));
41134 
41135  // pulseGenerator
41136  //
41137  if (n.name () == "pulseGenerator" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
41138  {
41139  ::std::unique_ptr< pulseGenerator_type > r (
41140  pulseGenerator_traits::create (i, f, this));
41141 
41142  this->pulseGenerator_.push_back (::std::move (r));
41143  continue;
41144  }
41145 
41146  // sineGenerator
41147  //
41148  if (n.name () == "sineGenerator" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
41149  {
41150  ::std::unique_ptr< sineGenerator_type > r (
41151  sineGenerator_traits::create (i, f, this));
41152 
41153  this->sineGenerator_.push_back (::std::move (r));
41154  continue;
41155  }
41156 
41157  // rampGenerator
41158  //
41159  if (n.name () == "rampGenerator" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
41160  {
41161  ::std::unique_ptr< rampGenerator_type > r (
41162  rampGenerator_traits::create (i, f, this));
41163 
41164  this->rampGenerator_.push_back (::std::move (r));
41165  continue;
41166  }
41167 
41168  break;
41169  }
41170  }
41171 
41174  ::xml_schema::container* c) const
41175  {
41176  return new class CompoundInput (*this, f, c);
41177  }
41178 
41180  operator= (const CompoundInput& x)
41181  {
41182  if (this != &x)
41183  {
41184  static_cast< ::neuroml2::Standalone& > (*this) = x;
41185  this->pulseGenerator_ = x.pulseGenerator_;
41186  this->sineGenerator_ = x.sineGenerator_;
41187  this->rampGenerator_ = x.rampGenerator_;
41188  }
41189 
41190  return *this;
41191  }
41192 
41194  ~CompoundInput ()
41195  {
41196  }
41197 
41198  bool
41199  operator== (const CompoundInput& x, const CompoundInput& y)
41200  {
41201  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
41202  static_cast< const ::neuroml2::Standalone& > (y)))
41203  return false;
41204 
41205  if (!(x.pulseGenerator () == y.pulseGenerator ()))
41206  return false;
41207 
41208  if (!(x.sineGenerator () == y.sineGenerator ()))
41209  return false;
41210 
41211  if (!(x.rampGenerator () == y.rampGenerator ()))
41212  return false;
41213 
41214  return true;
41215  }
41216 
41217  bool
41218  operator!= (const CompoundInput& x, const CompoundInput& y)
41219  {
41220  return !(x == y);
41221  }
41222 
41223  // CompoundInputDL
41224  //
41225 
41227  CompoundInputDL (const id_type& id)
41228  : ::neuroml2::Standalone (id),
41229  pulseGeneratorDL_ (this),
41230  sineGeneratorDL_ (this),
41231  rampGeneratorDL_ (this)
41232  {
41233  }
41234 
41237  ::xml_schema::flags f,
41238  ::xml_schema::container* c)
41239  : ::neuroml2::Standalone (x, f, c),
41240  pulseGeneratorDL_ (x.pulseGeneratorDL_, f, this),
41241  sineGeneratorDL_ (x.sineGeneratorDL_, f, this),
41242  rampGeneratorDL_ (x.rampGeneratorDL_, f, this)
41243  {
41244  }
41245 
41247  CompoundInputDL (const ::xercesc::DOMElement& e,
41248  ::xml_schema::flags f,
41249  ::xml_schema::container* c)
41250  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
41251  pulseGeneratorDL_ (this),
41252  sineGeneratorDL_ (this),
41253  rampGeneratorDL_ (this)
41254  {
41255  if ((f & ::xml_schema::flags::base) == 0)
41256  {
41257  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
41258  this->parse (p, f);
41259  }
41260  }
41261 
41262  void CompoundInputDL::
41263  parse (::xsd::cxx::xml::dom::parser< char >& p,
41264  ::xml_schema::flags f)
41265  {
41266  this->::neuroml2::Standalone::parse (p, f);
41267 
41268  for (; p.more_content (); p.next_content (false))
41269  {
41270  const ::xercesc::DOMElement& i (p.cur_element ());
41271  const ::xsd::cxx::xml::qualified_name< char > n (
41272  ::xsd::cxx::xml::dom::name< char > (i));
41273 
41274  // pulseGeneratorDL
41275  //
41276  if (n.name () == "pulseGeneratorDL" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
41277  {
41278  ::std::unique_ptr< pulseGeneratorDL_type > r (
41279  pulseGeneratorDL_traits::create (i, f, this));
41280 
41281  this->pulseGeneratorDL_.push_back (::std::move (r));
41282  continue;
41283  }
41284 
41285  // sineGeneratorDL
41286  //
41287  if (n.name () == "sineGeneratorDL" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
41288  {
41289  ::std::unique_ptr< sineGeneratorDL_type > r (
41290  sineGeneratorDL_traits::create (i, f, this));
41291 
41292  this->sineGeneratorDL_.push_back (::std::move (r));
41293  continue;
41294  }
41295 
41296  // rampGeneratorDL
41297  //
41298  if (n.name () == "rampGeneratorDL" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
41299  {
41300  ::std::unique_ptr< rampGeneratorDL_type > r (
41301  rampGeneratorDL_traits::create (i, f, this));
41302 
41303  this->rampGeneratorDL_.push_back (::std::move (r));
41304  continue;
41305  }
41306 
41307  break;
41308  }
41309  }
41310 
41313  ::xml_schema::container* c) const
41314  {
41315  return new class CompoundInputDL (*this, f, c);
41316  }
41317 
41319  operator= (const CompoundInputDL& x)
41320  {
41321  if (this != &x)
41322  {
41323  static_cast< ::neuroml2::Standalone& > (*this) = x;
41324  this->pulseGeneratorDL_ = x.pulseGeneratorDL_;
41325  this->sineGeneratorDL_ = x.sineGeneratorDL_;
41326  this->rampGeneratorDL_ = x.rampGeneratorDL_;
41327  }
41328 
41329  return *this;
41330  }
41331 
41334  {
41335  }
41336 
41337  bool
41338  operator== (const CompoundInputDL& x, const CompoundInputDL& y)
41339  {
41340  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
41341  static_cast< const ::neuroml2::Standalone& > (y)))
41342  return false;
41343 
41344  if (!(x.pulseGeneratorDL () == y.pulseGeneratorDL ()))
41345  return false;
41346 
41347  if (!(x.sineGeneratorDL () == y.sineGeneratorDL ()))
41348  return false;
41349 
41350  if (!(x.rampGeneratorDL () == y.rampGeneratorDL ()))
41351  return false;
41352 
41353  return true;
41354  }
41355 
41356  bool
41357  operator!= (const CompoundInputDL& x, const CompoundInputDL& y)
41358  {
41359  return !(x == y);
41360  }
41361 
41362  // VoltageClamp
41363  //
41364 
41366  VoltageClamp (const id_type& id,
41367  const delay_type& delay,
41368  const duration_type& duration,
41369  const targetVoltage_type& targetVoltage,
41370  const simpleSeriesResistance_type& simpleSeriesResistance)
41371  : ::neuroml2::Standalone (id),
41372  delay_ (delay, this),
41373  duration_ (duration, this),
41374  targetVoltage_ (targetVoltage, this),
41375  simpleSeriesResistance_ (simpleSeriesResistance, this)
41376  {
41377  }
41378 
41380  VoltageClamp (const VoltageClamp& x,
41381  ::xml_schema::flags f,
41382  ::xml_schema::container* c)
41383  : ::neuroml2::Standalone (x, f, c),
41384  delay_ (x.delay_, f, this),
41385  duration_ (x.duration_, f, this),
41386  targetVoltage_ (x.targetVoltage_, f, this),
41387  simpleSeriesResistance_ (x.simpleSeriesResistance_, f, this)
41388  {
41389  }
41390 
41392  VoltageClamp (const ::xercesc::DOMElement& e,
41393  ::xml_schema::flags f,
41394  ::xml_schema::container* c)
41395  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
41396  delay_ (this),
41397  duration_ (this),
41398  targetVoltage_ (this),
41399  simpleSeriesResistance_ (this)
41400  {
41401  if ((f & ::xml_schema::flags::base) == 0)
41402  {
41403  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
41404  this->parse (p, f);
41405  }
41406  }
41407 
41408  void VoltageClamp::
41409  parse (::xsd::cxx::xml::dom::parser< char >& p,
41410  ::xml_schema::flags f)
41411  {
41412  this->::neuroml2::Standalone::parse (p, f);
41413 
41414  p.reset_attributes ();
41415 
41416  while (p.more_attributes ())
41417  {
41418  const ::xercesc::DOMAttr& i (p.next_attribute ());
41419  const ::xsd::cxx::xml::qualified_name< char > n (
41420  ::xsd::cxx::xml::dom::name< char > (i));
41421 
41422  if (n.name () == "delay" && n.namespace_ ().empty ())
41423  {
41424  this->delay_.set (delay_traits::create (i, f, this));
41425  continue;
41426  }
41427 
41428  if (n.name () == "duration" && n.namespace_ ().empty ())
41429  {
41430  this->duration_.set (duration_traits::create (i, f, this));
41431  continue;
41432  }
41433 
41434  if (n.name () == "targetVoltage" && n.namespace_ ().empty ())
41435  {
41436  this->targetVoltage_.set (targetVoltage_traits::create (i, f, this));
41437  continue;
41438  }
41439 
41440  if (n.name () == "simpleSeriesResistance" && n.namespace_ ().empty ())
41441  {
41442  this->simpleSeriesResistance_.set (simpleSeriesResistance_traits::create (i, f, this));
41443  continue;
41444  }
41445  }
41446 
41447  if (!delay_.present ())
41448  {
41449  throw ::xsd::cxx::tree::expected_attribute< char > (
41450  "delay",
41451  "");
41452  }
41453 
41454  if (!duration_.present ())
41455  {
41456  throw ::xsd::cxx::tree::expected_attribute< char > (
41457  "duration",
41458  "");
41459  }
41460 
41461  if (!targetVoltage_.present ())
41462  {
41463  throw ::xsd::cxx::tree::expected_attribute< char > (
41464  "targetVoltage",
41465  "");
41466  }
41467 
41468  if (!simpleSeriesResistance_.present ())
41469  {
41470  throw ::xsd::cxx::tree::expected_attribute< char > (
41471  "simpleSeriesResistance",
41472  "");
41473  }
41474  }
41475 
41478  ::xml_schema::container* c) const
41479  {
41480  return new class VoltageClamp (*this, f, c);
41481  }
41482 
41484  operator= (const VoltageClamp& x)
41485  {
41486  if (this != &x)
41487  {
41488  static_cast< ::neuroml2::Standalone& > (*this) = x;
41489  this->delay_ = x.delay_;
41490  this->duration_ = x.duration_;
41491  this->targetVoltage_ = x.targetVoltage_;
41492  this->simpleSeriesResistance_ = x.simpleSeriesResistance_;
41493  }
41494 
41495  return *this;
41496  }
41497 
41499  ~VoltageClamp ()
41500  {
41501  }
41502 
41503  bool
41504  operator== (const VoltageClamp& x, const VoltageClamp& y)
41505  {
41506  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
41507  static_cast< const ::neuroml2::Standalone& > (y)))
41508  return false;
41509 
41510  if (!(x.delay () == y.delay ()))
41511  return false;
41512 
41513  if (!(x.duration () == y.duration ()))
41514  return false;
41515 
41516  if (!(x.targetVoltage () == y.targetVoltage ()))
41517  return false;
41518 
41519  if (!(x.simpleSeriesResistance () == y.simpleSeriesResistance ()))
41520  return false;
41521 
41522  return true;
41523  }
41524 
41525  bool
41526  operator!= (const VoltageClamp& x, const VoltageClamp& y)
41527  {
41528  return !(x == y);
41529  }
41530 
41531  // VoltageClampTriple
41532  //
41533 
41535  VoltageClampTriple (const id_type& id,
41536  const active_type& active,
41537  const delay_type& delay,
41538  const duration_type& duration,
41539  const conditioningVoltage_type& conditioningVoltage,
41540  const testingVoltage_type& testingVoltage,
41541  const returnVoltage_type& returnVoltage,
41542  const simpleSeriesResistance_type& simpleSeriesResistance)
41543  : ::neuroml2::Standalone (id),
41544  active_ (active, this),
41545  delay_ (delay, this),
41546  duration_ (duration, this),
41547  conditioningVoltage_ (conditioningVoltage, this),
41548  testingVoltage_ (testingVoltage, this),
41549  returnVoltage_ (returnVoltage, this),
41550  simpleSeriesResistance_ (simpleSeriesResistance, this)
41551  {
41552  }
41553 
41556  ::xml_schema::flags f,
41557  ::xml_schema::container* c)
41558  : ::neuroml2::Standalone (x, f, c),
41559  active_ (x.active_, f, this),
41560  delay_ (x.delay_, f, this),
41561  duration_ (x.duration_, f, this),
41562  conditioningVoltage_ (x.conditioningVoltage_, f, this),
41563  testingVoltage_ (x.testingVoltage_, f, this),
41564  returnVoltage_ (x.returnVoltage_, f, this),
41565  simpleSeriesResistance_ (x.simpleSeriesResistance_, f, this)
41566  {
41567  }
41568 
41570  VoltageClampTriple (const ::xercesc::DOMElement& e,
41571  ::xml_schema::flags f,
41572  ::xml_schema::container* c)
41573  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
41574  active_ (this),
41575  delay_ (this),
41576  duration_ (this),
41577  conditioningVoltage_ (this),
41578  testingVoltage_ (this),
41579  returnVoltage_ (this),
41580  simpleSeriesResistance_ (this)
41581  {
41582  if ((f & ::xml_schema::flags::base) == 0)
41583  {
41584  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
41585  this->parse (p, f);
41586  }
41587  }
41588 
41589  void VoltageClampTriple::
41590  parse (::xsd::cxx::xml::dom::parser< char >& p,
41591  ::xml_schema::flags f)
41592  {
41593  this->::neuroml2::Standalone::parse (p, f);
41594 
41595  p.reset_attributes ();
41596 
41597  while (p.more_attributes ())
41598  {
41599  const ::xercesc::DOMAttr& i (p.next_attribute ());
41600  const ::xsd::cxx::xml::qualified_name< char > n (
41601  ::xsd::cxx::xml::dom::name< char > (i));
41602 
41603  if (n.name () == "active" && n.namespace_ ().empty ())
41604  {
41605  this->active_.set (active_traits::create (i, f, this));
41606  continue;
41607  }
41608 
41609  if (n.name () == "delay" && n.namespace_ ().empty ())
41610  {
41611  this->delay_.set (delay_traits::create (i, f, this));
41612  continue;
41613  }
41614 
41615  if (n.name () == "duration" && n.namespace_ ().empty ())
41616  {
41617  this->duration_.set (duration_traits::create (i, f, this));
41618  continue;
41619  }
41620 
41621  if (n.name () == "conditioningVoltage" && n.namespace_ ().empty ())
41622  {
41623  this->conditioningVoltage_.set (conditioningVoltage_traits::create (i, f, this));
41624  continue;
41625  }
41626 
41627  if (n.name () == "testingVoltage" && n.namespace_ ().empty ())
41628  {
41629  this->testingVoltage_.set (testingVoltage_traits::create (i, f, this));
41630  continue;
41631  }
41632 
41633  if (n.name () == "returnVoltage" && n.namespace_ ().empty ())
41634  {
41635  this->returnVoltage_.set (returnVoltage_traits::create (i, f, this));
41636  continue;
41637  }
41638 
41639  if (n.name () == "simpleSeriesResistance" && n.namespace_ ().empty ())
41640  {
41641  this->simpleSeriesResistance_.set (simpleSeriesResistance_traits::create (i, f, this));
41642  continue;
41643  }
41644  }
41645 
41646  if (!active_.present ())
41647  {
41648  throw ::xsd::cxx::tree::expected_attribute< char > (
41649  "active",
41650  "");
41651  }
41652 
41653  if (!delay_.present ())
41654  {
41655  throw ::xsd::cxx::tree::expected_attribute< char > (
41656  "delay",
41657  "");
41658  }
41659 
41660  if (!duration_.present ())
41661  {
41662  throw ::xsd::cxx::tree::expected_attribute< char > (
41663  "duration",
41664  "");
41665  }
41666 
41667  if (!conditioningVoltage_.present ())
41668  {
41669  throw ::xsd::cxx::tree::expected_attribute< char > (
41670  "conditioningVoltage",
41671  "");
41672  }
41673 
41674  if (!testingVoltage_.present ())
41675  {
41676  throw ::xsd::cxx::tree::expected_attribute< char > (
41677  "testingVoltage",
41678  "");
41679  }
41680 
41681  if (!returnVoltage_.present ())
41682  {
41683  throw ::xsd::cxx::tree::expected_attribute< char > (
41684  "returnVoltage",
41685  "");
41686  }
41687 
41688  if (!simpleSeriesResistance_.present ())
41689  {
41690  throw ::xsd::cxx::tree::expected_attribute< char > (
41691  "simpleSeriesResistance",
41692  "");
41693  }
41694  }
41695 
41698  ::xml_schema::container* c) const
41699  {
41700  return new class VoltageClampTriple (*this, f, c);
41701  }
41702 
41705  {
41706  if (this != &x)
41707  {
41708  static_cast< ::neuroml2::Standalone& > (*this) = x;
41709  this->active_ = x.active_;
41710  this->delay_ = x.delay_;
41711  this->duration_ = x.duration_;
41712  this->conditioningVoltage_ = x.conditioningVoltage_;
41713  this->testingVoltage_ = x.testingVoltage_;
41714  this->returnVoltage_ = x.returnVoltage_;
41715  this->simpleSeriesResistance_ = x.simpleSeriesResistance_;
41716  }
41717 
41718  return *this;
41719  }
41720 
41723  {
41724  }
41725 
41726  bool
41727  operator== (const VoltageClampTriple& x, const VoltageClampTriple& y)
41728  {
41729  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
41730  static_cast< const ::neuroml2::Standalone& > (y)))
41731  return false;
41732 
41733  if (!(x.active () == y.active ()))
41734  return false;
41735 
41736  if (!(x.delay () == y.delay ()))
41737  return false;
41738 
41739  if (!(x.duration () == y.duration ()))
41740  return false;
41741 
41742  if (!(x.conditioningVoltage () == y.conditioningVoltage ()))
41743  return false;
41744 
41745  if (!(x.testingVoltage () == y.testingVoltage ()))
41746  return false;
41747 
41748  if (!(x.returnVoltage () == y.returnVoltage ()))
41749  return false;
41750 
41751  if (!(x.simpleSeriesResistance () == y.simpleSeriesResistance ()))
41752  return false;
41753 
41754  return true;
41755  }
41756 
41757  bool
41758  operator!= (const VoltageClampTriple& x, const VoltageClampTriple& y)
41759  {
41760  return !(x == y);
41761  }
41762 
41763  // Spike
41764  //
41765 
41767  Spike (const id_type& id,
41768  const time_type& time)
41770  time_ (time, this)
41771  {
41772  }
41773 
41775  Spike (const Spike& x,
41776  ::xml_schema::flags f,
41777  ::xml_schema::container* c)
41778  : ::neuroml2::BaseNonNegativeIntegerId (x, f, c),
41779  time_ (x.time_, f, this)
41780  {
41781  }
41782 
41784  Spike (const ::xercesc::DOMElement& e,
41785  ::xml_schema::flags f,
41786  ::xml_schema::container* c)
41787  : ::neuroml2::BaseNonNegativeIntegerId (e, f | ::xml_schema::flags::base, c),
41788  time_ (this)
41789  {
41790  if ((f & ::xml_schema::flags::base) == 0)
41791  {
41792  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
41793  this->parse (p, f);
41794  }
41795  }
41796 
41797  void Spike::
41798  parse (::xsd::cxx::xml::dom::parser< char >& p,
41799  ::xml_schema::flags f)
41800  {
41801  this->::neuroml2::BaseNonNegativeIntegerId::parse (p, f);
41802 
41803  p.reset_attributes ();
41804 
41805  while (p.more_attributes ())
41806  {
41807  const ::xercesc::DOMAttr& i (p.next_attribute ());
41808  const ::xsd::cxx::xml::qualified_name< char > n (
41809  ::xsd::cxx::xml::dom::name< char > (i));
41810 
41811  if (n.name () == "time" && n.namespace_ ().empty ())
41812  {
41813  this->time_.set (time_traits::create (i, f, this));
41814  continue;
41815  }
41816  }
41817 
41818  if (!time_.present ())
41819  {
41820  throw ::xsd::cxx::tree::expected_attribute< char > (
41821  "time",
41822  "");
41823  }
41824  }
41825 
41828  ::xml_schema::container* c) const
41829  {
41830  return new class Spike (*this, f, c);
41831  }
41832 
41834  operator= (const Spike& x)
41835  {
41836  if (this != &x)
41837  {
41838  static_cast< ::neuroml2::BaseNonNegativeIntegerId& > (*this) = x;
41839  this->time_ = x.time_;
41840  }
41841 
41842  return *this;
41843  }
41844 
41846  ~Spike ()
41847  {
41848  }
41849 
41850  bool
41851  operator== (const Spike& x, const Spike& y)
41852  {
41853  if (!(static_cast< const ::neuroml2::BaseNonNegativeIntegerId& > (x) ==
41854  static_cast< const ::neuroml2::BaseNonNegativeIntegerId& > (y)))
41855  return false;
41856 
41857  if (!(x.time () == y.time ()))
41858  return false;
41859 
41860  return true;
41861  }
41862 
41863  bool
41864  operator!= (const Spike& x, const Spike& y)
41865  {
41866  return !(x == y);
41867  }
41868 
41869  // SpikeArray
41870  //
41871 
41873  SpikeArray (const id_type& id)
41874  : ::neuroml2::Standalone (id),
41875  spike_ (this)
41876  {
41877  }
41878 
41880  SpikeArray (const SpikeArray& x,
41881  ::xml_schema::flags f,
41882  ::xml_schema::container* c)
41883  : ::neuroml2::Standalone (x, f, c),
41884  spike_ (x.spike_, f, this)
41885  {
41886  }
41887 
41889  SpikeArray (const ::xercesc::DOMElement& e,
41890  ::xml_schema::flags f,
41891  ::xml_schema::container* c)
41892  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
41893  spike_ (this)
41894  {
41895  if ((f & ::xml_schema::flags::base) == 0)
41896  {
41897  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
41898  this->parse (p, f);
41899  }
41900  }
41901 
41902  void SpikeArray::
41903  parse (::xsd::cxx::xml::dom::parser< char >& p,
41904  ::xml_schema::flags f)
41905  {
41906  this->::neuroml2::Standalone::parse (p, f);
41907 
41908  for (; p.more_content (); p.next_content (false))
41909  {
41910  const ::xercesc::DOMElement& i (p.cur_element ());
41911  const ::xsd::cxx::xml::qualified_name< char > n (
41912  ::xsd::cxx::xml::dom::name< char > (i));
41913 
41914  // spike
41915  //
41916  if (n.name () == "spike" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
41917  {
41918  ::std::unique_ptr< spike_type > r (
41919  spike_traits::create (i, f, this));
41920 
41921  this->spike_.push_back (::std::move (r));
41922  continue;
41923  }
41924 
41925  break;
41926  }
41927  }
41928 
41931  ::xml_schema::container* c) const
41932  {
41933  return new class SpikeArray (*this, f, c);
41934  }
41935 
41937  operator= (const SpikeArray& x)
41938  {
41939  if (this != &x)
41940  {
41941  static_cast< ::neuroml2::Standalone& > (*this) = x;
41942  this->spike_ = x.spike_;
41943  }
41944 
41945  return *this;
41946  }
41947 
41949  ~SpikeArray ()
41950  {
41951  }
41952 
41953  bool
41954  operator== (const SpikeArray& x, const SpikeArray& y)
41955  {
41956  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
41957  static_cast< const ::neuroml2::Standalone& > (y)))
41958  return false;
41959 
41960  if (!(x.spike () == y.spike ()))
41961  return false;
41962 
41963  return true;
41964  }
41965 
41966  bool
41967  operator!= (const SpikeArray& x, const SpikeArray& y)
41968  {
41969  return !(x == y);
41970  }
41971 
41972  // TimedSynapticInput
41973  //
41974 
41976  TimedSynapticInput (const id_type& id,
41977  const synapse_type& synapse,
41978  const spikeTarget_type& spikeTarget)
41979  : ::neuroml2::Standalone (id),
41980  spike_ (this),
41981  synapse_ (synapse, this),
41982  spikeTarget_ (spikeTarget, this)
41983  {
41984  }
41985 
41988  ::xml_schema::flags f,
41989  ::xml_schema::container* c)
41990  : ::neuroml2::Standalone (x, f, c),
41991  spike_ (x.spike_, f, this),
41992  synapse_ (x.synapse_, f, this),
41993  spikeTarget_ (x.spikeTarget_, f, this)
41994  {
41995  }
41996 
41998  TimedSynapticInput (const ::xercesc::DOMElement& e,
41999  ::xml_schema::flags f,
42000  ::xml_schema::container* c)
42001  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
42002  spike_ (this),
42003  synapse_ (this),
42004  spikeTarget_ (this)
42005  {
42006  if ((f & ::xml_schema::flags::base) == 0)
42007  {
42008  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
42009  this->parse (p, f);
42010  }
42011  }
42012 
42013  void TimedSynapticInput::
42014  parse (::xsd::cxx::xml::dom::parser< char >& p,
42015  ::xml_schema::flags f)
42016  {
42017  this->::neuroml2::Standalone::parse (p, f);
42018 
42019  for (; p.more_content (); p.next_content (false))
42020  {
42021  const ::xercesc::DOMElement& i (p.cur_element ());
42022  const ::xsd::cxx::xml::qualified_name< char > n (
42023  ::xsd::cxx::xml::dom::name< char > (i));
42024 
42025  // spike
42026  //
42027  if (n.name () == "spike" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
42028  {
42029  ::std::unique_ptr< spike_type > r (
42030  spike_traits::create (i, f, this));
42031 
42032  this->spike_.push_back (::std::move (r));
42033  continue;
42034  }
42035 
42036  break;
42037  }
42038 
42039  p.reset_attributes ();
42040 
42041  while (p.more_attributes ())
42042  {
42043  const ::xercesc::DOMAttr& i (p.next_attribute ());
42044  const ::xsd::cxx::xml::qualified_name< char > n (
42045  ::xsd::cxx::xml::dom::name< char > (i));
42046 
42047  if (n.name () == "synapse" && n.namespace_ ().empty ())
42048  {
42049  this->synapse_.set (synapse_traits::create (i, f, this));
42050  continue;
42051  }
42052 
42053  if (n.name () == "spikeTarget" && n.namespace_ ().empty ())
42054  {
42055  this->spikeTarget_.set (spikeTarget_traits::create (i, f, this));
42056  continue;
42057  }
42058  }
42059 
42060  if (!synapse_.present ())
42061  {
42062  throw ::xsd::cxx::tree::expected_attribute< char > (
42063  "synapse",
42064  "");
42065  }
42066 
42067  if (!spikeTarget_.present ())
42068  {
42069  throw ::xsd::cxx::tree::expected_attribute< char > (
42070  "spikeTarget",
42071  "");
42072  }
42073  }
42074 
42077  ::xml_schema::container* c) const
42078  {
42079  return new class TimedSynapticInput (*this, f, c);
42080  }
42081 
42084  {
42085  if (this != &x)
42086  {
42087  static_cast< ::neuroml2::Standalone& > (*this) = x;
42088  this->spike_ = x.spike_;
42089  this->synapse_ = x.synapse_;
42090  this->spikeTarget_ = x.spikeTarget_;
42091  }
42092 
42093  return *this;
42094  }
42095 
42098  {
42099  }
42100 
42101  bool
42102  operator== (const TimedSynapticInput& x, const TimedSynapticInput& y)
42103  {
42104  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
42105  static_cast< const ::neuroml2::Standalone& > (y)))
42106  return false;
42107 
42108  if (!(x.spike () == y.spike ()))
42109  return false;
42110 
42111  if (!(x.synapse () == y.synapse ()))
42112  return false;
42113 
42114  if (!(x.spikeTarget () == y.spikeTarget ()))
42115  return false;
42116 
42117  return true;
42118  }
42119 
42120  bool
42121  operator!= (const TimedSynapticInput& x, const TimedSynapticInput& y)
42122  {
42123  return !(x == y);
42124  }
42125 
42126  // SpikeGenerator
42127  //
42128 
42130  SpikeGenerator (const id_type& id,
42131  const period_type& period)
42132  : ::neuroml2::Standalone (id),
42133  period_ (period, this)
42134  {
42135  }
42136 
42139  ::xml_schema::flags f,
42140  ::xml_schema::container* c)
42141  : ::neuroml2::Standalone (x, f, c),
42142  period_ (x.period_, f, this)
42143  {
42144  }
42145 
42147  SpikeGenerator (const ::xercesc::DOMElement& e,
42148  ::xml_schema::flags f,
42149  ::xml_schema::container* c)
42150  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
42151  period_ (this)
42152  {
42153  if ((f & ::xml_schema::flags::base) == 0)
42154  {
42155  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
42156  this->parse (p, f);
42157  }
42158  }
42159 
42160  void SpikeGenerator::
42161  parse (::xsd::cxx::xml::dom::parser< char >& p,
42162  ::xml_schema::flags f)
42163  {
42164  this->::neuroml2::Standalone::parse (p, f);
42165 
42166  p.reset_attributes ();
42167 
42168  while (p.more_attributes ())
42169  {
42170  const ::xercesc::DOMAttr& i (p.next_attribute ());
42171  const ::xsd::cxx::xml::qualified_name< char > n (
42172  ::xsd::cxx::xml::dom::name< char > (i));
42173 
42174  if (n.name () == "period" && n.namespace_ ().empty ())
42175  {
42176  this->period_.set (period_traits::create (i, f, this));
42177  continue;
42178  }
42179  }
42180 
42181  if (!period_.present ())
42182  {
42183  throw ::xsd::cxx::tree::expected_attribute< char > (
42184  "period",
42185  "");
42186  }
42187  }
42188 
42191  ::xml_schema::container* c) const
42192  {
42193  return new class SpikeGenerator (*this, f, c);
42194  }
42195 
42197  operator= (const SpikeGenerator& x)
42198  {
42199  if (this != &x)
42200  {
42201  static_cast< ::neuroml2::Standalone& > (*this) = x;
42202  this->period_ = x.period_;
42203  }
42204 
42205  return *this;
42206  }
42207 
42210  {
42211  }
42212 
42213  bool
42214  operator== (const SpikeGenerator& x, const SpikeGenerator& y)
42215  {
42216  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
42217  static_cast< const ::neuroml2::Standalone& > (y)))
42218  return false;
42219 
42220  if (!(x.period () == y.period ()))
42221  return false;
42222 
42223  return true;
42224  }
42225 
42226  bool
42227  operator!= (const SpikeGenerator& x, const SpikeGenerator& y)
42228  {
42229  return !(x == y);
42230  }
42231 
42232  // SpikeGeneratorRandom
42233  //
42234 
42236  SpikeGeneratorRandom (const id_type& id,
42237  const maxISI_type& maxISI,
42238  const minISI_type& minISI)
42239  : ::neuroml2::Standalone (id),
42240  maxISI_ (maxISI, this),
42241  minISI_ (minISI, this)
42242  {
42243  }
42244 
42247  ::xml_schema::flags f,
42248  ::xml_schema::container* c)
42249  : ::neuroml2::Standalone (x, f, c),
42250  maxISI_ (x.maxISI_, f, this),
42251  minISI_ (x.minISI_, f, this)
42252  {
42253  }
42254 
42256  SpikeGeneratorRandom (const ::xercesc::DOMElement& e,
42257  ::xml_schema::flags f,
42258  ::xml_schema::container* c)
42259  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
42260  maxISI_ (this),
42261  minISI_ (this)
42262  {
42263  if ((f & ::xml_schema::flags::base) == 0)
42264  {
42265  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
42266  this->parse (p, f);
42267  }
42268  }
42269 
42270  void SpikeGeneratorRandom::
42271  parse (::xsd::cxx::xml::dom::parser< char >& p,
42272  ::xml_schema::flags f)
42273  {
42274  this->::neuroml2::Standalone::parse (p, f);
42275 
42276  p.reset_attributes ();
42277 
42278  while (p.more_attributes ())
42279  {
42280  const ::xercesc::DOMAttr& i (p.next_attribute ());
42281  const ::xsd::cxx::xml::qualified_name< char > n (
42282  ::xsd::cxx::xml::dom::name< char > (i));
42283 
42284  if (n.name () == "maxISI" && n.namespace_ ().empty ())
42285  {
42286  this->maxISI_.set (maxISI_traits::create (i, f, this));
42287  continue;
42288  }
42289 
42290  if (n.name () == "minISI" && n.namespace_ ().empty ())
42291  {
42292  this->minISI_.set (minISI_traits::create (i, f, this));
42293  continue;
42294  }
42295  }
42296 
42297  if (!maxISI_.present ())
42298  {
42299  throw ::xsd::cxx::tree::expected_attribute< char > (
42300  "maxISI",
42301  "");
42302  }
42303 
42304  if (!minISI_.present ())
42305  {
42306  throw ::xsd::cxx::tree::expected_attribute< char > (
42307  "minISI",
42308  "");
42309  }
42310  }
42311 
42314  ::xml_schema::container* c) const
42315  {
42316  return new class SpikeGeneratorRandom (*this, f, c);
42317  }
42318 
42321  {
42322  if (this != &x)
42323  {
42324  static_cast< ::neuroml2::Standalone& > (*this) = x;
42325  this->maxISI_ = x.maxISI_;
42326  this->minISI_ = x.minISI_;
42327  }
42328 
42329  return *this;
42330  }
42331 
42334  {
42335  }
42336 
42337  bool
42338  operator== (const SpikeGeneratorRandom& x, const SpikeGeneratorRandom& y)
42339  {
42340  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
42341  static_cast< const ::neuroml2::Standalone& > (y)))
42342  return false;
42343 
42344  if (!(x.maxISI () == y.maxISI ()))
42345  return false;
42346 
42347  if (!(x.minISI () == y.minISI ()))
42348  return false;
42349 
42350  return true;
42351  }
42352 
42353  bool
42354  operator!= (const SpikeGeneratorRandom& x, const SpikeGeneratorRandom& y)
42355  {
42356  return !(x == y);
42357  }
42358 
42359  // SpikeGeneratorPoisson
42360  //
42361 
42363  SpikeGeneratorPoisson (const id_type& id,
42364  const averageRate_type& averageRate)
42365  : ::neuroml2::Standalone (id),
42366  averageRate_ (averageRate, this)
42367  {
42368  }
42369 
42372  ::xml_schema::flags f,
42373  ::xml_schema::container* c)
42374  : ::neuroml2::Standalone (x, f, c),
42375  averageRate_ (x.averageRate_, f, this)
42376  {
42377  }
42378 
42380  SpikeGeneratorPoisson (const ::xercesc::DOMElement& e,
42381  ::xml_schema::flags f,
42382  ::xml_schema::container* c)
42383  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
42384  averageRate_ (this)
42385  {
42386  if ((f & ::xml_schema::flags::base) == 0)
42387  {
42388  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
42389  this->parse (p, f);
42390  }
42391  }
42392 
42393  void SpikeGeneratorPoisson::
42394  parse (::xsd::cxx::xml::dom::parser< char >& p,
42395  ::xml_schema::flags f)
42396  {
42397  this->::neuroml2::Standalone::parse (p, f);
42398 
42399  p.reset_attributes ();
42400 
42401  while (p.more_attributes ())
42402  {
42403  const ::xercesc::DOMAttr& i (p.next_attribute ());
42404  const ::xsd::cxx::xml::qualified_name< char > n (
42405  ::xsd::cxx::xml::dom::name< char > (i));
42406 
42407  if (n.name () == "averageRate" && n.namespace_ ().empty ())
42408  {
42409  this->averageRate_.set (averageRate_traits::create (i, f, this));
42410  continue;
42411  }
42412  }
42413 
42414  if (!averageRate_.present ())
42415  {
42416  throw ::xsd::cxx::tree::expected_attribute< char > (
42417  "averageRate",
42418  "");
42419  }
42420  }
42421 
42424  ::xml_schema::container* c) const
42425  {
42426  return new class SpikeGeneratorPoisson (*this, f, c);
42427  }
42428 
42431  {
42432  if (this != &x)
42433  {
42434  static_cast< ::neuroml2::Standalone& > (*this) = x;
42435  this->averageRate_ = x.averageRate_;
42436  }
42437 
42438  return *this;
42439  }
42440 
42443  {
42444  }
42445 
42446  bool
42447  operator== (const SpikeGeneratorPoisson& x, const SpikeGeneratorPoisson& y)
42448  {
42449  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
42450  static_cast< const ::neuroml2::Standalone& > (y)))
42451  return false;
42452 
42453  if (!(x.averageRate () == y.averageRate ()))
42454  return false;
42455 
42456  return true;
42457  }
42458 
42459  bool
42460  operator!= (const SpikeGeneratorPoisson& x, const SpikeGeneratorPoisson& y)
42461  {
42462  return !(x == y);
42463  }
42464 
42465  // SpikeGeneratorRefPoisson
42466  //
42467 
42470  const averageRate_type& averageRate,
42471  const minimumISI_type& minimumISI)
42473  averageRate),
42474  minimumISI_ (minimumISI, this)
42475  {
42476  }
42477 
42480  ::xml_schema::flags f,
42481  ::xml_schema::container* c)
42482  : ::neuroml2::SpikeGeneratorPoisson (x, f, c),
42483  minimumISI_ (x.minimumISI_, f, this)
42484  {
42485  }
42486 
42488  SpikeGeneratorRefPoisson (const ::xercesc::DOMElement& e,
42489  ::xml_schema::flags f,
42490  ::xml_schema::container* c)
42491  : ::neuroml2::SpikeGeneratorPoisson (e, f | ::xml_schema::flags::base, c),
42492  minimumISI_ (this)
42493  {
42494  if ((f & ::xml_schema::flags::base) == 0)
42495  {
42496  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
42497  this->parse (p, f);
42498  }
42499  }
42500 
42501  void SpikeGeneratorRefPoisson::
42502  parse (::xsd::cxx::xml::dom::parser< char >& p,
42503  ::xml_schema::flags f)
42504  {
42505  this->::neuroml2::SpikeGeneratorPoisson::parse (p, f);
42506 
42507  p.reset_attributes ();
42508 
42509  while (p.more_attributes ())
42510  {
42511  const ::xercesc::DOMAttr& i (p.next_attribute ());
42512  const ::xsd::cxx::xml::qualified_name< char > n (
42513  ::xsd::cxx::xml::dom::name< char > (i));
42514 
42515  if (n.name () == "minimumISI" && n.namespace_ ().empty ())
42516  {
42517  this->minimumISI_.set (minimumISI_traits::create (i, f, this));
42518  continue;
42519  }
42520  }
42521 
42522  if (!minimumISI_.present ())
42523  {
42524  throw ::xsd::cxx::tree::expected_attribute< char > (
42525  "minimumISI",
42526  "");
42527  }
42528  }
42529 
42532  ::xml_schema::container* c) const
42533  {
42534  return new class SpikeGeneratorRefPoisson (*this, f, c);
42535  }
42536 
42539  {
42540  if (this != &x)
42541  {
42542  static_cast< ::neuroml2::SpikeGeneratorPoisson& > (*this) = x;
42543  this->minimumISI_ = x.minimumISI_;
42544  }
42545 
42546  return *this;
42547  }
42548 
42551  {
42552  }
42553 
42554  bool
42555  operator== (const SpikeGeneratorRefPoisson& x, const SpikeGeneratorRefPoisson& y)
42556  {
42557  if (!(static_cast< const ::neuroml2::SpikeGeneratorPoisson& > (x) ==
42558  static_cast< const ::neuroml2::SpikeGeneratorPoisson& > (y)))
42559  return false;
42560 
42561  if (!(x.minimumISI () == y.minimumISI ()))
42562  return false;
42563 
42564  return true;
42565  }
42566 
42567  bool
42568  operator!= (const SpikeGeneratorRefPoisson& x, const SpikeGeneratorRefPoisson& y)
42569  {
42570  return !(x == y);
42571  }
42572 
42573  // PoissonFiringSynapse
42574  //
42575 
42577  PoissonFiringSynapse (const id_type& id,
42578  const averageRate_type& averageRate,
42579  const synapse_type& synapse,
42580  const spikeTarget_type& spikeTarget)
42581  : ::neuroml2::Standalone (id),
42582  averageRate_ (averageRate, this),
42583  synapse_ (synapse, this),
42584  spikeTarget_ (spikeTarget, this)
42585  {
42586  }
42587 
42590  ::xml_schema::flags f,
42591  ::xml_schema::container* c)
42592  : ::neuroml2::Standalone (x, f, c),
42593  averageRate_ (x.averageRate_, f, this),
42594  synapse_ (x.synapse_, f, this),
42595  spikeTarget_ (x.spikeTarget_, f, this)
42596  {
42597  }
42598 
42600  PoissonFiringSynapse (const ::xercesc::DOMElement& e,
42601  ::xml_schema::flags f,
42602  ::xml_schema::container* c)
42603  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
42604  averageRate_ (this),
42605  synapse_ (this),
42606  spikeTarget_ (this)
42607  {
42608  if ((f & ::xml_schema::flags::base) == 0)
42609  {
42610  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
42611  this->parse (p, f);
42612  }
42613  }
42614 
42615  void PoissonFiringSynapse::
42616  parse (::xsd::cxx::xml::dom::parser< char >& p,
42617  ::xml_schema::flags f)
42618  {
42619  this->::neuroml2::Standalone::parse (p, f);
42620 
42621  p.reset_attributes ();
42622 
42623  while (p.more_attributes ())
42624  {
42625  const ::xercesc::DOMAttr& i (p.next_attribute ());
42626  const ::xsd::cxx::xml::qualified_name< char > n (
42627  ::xsd::cxx::xml::dom::name< char > (i));
42628 
42629  if (n.name () == "averageRate" && n.namespace_ ().empty ())
42630  {
42631  this->averageRate_.set (averageRate_traits::create (i, f, this));
42632  continue;
42633  }
42634 
42635  if (n.name () == "synapse" && n.namespace_ ().empty ())
42636  {
42637  this->synapse_.set (synapse_traits::create (i, f, this));
42638  continue;
42639  }
42640 
42641  if (n.name () == "spikeTarget" && n.namespace_ ().empty ())
42642  {
42643  this->spikeTarget_.set (spikeTarget_traits::create (i, f, this));
42644  continue;
42645  }
42646  }
42647 
42648  if (!averageRate_.present ())
42649  {
42650  throw ::xsd::cxx::tree::expected_attribute< char > (
42651  "averageRate",
42652  "");
42653  }
42654 
42655  if (!synapse_.present ())
42656  {
42657  throw ::xsd::cxx::tree::expected_attribute< char > (
42658  "synapse",
42659  "");
42660  }
42661 
42662  if (!spikeTarget_.present ())
42663  {
42664  throw ::xsd::cxx::tree::expected_attribute< char > (
42665  "spikeTarget",
42666  "");
42667  }
42668  }
42669 
42672  ::xml_schema::container* c) const
42673  {
42674  return new class PoissonFiringSynapse (*this, f, c);
42675  }
42676 
42679  {
42680  if (this != &x)
42681  {
42682  static_cast< ::neuroml2::Standalone& > (*this) = x;
42683  this->averageRate_ = x.averageRate_;
42684  this->synapse_ = x.synapse_;
42685  this->spikeTarget_ = x.spikeTarget_;
42686  }
42687 
42688  return *this;
42689  }
42690 
42693  {
42694  }
42695 
42696  bool
42697  operator== (const PoissonFiringSynapse& x, const PoissonFiringSynapse& y)
42698  {
42699  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
42700  static_cast< const ::neuroml2::Standalone& > (y)))
42701  return false;
42702 
42703  if (!(x.averageRate () == y.averageRate ()))
42704  return false;
42705 
42706  if (!(x.synapse () == y.synapse ()))
42707  return false;
42708 
42709  if (!(x.spikeTarget () == y.spikeTarget ()))
42710  return false;
42711 
42712  return true;
42713  }
42714 
42715  bool
42716  operator!= (const PoissonFiringSynapse& x, const PoissonFiringSynapse& y)
42717  {
42718  return !(x == y);
42719  }
42720 
42721  // TransientPoissonFiringSynapse
42722  //
42723 
42726  const averageRate_type& averageRate,
42727  const delay_type& delay,
42728  const duration_type& duration,
42729  const synapse_type& synapse,
42730  const spikeTarget_type& spikeTarget)
42731  : ::neuroml2::Standalone (id),
42732  averageRate_ (averageRate, this),
42733  delay_ (delay, this),
42734  duration_ (duration, this),
42735  synapse_ (synapse, this),
42736  spikeTarget_ (spikeTarget, this)
42737  {
42738  }
42739 
42742  ::xml_schema::flags f,
42743  ::xml_schema::container* c)
42744  : ::neuroml2::Standalone (x, f, c),
42745  averageRate_ (x.averageRate_, f, this),
42746  delay_ (x.delay_, f, this),
42747  duration_ (x.duration_, f, this),
42748  synapse_ (x.synapse_, f, this),
42749  spikeTarget_ (x.spikeTarget_, f, this)
42750  {
42751  }
42752 
42754  TransientPoissonFiringSynapse (const ::xercesc::DOMElement& e,
42755  ::xml_schema::flags f,
42756  ::xml_schema::container* c)
42757  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
42758  averageRate_ (this),
42759  delay_ (this),
42760  duration_ (this),
42761  synapse_ (this),
42762  spikeTarget_ (this)
42763  {
42764  if ((f & ::xml_schema::flags::base) == 0)
42765  {
42766  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
42767  this->parse (p, f);
42768  }
42769  }
42770 
42771  void TransientPoissonFiringSynapse::
42772  parse (::xsd::cxx::xml::dom::parser< char >& p,
42773  ::xml_schema::flags f)
42774  {
42775  this->::neuroml2::Standalone::parse (p, f);
42776 
42777  p.reset_attributes ();
42778 
42779  while (p.more_attributes ())
42780  {
42781  const ::xercesc::DOMAttr& i (p.next_attribute ());
42782  const ::xsd::cxx::xml::qualified_name< char > n (
42783  ::xsd::cxx::xml::dom::name< char > (i));
42784 
42785  if (n.name () == "averageRate" && n.namespace_ ().empty ())
42786  {
42787  this->averageRate_.set (averageRate_traits::create (i, f, this));
42788  continue;
42789  }
42790 
42791  if (n.name () == "delay" && n.namespace_ ().empty ())
42792  {
42793  this->delay_.set (delay_traits::create (i, f, this));
42794  continue;
42795  }
42796 
42797  if (n.name () == "duration" && n.namespace_ ().empty ())
42798  {
42799  this->duration_.set (duration_traits::create (i, f, this));
42800  continue;
42801  }
42802 
42803  if (n.name () == "synapse" && n.namespace_ ().empty ())
42804  {
42805  this->synapse_.set (synapse_traits::create (i, f, this));
42806  continue;
42807  }
42808 
42809  if (n.name () == "spikeTarget" && n.namespace_ ().empty ())
42810  {
42811  this->spikeTarget_.set (spikeTarget_traits::create (i, f, this));
42812  continue;
42813  }
42814  }
42815 
42816  if (!averageRate_.present ())
42817  {
42818  throw ::xsd::cxx::tree::expected_attribute< char > (
42819  "averageRate",
42820  "");
42821  }
42822 
42823  if (!delay_.present ())
42824  {
42825  throw ::xsd::cxx::tree::expected_attribute< char > (
42826  "delay",
42827  "");
42828  }
42829 
42830  if (!duration_.present ())
42831  {
42832  throw ::xsd::cxx::tree::expected_attribute< char > (
42833  "duration",
42834  "");
42835  }
42836 
42837  if (!synapse_.present ())
42838  {
42839  throw ::xsd::cxx::tree::expected_attribute< char > (
42840  "synapse",
42841  "");
42842  }
42843 
42844  if (!spikeTarget_.present ())
42845  {
42846  throw ::xsd::cxx::tree::expected_attribute< char > (
42847  "spikeTarget",
42848  "");
42849  }
42850  }
42851 
42854  ::xml_schema::container* c) const
42855  {
42856  return new class TransientPoissonFiringSynapse (*this, f, c);
42857  }
42858 
42861  {
42862  if (this != &x)
42863  {
42864  static_cast< ::neuroml2::Standalone& > (*this) = x;
42865  this->averageRate_ = x.averageRate_;
42866  this->delay_ = x.delay_;
42867  this->duration_ = x.duration_;
42868  this->synapse_ = x.synapse_;
42869  this->spikeTarget_ = x.spikeTarget_;
42870  }
42871 
42872  return *this;
42873  }
42874 
42877  {
42878  }
42879 
42880  bool
42881  operator== (const TransientPoissonFiringSynapse& x, const TransientPoissonFiringSynapse& y)
42882  {
42883  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
42884  static_cast< const ::neuroml2::Standalone& > (y)))
42885  return false;
42886 
42887  if (!(x.averageRate () == y.averageRate ()))
42888  return false;
42889 
42890  if (!(x.delay () == y.delay ()))
42891  return false;
42892 
42893  if (!(x.duration () == y.duration ()))
42894  return false;
42895 
42896  if (!(x.synapse () == y.synapse ()))
42897  return false;
42898 
42899  if (!(x.spikeTarget () == y.spikeTarget ()))
42900  return false;
42901 
42902  return true;
42903  }
42904 
42905  bool
42906  operator!= (const TransientPoissonFiringSynapse& x, const TransientPoissonFiringSynapse& y)
42907  {
42908  return !(x == y);
42909  }
42910 
42911  // Network
42912  //
42913 
42915  Network (const id_type& id)
42916  : ::neuroml2::Standalone (id),
42917  space_ (this),
42918  region_ (this),
42919  extracellularProperties_ (this),
42920  population_ (this),
42921  cellSet_ (this),
42922  synapticConnection_ (this),
42923  projection_ (this),
42924  electricalProjection_ (this),
42925  continuousProjection_ (this),
42926  explicitInput_ (this),
42927  inputList_ (this),
42928  type_ (this),
42929  temperature_ (this),
42930  neuroLexId_ (this)
42931  {
42932  }
42933 
42935  Network (const Network& x,
42936  ::xml_schema::flags f,
42937  ::xml_schema::container* c)
42938  : ::neuroml2::Standalone (x, f, c),
42939  space_ (x.space_, f, this),
42940  region_ (x.region_, f, this),
42941  extracellularProperties_ (x.extracellularProperties_, f, this),
42942  population_ (x.population_, f, this),
42943  cellSet_ (x.cellSet_, f, this),
42944  synapticConnection_ (x.synapticConnection_, f, this),
42945  projection_ (x.projection_, f, this),
42946  electricalProjection_ (x.electricalProjection_, f, this),
42947  continuousProjection_ (x.continuousProjection_, f, this),
42948  explicitInput_ (x.explicitInput_, f, this),
42949  inputList_ (x.inputList_, f, this),
42950  type_ (x.type_, f, this),
42951  temperature_ (x.temperature_, f, this),
42952  neuroLexId_ (x.neuroLexId_, f, this)
42953  {
42954  }
42955 
42957  Network (const ::xercesc::DOMElement& e,
42958  ::xml_schema::flags f,
42959  ::xml_schema::container* c)
42960  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
42961  space_ (this),
42962  region_ (this),
42963  extracellularProperties_ (this),
42964  population_ (this),
42965  cellSet_ (this),
42966  synapticConnection_ (this),
42967  projection_ (this),
42968  electricalProjection_ (this),
42969  continuousProjection_ (this),
42970  explicitInput_ (this),
42971  inputList_ (this),
42972  type_ (this),
42973  temperature_ (this),
42974  neuroLexId_ (this)
42975  {
42976  if ((f & ::xml_schema::flags::base) == 0)
42977  {
42978  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
42979  this->parse (p, f);
42980  }
42981  }
42982 
42983  void Network::
42984  parse (::xsd::cxx::xml::dom::parser< char >& p,
42985  ::xml_schema::flags f)
42986  {
42987  this->::neuroml2::Standalone::parse (p, f);
42988 
42989  for (; p.more_content (); p.next_content (false))
42990  {
42991  const ::xercesc::DOMElement& i (p.cur_element ());
42992  const ::xsd::cxx::xml::qualified_name< char > n (
42993  ::xsd::cxx::xml::dom::name< char > (i));
42994 
42995  // space
42996  //
42997  if (n.name () == "space" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
42998  {
42999  ::std::unique_ptr< space_type > r (
43000  space_traits::create (i, f, this));
43001 
43002  this->space_.push_back (::std::move (r));
43003  continue;
43004  }
43005 
43006  // region
43007  //
43008  if (n.name () == "region" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
43009  {
43010  ::std::unique_ptr< region_type > r (
43011  region_traits::create (i, f, this));
43012 
43013  this->region_.push_back (::std::move (r));
43014  continue;
43015  }
43016 
43017  // extracellularProperties
43018  //
43019  if (n.name () == "extracellularProperties" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
43020  {
43021  ::std::unique_ptr< extracellularProperties_type > r (
43022  extracellularProperties_traits::create (i, f, this));
43023 
43024  this->extracellularProperties_.push_back (::std::move (r));
43025  continue;
43026  }
43027 
43028  // population
43029  //
43030  if (n.name () == "population" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
43031  {
43032  ::std::unique_ptr< population_type > r (
43033  population_traits::create (i, f, this));
43034 
43035  this->population_.push_back (::std::move (r));
43036  continue;
43037  }
43038 
43039  // cellSet
43040  //
43041  if (n.name () == "cellSet" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
43042  {
43043  ::std::unique_ptr< cellSet_type > r (
43044  cellSet_traits::create (i, f, this));
43045 
43046  this->cellSet_.push_back (::std::move (r));
43047  continue;
43048  }
43049 
43050  // synapticConnection
43051  //
43052  if (n.name () == "synapticConnection" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
43053  {
43054  ::std::unique_ptr< synapticConnection_type > r (
43055  synapticConnection_traits::create (i, f, this));
43056 
43057  this->synapticConnection_.push_back (::std::move (r));
43058  continue;
43059  }
43060 
43061  // projection
43062  //
43063  if (n.name () == "projection" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
43064  {
43065  ::std::unique_ptr< projection_type > r (
43066  projection_traits::create (i, f, this));
43067 
43068  this->projection_.push_back (::std::move (r));
43069  continue;
43070  }
43071 
43072  // electricalProjection
43073  //
43074  if (n.name () == "electricalProjection" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
43075  {
43076  ::std::unique_ptr< electricalProjection_type > r (
43077  electricalProjection_traits::create (i, f, this));
43078 
43079  this->electricalProjection_.push_back (::std::move (r));
43080  continue;
43081  }
43082 
43083  // continuousProjection
43084  //
43085  if (n.name () == "continuousProjection" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
43086  {
43087  ::std::unique_ptr< continuousProjection_type > r (
43088  continuousProjection_traits::create (i, f, this));
43089 
43090  this->continuousProjection_.push_back (::std::move (r));
43091  continue;
43092  }
43093 
43094  // explicitInput
43095  //
43096  if (n.name () == "explicitInput" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
43097  {
43098  ::std::unique_ptr< explicitInput_type > r (
43099  explicitInput_traits::create (i, f, this));
43100 
43101  this->explicitInput_.push_back (::std::move (r));
43102  continue;
43103  }
43104 
43105  // inputList
43106  //
43107  if (n.name () == "inputList" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
43108  {
43109  ::std::unique_ptr< inputList_type > r (
43110  inputList_traits::create (i, f, this));
43111 
43112  this->inputList_.push_back (::std::move (r));
43113  continue;
43114  }
43115 
43116  break;
43117  }
43118 
43119  p.reset_attributes ();
43120 
43121  while (p.more_attributes ())
43122  {
43123  const ::xercesc::DOMAttr& i (p.next_attribute ());
43124  const ::xsd::cxx::xml::qualified_name< char > n (
43125  ::xsd::cxx::xml::dom::name< char > (i));
43126 
43127  if (n.name () == "type" && n.namespace_ ().empty ())
43128  {
43129  this->type_.set (type_traits::create (i, f, this));
43130  continue;
43131  }
43132 
43133  if (n.name () == "temperature" && n.namespace_ ().empty ())
43134  {
43135  this->temperature_.set (temperature_traits::create (i, f, this));
43136  continue;
43137  }
43138 
43139  if (n.name () == "neuroLexId" && n.namespace_ ().empty ())
43140  {
43141  this->neuroLexId_.set (neuroLexId_traits::create (i, f, this));
43142  continue;
43143  }
43144  }
43145  }
43146 
43149  ::xml_schema::container* c) const
43150  {
43151  return new class Network (*this, f, c);
43152  }
43153 
43155  operator= (const Network& x)
43156  {
43157  if (this != &x)
43158  {
43159  static_cast< ::neuroml2::Standalone& > (*this) = x;
43160  this->space_ = x.space_;
43161  this->region_ = x.region_;
43162  this->extracellularProperties_ = x.extracellularProperties_;
43163  this->population_ = x.population_;
43164  this->cellSet_ = x.cellSet_;
43165  this->synapticConnection_ = x.synapticConnection_;
43166  this->projection_ = x.projection_;
43167  this->electricalProjection_ = x.electricalProjection_;
43168  this->continuousProjection_ = x.continuousProjection_;
43169  this->explicitInput_ = x.explicitInput_;
43170  this->inputList_ = x.inputList_;
43171  this->type_ = x.type_;
43172  this->temperature_ = x.temperature_;
43173  this->neuroLexId_ = x.neuroLexId_;
43174  }
43175 
43176  return *this;
43177  }
43178 
43180  ~Network ()
43181  {
43182  }
43183 
43184  bool
43185  operator== (const Network& x, const Network& y)
43186  {
43187  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
43188  static_cast< const ::neuroml2::Standalone& > (y)))
43189  return false;
43190 
43191  if (!(x.space () == y.space ()))
43192  return false;
43193 
43194  if (!(x.region () == y.region ()))
43195  return false;
43196 
43198  return false;
43199 
43200  if (!(x.population () == y.population ()))
43201  return false;
43202 
43203  if (!(x.cellSet () == y.cellSet ()))
43204  return false;
43205 
43206  if (!(x.synapticConnection () == y.synapticConnection ()))
43207  return false;
43208 
43209  if (!(x.projection () == y.projection ()))
43210  return false;
43211 
43212  if (!(x.electricalProjection () == y.electricalProjection ()))
43213  return false;
43214 
43215  if (!(x.continuousProjection () == y.continuousProjection ()))
43216  return false;
43217 
43218  if (!(x.explicitInput () == y.explicitInput ()))
43219  return false;
43220 
43221  if (!(x.inputList () == y.inputList ()))
43222  return false;
43223 
43224  if (!(x.type () == y.type ()))
43225  return false;
43226 
43227  if (!(x.temperature () == y.temperature ()))
43228  return false;
43229 
43230  if (!(x.neuroLexId () == y.neuroLexId ()))
43231  return false;
43232 
43233  return true;
43234  }
43235 
43236  bool
43237  operator!= (const Network& x, const Network& y)
43238  {
43239  return !(x == y);
43240  }
43241 
43242  // networkTypes
43243  //
43244 
43246  networkTypes (const ::xercesc::DOMElement& e,
43247  ::xml_schema::flags f,
43248  ::xml_schema::container* c)
43249  : ::xml_schema::string (e, f, c)
43250  {
43251  _xsd_networkTypes_convert ();
43252  }
43253 
43255  networkTypes (const ::xercesc::DOMAttr& a,
43256  ::xml_schema::flags f,
43257  ::xml_schema::container* c)
43258  : ::xml_schema::string (a, f, c)
43259  {
43260  _xsd_networkTypes_convert ();
43261  }
43262 
43265  const ::xercesc::DOMElement* e,
43266  ::xml_schema::flags f,
43267  ::xml_schema::container* c)
43268  : ::xml_schema::string (s, e, f, c)
43269  {
43270  _xsd_networkTypes_convert ();
43271  }
43272 
43275  ::xml_schema::container* c) const
43276  {
43277  return new class networkTypes (*this, f, c);
43278  }
43279 
43280  networkTypes::value networkTypes::
43281  _xsd_networkTypes_convert () const
43282  {
43283  ::xsd::cxx::tree::enum_comparator< char > c (_xsd_networkTypes_literals_);
43284  const value* i (::std::lower_bound (
43285  _xsd_networkTypes_indexes_,
43286  _xsd_networkTypes_indexes_ + 2,
43287  *this,
43288  c));
43289 
43290  if (i == _xsd_networkTypes_indexes_ + 2 || _xsd_networkTypes_literals_[*i] != *this)
43291  {
43292  throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this);
43293  }
43294 
43295  return *i;
43296  }
43297 
43298  const char* const networkTypes::
43299  _xsd_networkTypes_literals_[2] =
43300  {
43301  "network",
43302  "networkWithTemperature"
43303  };
43304 
43305  const networkTypes::value networkTypes::
43306  _xsd_networkTypes_indexes_[2] =
43307  {
43308  ::neuroml2::networkTypes::network,
43309  ::neuroml2::networkTypes::networkWithTemperature
43310  };
43311 
43312  // Space
43313  //
43314 
43316  Space (const id_type& id)
43317  : ::neuroml2::Base (id),
43318  structure_ (this),
43319  basedOn_ (this)
43320  {
43321  }
43322 
43324  Space (const Space& x,
43325  ::xml_schema::flags f,
43326  ::xml_schema::container* c)
43327  : ::neuroml2::Base (x, f, c),
43328  structure_ (x.structure_, f, this),
43329  basedOn_ (x.basedOn_, f, this)
43330  {
43331  }
43332 
43334  Space (const ::xercesc::DOMElement& e,
43335  ::xml_schema::flags f,
43336  ::xml_schema::container* c)
43337  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
43338  structure_ (this),
43339  basedOn_ (this)
43340  {
43341  if ((f & ::xml_schema::flags::base) == 0)
43342  {
43343  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
43344  this->parse (p, f);
43345  }
43346  }
43347 
43348  void Space::
43349  parse (::xsd::cxx::xml::dom::parser< char >& p,
43350  ::xml_schema::flags f)
43351  {
43352  this->::neuroml2::Base::parse (p, f);
43353 
43354  for (; p.more_content (); p.next_content (false))
43355  {
43356  const ::xercesc::DOMElement& i (p.cur_element ());
43357  const ::xsd::cxx::xml::qualified_name< char > n (
43358  ::xsd::cxx::xml::dom::name< char > (i));
43359 
43360  // structure
43361  //
43362  if (n.name () == "structure" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
43363  {
43364  ::std::unique_ptr< structure_type > r (
43365  structure_traits::create (i, f, this));
43366 
43367  if (!this->structure_)
43368  {
43369  this->structure_.set (::std::move (r));
43370  continue;
43371  }
43372  }
43373 
43374  break;
43375  }
43376 
43377  p.reset_attributes ();
43378 
43379  while (p.more_attributes ())
43380  {
43381  const ::xercesc::DOMAttr& i (p.next_attribute ());
43382  const ::xsd::cxx::xml::qualified_name< char > n (
43383  ::xsd::cxx::xml::dom::name< char > (i));
43384 
43385  if (n.name () == "basedOn" && n.namespace_ ().empty ())
43386  {
43387  this->basedOn_.set (basedOn_traits::create (i, f, this));
43388  continue;
43389  }
43390  }
43391  }
43392 
43395  ::xml_schema::container* c) const
43396  {
43397  return new class Space (*this, f, c);
43398  }
43399 
43401  operator= (const Space& x)
43402  {
43403  if (this != &x)
43404  {
43405  static_cast< ::neuroml2::Base& > (*this) = x;
43406  this->structure_ = x.structure_;
43407  this->basedOn_ = x.basedOn_;
43408  }
43409 
43410  return *this;
43411  }
43412 
43414  ~Space ()
43415  {
43416  }
43417 
43418  bool
43419  operator== (const Space& x, const Space& y)
43420  {
43421  if (!(static_cast< const ::neuroml2::Base& > (x) ==
43422  static_cast< const ::neuroml2::Base& > (y)))
43423  return false;
43424 
43425  if (!(x.structure () == y.structure ()))
43426  return false;
43427 
43428  if (!(x.basedOn () == y.basedOn ()))
43429  return false;
43430 
43431  return true;
43432  }
43433 
43434  bool
43435  operator!= (const Space& x, const Space& y)
43436  {
43437  return !(x == y);
43438  }
43439 
43440  // SpaceStructure
43441  //
43442 
43444  SpaceStructure ()
43445  : ::neuroml2::BaseWithoutId (),
43446  xSpacing_ (this),
43447  ySpacing_ (this),
43448  zSpacing_ (this),
43449  xStart_ (xStart_default_value (), this),
43450  yStart_ (yStart_default_value (), this),
43451  zStart_ (zStart_default_value (), this)
43452  {
43453  }
43454 
43457  ::xml_schema::flags f,
43458  ::xml_schema::container* c)
43459  : ::neuroml2::BaseWithoutId (x, f, c),
43460  xSpacing_ (x.xSpacing_, f, this),
43461  ySpacing_ (x.ySpacing_, f, this),
43462  zSpacing_ (x.zSpacing_, f, this),
43463  xStart_ (x.xStart_, f, this),
43464  yStart_ (x.yStart_, f, this),
43465  zStart_ (x.zStart_, f, this)
43466  {
43467  }
43468 
43470  SpaceStructure (const ::xercesc::DOMElement& e,
43471  ::xml_schema::flags f,
43472  ::xml_schema::container* c)
43473  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
43474  xSpacing_ (this),
43475  ySpacing_ (this),
43476  zSpacing_ (this),
43477  xStart_ (this),
43478  yStart_ (this),
43479  zStart_ (this)
43480  {
43481  if ((f & ::xml_schema::flags::base) == 0)
43482  {
43483  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
43484  this->parse (p, f);
43485  }
43486  }
43487 
43488  void SpaceStructure::
43489  parse (::xsd::cxx::xml::dom::parser< char >& p,
43490  ::xml_schema::flags f)
43491  {
43492  while (p.more_attributes ())
43493  {
43494  const ::xercesc::DOMAttr& i (p.next_attribute ());
43495  const ::xsd::cxx::xml::qualified_name< char > n (
43496  ::xsd::cxx::xml::dom::name< char > (i));
43497 
43498  if (n.name () == "xSpacing" && n.namespace_ ().empty ())
43499  {
43500  this->xSpacing_.set (xSpacing_traits::create (i, f, this));
43501  continue;
43502  }
43503 
43504  if (n.name () == "ySpacing" && n.namespace_ ().empty ())
43505  {
43506  this->ySpacing_.set (ySpacing_traits::create (i, f, this));
43507  continue;
43508  }
43509 
43510  if (n.name () == "zSpacing" && n.namespace_ ().empty ())
43511  {
43512  this->zSpacing_.set (zSpacing_traits::create (i, f, this));
43513  continue;
43514  }
43515 
43516  if (n.name () == "xStart" && n.namespace_ ().empty ())
43517  {
43518  this->xStart_.set (xStart_traits::create (i, f, this));
43519  continue;
43520  }
43521 
43522  if (n.name () == "yStart" && n.namespace_ ().empty ())
43523  {
43524  this->yStart_.set (yStart_traits::create (i, f, this));
43525  continue;
43526  }
43527 
43528  if (n.name () == "zStart" && n.namespace_ ().empty ())
43529  {
43530  this->zStart_.set (zStart_traits::create (i, f, this));
43531  continue;
43532  }
43533  }
43534 
43535  if (!xStart_.present ())
43536  {
43537  this->xStart_.set (xStart_default_value ());
43538  }
43539 
43540  if (!yStart_.present ())
43541  {
43542  this->yStart_.set (yStart_default_value ());
43543  }
43544 
43545  if (!zStart_.present ())
43546  {
43547  this->zStart_.set (zStart_default_value ());
43548  }
43549  }
43550 
43553  ::xml_schema::container* c) const
43554  {
43555  return new class SpaceStructure (*this, f, c);
43556  }
43557 
43559  operator= (const SpaceStructure& x)
43560  {
43561  if (this != &x)
43562  {
43563  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
43564  this->xSpacing_ = x.xSpacing_;
43565  this->ySpacing_ = x.ySpacing_;
43566  this->zSpacing_ = x.zSpacing_;
43567  this->xStart_ = x.xStart_;
43568  this->yStart_ = x.yStart_;
43569  this->zStart_ = x.zStart_;
43570  }
43571 
43572  return *this;
43573  }
43574 
43577  {
43578  }
43579 
43580  bool
43581  operator== (const SpaceStructure& x, const SpaceStructure& y)
43582  {
43583  if (!(x.xSpacing () == y.xSpacing ()))
43584  return false;
43585 
43586  if (!(x.ySpacing () == y.ySpacing ()))
43587  return false;
43588 
43589  if (!(x.zSpacing () == y.zSpacing ()))
43590  return false;
43591 
43592  if (!(x.xStart () == y.xStart ()))
43593  return false;
43594 
43595  if (!(x.yStart () == y.yStart ()))
43596  return false;
43597 
43598  if (!(x.zStart () == y.zStart ()))
43599  return false;
43600 
43601  return true;
43602  }
43603 
43604  bool
43605  operator!= (const SpaceStructure& x, const SpaceStructure& y)
43606  {
43607  return !(x == y);
43608  }
43609 
43610  // allowedSpaces
43611  //
43612 
43614  allowedSpaces (const ::xercesc::DOMElement& e,
43615  ::xml_schema::flags f,
43616  ::xml_schema::container* c)
43617  : ::xml_schema::string (e, f, c)
43618  {
43619  _xsd_allowedSpaces_convert ();
43620  }
43621 
43623  allowedSpaces (const ::xercesc::DOMAttr& a,
43624  ::xml_schema::flags f,
43625  ::xml_schema::container* c)
43626  : ::xml_schema::string (a, f, c)
43627  {
43628  _xsd_allowedSpaces_convert ();
43629  }
43630 
43633  const ::xercesc::DOMElement* e,
43634  ::xml_schema::flags f,
43635  ::xml_schema::container* c)
43636  : ::xml_schema::string (s, e, f, c)
43637  {
43638  _xsd_allowedSpaces_convert ();
43639  }
43640 
43643  ::xml_schema::container* c) const
43644  {
43645  return new class allowedSpaces (*this, f, c);
43646  }
43647 
43648  allowedSpaces::value allowedSpaces::
43649  _xsd_allowedSpaces_convert () const
43650  {
43651  ::xsd::cxx::tree::enum_comparator< char > c (_xsd_allowedSpaces_literals_);
43652  const value* i (::std::lower_bound (
43653  _xsd_allowedSpaces_indexes_,
43654  _xsd_allowedSpaces_indexes_ + 6,
43655  *this,
43656  c));
43657 
43658  if (i == _xsd_allowedSpaces_indexes_ + 6 || _xsd_allowedSpaces_literals_[*i] != *this)
43659  {
43660  throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this);
43661  }
43662 
43663  return *i;
43664  }
43665 
43666  const char* const allowedSpaces::
43667  _xsd_allowedSpaces_literals_[6] =
43668  {
43669  "Euclidean_1D",
43670  "Euclidean_2D",
43671  "Euclidean_3D",
43672  "Grid_1D",
43673  "Grid_2D",
43674  "Grid_3D"
43675  };
43676 
43677  const allowedSpaces::value allowedSpaces::
43678  _xsd_allowedSpaces_indexes_[6] =
43679  {
43680  ::neuroml2::allowedSpaces::Euclidean_1D,
43681  ::neuroml2::allowedSpaces::Euclidean_2D,
43682  ::neuroml2::allowedSpaces::Euclidean_3D,
43683  ::neuroml2::allowedSpaces::Grid_1D,
43684  ::neuroml2::allowedSpaces::Grid_2D,
43685  ::neuroml2::allowedSpaces::Grid_3D
43686  };
43687 
43688  // Region
43689  //
43690 
43692  Region (const id_type& id)
43693  : ::neuroml2::Base (id),
43694  space_ (this)
43695  {
43696  }
43697 
43699  Region (const Region& x,
43700  ::xml_schema::flags f,
43701  ::xml_schema::container* c)
43702  : ::neuroml2::Base (x, f, c),
43703  space_ (x.space_, f, this)
43704  {
43705  }
43706 
43708  Region (const ::xercesc::DOMElement& e,
43709  ::xml_schema::flags f,
43710  ::xml_schema::container* c)
43711  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
43712  space_ (this)
43713  {
43714  if ((f & ::xml_schema::flags::base) == 0)
43715  {
43716  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
43717  this->parse (p, f);
43718  }
43719  }
43720 
43721  void Region::
43722  parse (::xsd::cxx::xml::dom::parser< char >& p,
43723  ::xml_schema::flags f)
43724  {
43725  this->::neuroml2::Base::parse (p, f);
43726 
43727  for (; p.more_content (); p.next_content (false))
43728  {
43729  const ::xercesc::DOMElement& i (p.cur_element ());
43730  const ::xsd::cxx::xml::qualified_name< char > n (
43731  ::xsd::cxx::xml::dom::name< char > (i));
43732 
43733  break;
43734  }
43735 
43736  p.reset_attributes ();
43737 
43738  while (p.more_attributes ())
43739  {
43740  const ::xercesc::DOMAttr& i (p.next_attribute ());
43741  const ::xsd::cxx::xml::qualified_name< char > n (
43742  ::xsd::cxx::xml::dom::name< char > (i));
43743 
43744  if (n.name () == "space" && n.namespace_ ().empty ())
43745  {
43746  this->space_.set (space_traits::create (i, f, this));
43747  continue;
43748  }
43749  }
43750  }
43751 
43754  ::xml_schema::container* c) const
43755  {
43756  return new class Region (*this, f, c);
43757  }
43758 
43760  operator= (const Region& x)
43761  {
43762  if (this != &x)
43763  {
43764  static_cast< ::neuroml2::Base& > (*this) = x;
43765  this->space_ = x.space_;
43766  }
43767 
43768  return *this;
43769  }
43770 
43772  ~Region ()
43773  {
43774  }
43775 
43776  bool
43777  operator== (const Region& x, const Region& y)
43778  {
43779  if (!(static_cast< const ::neuroml2::Base& > (x) ==
43780  static_cast< const ::neuroml2::Base& > (y)))
43781  return false;
43782 
43783  if (!(x.space () == y.space ()))
43784  return false;
43785 
43786  return true;
43787  }
43788 
43789  bool
43790  operator!= (const Region& x, const Region& y)
43791  {
43792  return !(x == y);
43793  }
43794 
43795  // Population
43796  //
43797 
43799  Population (const id_type& id,
43800  const component_type& component)
43801  : ::neuroml2::Standalone (id),
43802  layout_ (this),
43803  instance_ (this),
43804  component_ (component, this),
43805  size_ (this),
43806  type_ (this),
43807  extracellularProperties_ (this),
43808  neuroLexId_ (this)
43809  {
43810  }
43811 
43813  Population (const Population& x,
43814  ::xml_schema::flags f,
43815  ::xml_schema::container* c)
43816  : ::neuroml2::Standalone (x, f, c),
43817  layout_ (x.layout_, f, this),
43818  instance_ (x.instance_, f, this),
43819  component_ (x.component_, f, this),
43820  size_ (x.size_, f, this),
43821  type_ (x.type_, f, this),
43822  extracellularProperties_ (x.extracellularProperties_, f, this),
43823  neuroLexId_ (x.neuroLexId_, f, this)
43824  {
43825  }
43826 
43828  Population (const ::xercesc::DOMElement& e,
43829  ::xml_schema::flags f,
43830  ::xml_schema::container* c)
43831  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
43832  layout_ (this),
43833  instance_ (this),
43834  component_ (this),
43835  size_ (this),
43836  type_ (this),
43837  extracellularProperties_ (this),
43838  neuroLexId_ (this)
43839  {
43840  if ((f & ::xml_schema::flags::base) == 0)
43841  {
43842  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
43843  this->parse (p, f);
43844  }
43845  }
43846 
43847  void Population::
43848  parse (::xsd::cxx::xml::dom::parser< char >& p,
43849  ::xml_schema::flags f)
43850  {
43851  this->::neuroml2::Standalone::parse (p, f);
43852 
43853  for (; p.more_content (); p.next_content (false))
43854  {
43855  const ::xercesc::DOMElement& i (p.cur_element ());
43856  const ::xsd::cxx::xml::qualified_name< char > n (
43857  ::xsd::cxx::xml::dom::name< char > (i));
43858 
43859  // layout
43860  //
43861  if (n.name () == "layout" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
43862  {
43863  ::std::unique_ptr< layout_type > r (
43864  layout_traits::create (i, f, this));
43865 
43866  if (!this->layout_)
43867  {
43868  this->layout_.set (::std::move (r));
43869  continue;
43870  }
43871  }
43872 
43873  // instance
43874  //
43875  if (n.name () == "instance" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
43876  {
43877  ::std::unique_ptr< instance_type > r (
43878  instance_traits::create (i, f, this));
43879 
43880  this->instance_.push_back (::std::move (r));
43881  continue;
43882  }
43883 
43884  break;
43885  }
43886 
43887  p.reset_attributes ();
43888 
43889  while (p.more_attributes ())
43890  {
43891  const ::xercesc::DOMAttr& i (p.next_attribute ());
43892  const ::xsd::cxx::xml::qualified_name< char > n (
43893  ::xsd::cxx::xml::dom::name< char > (i));
43894 
43895  if (n.name () == "component" && n.namespace_ ().empty ())
43896  {
43897  this->component_.set (component_traits::create (i, f, this));
43898  continue;
43899  }
43900 
43901  if (n.name () == "size" && n.namespace_ ().empty ())
43902  {
43903  this->size_.set (size_traits::create (i, f, this));
43904  continue;
43905  }
43906 
43907  if (n.name () == "type" && n.namespace_ ().empty ())
43908  {
43909  this->type_.set (type_traits::create (i, f, this));
43910  continue;
43911  }
43912 
43913  if (n.name () == "extracellularProperties" && n.namespace_ ().empty ())
43914  {
43915  this->extracellularProperties_.set (extracellularProperties_traits::create (i, f, this));
43916  continue;
43917  }
43918 
43919  if (n.name () == "neuroLexId" && n.namespace_ ().empty ())
43920  {
43921  this->neuroLexId_.set (neuroLexId_traits::create (i, f, this));
43922  continue;
43923  }
43924  }
43925 
43926  if (!component_.present ())
43927  {
43928  throw ::xsd::cxx::tree::expected_attribute< char > (
43929  "component",
43930  "");
43931  }
43932  }
43933 
43936  ::xml_schema::container* c) const
43937  {
43938  return new class Population (*this, f, c);
43939  }
43940 
43942  operator= (const Population& x)
43943  {
43944  if (this != &x)
43945  {
43946  static_cast< ::neuroml2::Standalone& > (*this) = x;
43947  this->layout_ = x.layout_;
43948  this->instance_ = x.instance_;
43949  this->component_ = x.component_;
43950  this->size_ = x.size_;
43951  this->type_ = x.type_;
43952  this->extracellularProperties_ = x.extracellularProperties_;
43953  this->neuroLexId_ = x.neuroLexId_;
43954  }
43955 
43956  return *this;
43957  }
43958 
43960  ~Population ()
43961  {
43962  }
43963 
43964  bool
43965  operator== (const Population& x, const Population& y)
43966  {
43967  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
43968  static_cast< const ::neuroml2::Standalone& > (y)))
43969  return false;
43970 
43971  if (!(x.layout () == y.layout ()))
43972  return false;
43973 
43974  if (!(x.instance () == y.instance ()))
43975  return false;
43976 
43977  if (!(x.component () == y.component ()))
43978  return false;
43979 
43980  if (!(x.size () == y.size ()))
43981  return false;
43982 
43983  if (!(x.type () == y.type ()))
43984  return false;
43985 
43987  return false;
43988 
43989  if (!(x.neuroLexId () == y.neuroLexId ()))
43990  return false;
43991 
43992  return true;
43993  }
43994 
43995  bool
43996  operator!= (const Population& x, const Population& y)
43997  {
43998  return !(x == y);
43999  }
44000 
44001  // populationTypes
44002  //
44003 
44005  populationTypes (const ::xercesc::DOMElement& e,
44006  ::xml_schema::flags f,
44007  ::xml_schema::container* c)
44008  : ::xml_schema::string (e, f, c)
44009  {
44010  _xsd_populationTypes_convert ();
44011  }
44012 
44014  populationTypes (const ::xercesc::DOMAttr& a,
44015  ::xml_schema::flags f,
44016  ::xml_schema::container* c)
44017  : ::xml_schema::string (a, f, c)
44018  {
44019  _xsd_populationTypes_convert ();
44020  }
44021 
44024  const ::xercesc::DOMElement* e,
44025  ::xml_schema::flags f,
44026  ::xml_schema::container* c)
44027  : ::xml_schema::string (s, e, f, c)
44028  {
44029  _xsd_populationTypes_convert ();
44030  }
44031 
44034  ::xml_schema::container* c) const
44035  {
44036  return new class populationTypes (*this, f, c);
44037  }
44038 
44039  populationTypes::value populationTypes::
44040  _xsd_populationTypes_convert () const
44041  {
44042  ::xsd::cxx::tree::enum_comparator< char > c (_xsd_populationTypes_literals_);
44043  const value* i (::std::lower_bound (
44044  _xsd_populationTypes_indexes_,
44045  _xsd_populationTypes_indexes_ + 2,
44046  *this,
44047  c));
44048 
44049  if (i == _xsd_populationTypes_indexes_ + 2 || _xsd_populationTypes_literals_[*i] != *this)
44050  {
44051  throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this);
44052  }
44053 
44054  return *i;
44055  }
44056 
44057  const char* const populationTypes::
44058  _xsd_populationTypes_literals_[2] =
44059  {
44060  "population",
44061  "populationList"
44062  };
44063 
44064  const populationTypes::value populationTypes::
44065  _xsd_populationTypes_indexes_[2] =
44066  {
44067  ::neuroml2::populationTypes::population,
44068  ::neuroml2::populationTypes::populationList
44069  };
44070 
44071  // Layout
44072  //
44073 
44075  Layout ()
44076  : ::neuroml2::BaseWithoutId (),
44077  random_ (this),
44078  grid_ (this),
44079  unstructured_ (this),
44080  space_ (this)
44081  {
44082  }
44083 
44085  Layout (const Layout& x,
44086  ::xml_schema::flags f,
44087  ::xml_schema::container* c)
44088  : ::neuroml2::BaseWithoutId (x, f, c),
44089  random_ (x.random_, f, this),
44090  grid_ (x.grid_, f, this),
44091  unstructured_ (x.unstructured_, f, this),
44092  space_ (x.space_, f, this)
44093  {
44094  }
44095 
44097  Layout (const ::xercesc::DOMElement& e,
44098  ::xml_schema::flags f,
44099  ::xml_schema::container* c)
44100  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
44101  random_ (this),
44102  grid_ (this),
44103  unstructured_ (this),
44104  space_ (this)
44105  {
44106  if ((f & ::xml_schema::flags::base) == 0)
44107  {
44108  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
44109  this->parse (p, f);
44110  }
44111  }
44112 
44113  void Layout::
44114  parse (::xsd::cxx::xml::dom::parser< char >& p,
44115  ::xml_schema::flags f)
44116  {
44117  for (; p.more_content (); p.next_content (false))
44118  {
44119  const ::xercesc::DOMElement& i (p.cur_element ());
44120  const ::xsd::cxx::xml::qualified_name< char > n (
44121  ::xsd::cxx::xml::dom::name< char > (i));
44122 
44123  // random
44124  //
44125  if (n.name () == "random" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
44126  {
44127  ::std::unique_ptr< random_type > r (
44128  random_traits::create (i, f, this));
44129 
44130  if (!this->random_)
44131  {
44132  this->random_.set (::std::move (r));
44133  continue;
44134  }
44135  }
44136 
44137  // grid
44138  //
44139  if (n.name () == "grid" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
44140  {
44141  ::std::unique_ptr< grid_type > r (
44142  grid_traits::create (i, f, this));
44143 
44144  if (!this->grid_)
44145  {
44146  this->grid_.set (::std::move (r));
44147  continue;
44148  }
44149  }
44150 
44151  // unstructured
44152  //
44153  if (n.name () == "unstructured" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
44154  {
44155  ::std::unique_ptr< unstructured_type > r (
44156  unstructured_traits::create (i, f, this));
44157 
44158  if (!this->unstructured_)
44159  {
44160  this->unstructured_.set (::std::move (r));
44161  continue;
44162  }
44163  }
44164 
44165  break;
44166  }
44167 
44168  while (p.more_attributes ())
44169  {
44170  const ::xercesc::DOMAttr& i (p.next_attribute ());
44171  const ::xsd::cxx::xml::qualified_name< char > n (
44172  ::xsd::cxx::xml::dom::name< char > (i));
44173 
44174  if (n.name () == "space" && n.namespace_ ().empty ())
44175  {
44176  this->space_.set (space_traits::create (i, f, this));
44177  continue;
44178  }
44179  }
44180  }
44181 
44184  ::xml_schema::container* c) const
44185  {
44186  return new class Layout (*this, f, c);
44187  }
44188 
44190  operator= (const Layout& x)
44191  {
44192  if (this != &x)
44193  {
44194  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
44195  this->random_ = x.random_;
44196  this->grid_ = x.grid_;
44197  this->unstructured_ = x.unstructured_;
44198  this->space_ = x.space_;
44199  }
44200 
44201  return *this;
44202  }
44203 
44205  ~Layout ()
44206  {
44207  }
44208 
44209  bool
44210  operator== (const Layout& x, const Layout& y)
44211  {
44212  if (!(x.random () == y.random ()))
44213  return false;
44214 
44215  if (!(x.grid () == y.grid ()))
44216  return false;
44217 
44218  if (!(x.unstructured () == y.unstructured ()))
44219  return false;
44220 
44221  if (!(x.space () == y.space ()))
44222  return false;
44223 
44224  return true;
44225  }
44226 
44227  bool
44228  operator!= (const Layout& x, const Layout& y)
44229  {
44230  return !(x == y);
44231  }
44232 
44233  // UnstructuredLayout
44234  //
44235 
44238  : ::neuroml2::BaseWithoutId (),
44239  number_ (this)
44240  {
44241  }
44242 
44245  ::xml_schema::flags f,
44246  ::xml_schema::container* c)
44247  : ::neuroml2::BaseWithoutId (x, f, c),
44248  number_ (x.number_, f, this)
44249  {
44250  }
44251 
44253  UnstructuredLayout (const ::xercesc::DOMElement& e,
44254  ::xml_schema::flags f,
44255  ::xml_schema::container* c)
44256  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
44257  number_ (this)
44258  {
44259  if ((f & ::xml_schema::flags::base) == 0)
44260  {
44261  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
44262  this->parse (p, f);
44263  }
44264  }
44265 
44266  void UnstructuredLayout::
44267  parse (::xsd::cxx::xml::dom::parser< char >& p,
44268  ::xml_schema::flags f)
44269  {
44270  while (p.more_attributes ())
44271  {
44272  const ::xercesc::DOMAttr& i (p.next_attribute ());
44273  const ::xsd::cxx::xml::qualified_name< char > n (
44274  ::xsd::cxx::xml::dom::name< char > (i));
44275 
44276  if (n.name () == "number" && n.namespace_ ().empty ())
44277  {
44278  this->number_.set (number_traits::create (i, f, this));
44279  continue;
44280  }
44281  }
44282  }
44283 
44286  ::xml_schema::container* c) const
44287  {
44288  return new class UnstructuredLayout (*this, f, c);
44289  }
44290 
44293  {
44294  if (this != &x)
44295  {
44296  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
44297  this->number_ = x.number_;
44298  }
44299 
44300  return *this;
44301  }
44302 
44305  {
44306  }
44307 
44308  bool
44309  operator== (const UnstructuredLayout& x, const UnstructuredLayout& y)
44310  {
44311  if (!(x.number () == y.number ()))
44312  return false;
44313 
44314  return true;
44315  }
44316 
44317  bool
44318  operator!= (const UnstructuredLayout& x, const UnstructuredLayout& y)
44319  {
44320  return !(x == y);
44321  }
44322 
44323  // RandomLayout
44324  //
44325 
44327  RandomLayout ()
44328  : ::neuroml2::BaseWithoutId (),
44329  number_ (this),
44330  region_ (this)
44331  {
44332  }
44333 
44335  RandomLayout (const RandomLayout& x,
44336  ::xml_schema::flags f,
44337  ::xml_schema::container* c)
44338  : ::neuroml2::BaseWithoutId (x, f, c),
44339  number_ (x.number_, f, this),
44340  region_ (x.region_, f, this)
44341  {
44342  }
44343 
44345  RandomLayout (const ::xercesc::DOMElement& e,
44346  ::xml_schema::flags f,
44347  ::xml_schema::container* c)
44348  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
44349  number_ (this),
44350  region_ (this)
44351  {
44352  if ((f & ::xml_schema::flags::base) == 0)
44353  {
44354  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
44355  this->parse (p, f);
44356  }
44357  }
44358 
44359  void RandomLayout::
44360  parse (::xsd::cxx::xml::dom::parser< char >& p,
44361  ::xml_schema::flags f)
44362  {
44363  while (p.more_attributes ())
44364  {
44365  const ::xercesc::DOMAttr& i (p.next_attribute ());
44366  const ::xsd::cxx::xml::qualified_name< char > n (
44367  ::xsd::cxx::xml::dom::name< char > (i));
44368 
44369  if (n.name () == "number" && n.namespace_ ().empty ())
44370  {
44371  this->number_.set (number_traits::create (i, f, this));
44372  continue;
44373  }
44374 
44375  if (n.name () == "region" && n.namespace_ ().empty ())
44376  {
44377  this->region_.set (region_traits::create (i, f, this));
44378  continue;
44379  }
44380  }
44381  }
44382 
44385  ::xml_schema::container* c) const
44386  {
44387  return new class RandomLayout (*this, f, c);
44388  }
44389 
44391  operator= (const RandomLayout& x)
44392  {
44393  if (this != &x)
44394  {
44395  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
44396  this->number_ = x.number_;
44397  this->region_ = x.region_;
44398  }
44399 
44400  return *this;
44401  }
44402 
44404  ~RandomLayout ()
44405  {
44406  }
44407 
44408  bool
44409  operator== (const RandomLayout& x, const RandomLayout& y)
44410  {
44411  if (!(x.number () == y.number ()))
44412  return false;
44413 
44414  if (!(x.region () == y.region ()))
44415  return false;
44416 
44417  return true;
44418  }
44419 
44420  bool
44421  operator!= (const RandomLayout& x, const RandomLayout& y)
44422  {
44423  return !(x == y);
44424  }
44425 
44426  // GridLayout
44427  //
44428 
44430  GridLayout ()
44431  : ::neuroml2::BaseWithoutId (),
44432  xSize_ (this),
44433  ySize_ (this),
44434  zSize_ (this)
44435  {
44436  }
44437 
44439  GridLayout (const GridLayout& x,
44440  ::xml_schema::flags f,
44441  ::xml_schema::container* c)
44442  : ::neuroml2::BaseWithoutId (x, f, c),
44443  xSize_ (x.xSize_, f, this),
44444  ySize_ (x.ySize_, f, this),
44445  zSize_ (x.zSize_, f, this)
44446  {
44447  }
44448 
44450  GridLayout (const ::xercesc::DOMElement& e,
44451  ::xml_schema::flags f,
44452  ::xml_schema::container* c)
44453  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
44454  xSize_ (this),
44455  ySize_ (this),
44456  zSize_ (this)
44457  {
44458  if ((f & ::xml_schema::flags::base) == 0)
44459  {
44460  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
44461  this->parse (p, f);
44462  }
44463  }
44464 
44465  void GridLayout::
44466  parse (::xsd::cxx::xml::dom::parser< char >& p,
44467  ::xml_schema::flags f)
44468  {
44469  while (p.more_attributes ())
44470  {
44471  const ::xercesc::DOMAttr& i (p.next_attribute ());
44472  const ::xsd::cxx::xml::qualified_name< char > n (
44473  ::xsd::cxx::xml::dom::name< char > (i));
44474 
44475  if (n.name () == "xSize" && n.namespace_ ().empty ())
44476  {
44477  this->xSize_.set (xSize_traits::create (i, f, this));
44478  continue;
44479  }
44480 
44481  if (n.name () == "ySize" && n.namespace_ ().empty ())
44482  {
44483  this->ySize_.set (ySize_traits::create (i, f, this));
44484  continue;
44485  }
44486 
44487  if (n.name () == "zSize" && n.namespace_ ().empty ())
44488  {
44489  this->zSize_.set (zSize_traits::create (i, f, this));
44490  continue;
44491  }
44492  }
44493  }
44494 
44497  ::xml_schema::container* c) const
44498  {
44499  return new class GridLayout (*this, f, c);
44500  }
44501 
44503  operator= (const GridLayout& x)
44504  {
44505  if (this != &x)
44506  {
44507  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
44508  this->xSize_ = x.xSize_;
44509  this->ySize_ = x.ySize_;
44510  this->zSize_ = x.zSize_;
44511  }
44512 
44513  return *this;
44514  }
44515 
44517  ~GridLayout ()
44518  {
44519  }
44520 
44521  bool
44522  operator== (const GridLayout& x, const GridLayout& y)
44523  {
44524  if (!(x.xSize () == y.xSize ()))
44525  return false;
44526 
44527  if (!(x.ySize () == y.ySize ()))
44528  return false;
44529 
44530  if (!(x.zSize () == y.zSize ()))
44531  return false;
44532 
44533  return true;
44534  }
44535 
44536  bool
44537  operator!= (const GridLayout& x, const GridLayout& y)
44538  {
44539  return !(x == y);
44540  }
44541 
44542  // Instance
44543  //
44544 
44546  Instance (const location_type& location)
44547  : ::neuroml2::BaseWithoutId (),
44548  location_ (location, this),
44549  id_ (this),
44550  i_ (this),
44551  j_ (this),
44552  k_ (this)
44553  {
44554  }
44555 
44557  Instance (::std::unique_ptr< location_type > location)
44558  : ::neuroml2::BaseWithoutId (),
44559  location_ (std::move (location), this),
44560  id_ (this),
44561  i_ (this),
44562  j_ (this),
44563  k_ (this)
44564  {
44565  }
44566 
44568  Instance (const Instance& x,
44569  ::xml_schema::flags f,
44570  ::xml_schema::container* c)
44571  : ::neuroml2::BaseWithoutId (x, f, c),
44572  location_ (x.location_, f, this),
44573  id_ (x.id_, f, this),
44574  i_ (x.i_, f, this),
44575  j_ (x.j_, f, this),
44576  k_ (x.k_, f, this)
44577  {
44578  }
44579 
44581  Instance (const ::xercesc::DOMElement& e,
44582  ::xml_schema::flags f,
44583  ::xml_schema::container* c)
44584  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
44585  location_ (this),
44586  id_ (this),
44587  i_ (this),
44588  j_ (this),
44589  k_ (this)
44590  {
44591  if ((f & ::xml_schema::flags::base) == 0)
44592  {
44593  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
44594  this->parse (p, f);
44595  }
44596  }
44597 
44598  void Instance::
44599  parse (::xsd::cxx::xml::dom::parser< char >& p,
44600  ::xml_schema::flags f)
44601  {
44602  for (; p.more_content (); p.next_content (false))
44603  {
44604  const ::xercesc::DOMElement& i (p.cur_element ());
44605  const ::xsd::cxx::xml::qualified_name< char > n (
44606  ::xsd::cxx::xml::dom::name< char > (i));
44607 
44608  // location
44609  //
44610  if (n.name () == "location" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
44611  {
44612  ::std::unique_ptr< location_type > r (
44613  location_traits::create (i, f, this));
44614 
44615  if (!location_.present ())
44616  {
44617  this->location_.set (::std::move (r));
44618  continue;
44619  }
44620  }
44621 
44622  break;
44623  }
44624 
44625  if (!location_.present ())
44626  {
44627  throw ::xsd::cxx::tree::expected_element< char > (
44628  "location",
44629  "http://www.neuroml.org/schema/neuroml2");
44630  }
44631 
44632  while (p.more_attributes ())
44633  {
44634  const ::xercesc::DOMAttr& i (p.next_attribute ());
44635  const ::xsd::cxx::xml::qualified_name< char > n (
44636  ::xsd::cxx::xml::dom::name< char > (i));
44637 
44638  if (n.name () == "id" && n.namespace_ ().empty ())
44639  {
44640  this->id_.set (id_traits::create (i, f, this));
44641  continue;
44642  }
44643 
44644  if (n.name () == "i" && n.namespace_ ().empty ())
44645  {
44646  this->i_.set (i_traits::create (i, f, this));
44647  continue;
44648  }
44649 
44650  if (n.name () == "j" && n.namespace_ ().empty ())
44651  {
44652  this->j_.set (j_traits::create (i, f, this));
44653  continue;
44654  }
44655 
44656  if (n.name () == "k" && n.namespace_ ().empty ())
44657  {
44658  this->k_.set (k_traits::create (i, f, this));
44659  continue;
44660  }
44661  }
44662  }
44663 
44666  ::xml_schema::container* c) const
44667  {
44668  return new class Instance (*this, f, c);
44669  }
44670 
44672  operator= (const Instance& x)
44673  {
44674  if (this != &x)
44675  {
44676  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
44677  this->location_ = x.location_;
44678  this->id_ = x.id_;
44679  this->i_ = x.i_;
44680  this->j_ = x.j_;
44681  this->k_ = x.k_;
44682  }
44683 
44684  return *this;
44685  }
44686 
44688  ~Instance ()
44689  {
44690  }
44691 
44692  bool
44693  operator== (const Instance& x, const Instance& y)
44694  {
44695  if (!(x.location () == y.location ()))
44696  return false;
44697 
44698  if (!(x.id () == y.id ()))
44699  return false;
44700 
44701  if (!(x.i () == y.i ()))
44702  return false;
44703 
44704  if (!(x.j () == y.j ()))
44705  return false;
44706 
44707  if (!(x.k () == y.k ()))
44708  return false;
44709 
44710  return true;
44711  }
44712 
44713  bool
44714  operator!= (const Instance& x, const Instance& y)
44715  {
44716  return !(x == y);
44717  }
44718 
44719  // Location
44720  //
44721 
44723  Location (const x_type& x,
44724  const y_type& y,
44725  const z_type& z)
44726  : ::neuroml2::BaseWithoutId (),
44727  x_ (x, this),
44728  y_ (y, this),
44729  z_ (z, this)
44730  {
44731  }
44732 
44734  Location (const Location& x,
44735  ::xml_schema::flags f,
44736  ::xml_schema::container* c)
44737  : ::neuroml2::BaseWithoutId (x, f, c),
44738  x_ (x.x_, f, this),
44739  y_ (x.y_, f, this),
44740  z_ (x.z_, f, this)
44741  {
44742  }
44743 
44745  Location (const ::xercesc::DOMElement& e,
44746  ::xml_schema::flags f,
44747  ::xml_schema::container* c)
44748  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
44749  x_ (this),
44750  y_ (this),
44751  z_ (this)
44752  {
44753  if ((f & ::xml_schema::flags::base) == 0)
44754  {
44755  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
44756  this->parse (p, f);
44757  }
44758  }
44759 
44760  void Location::
44761  parse (::xsd::cxx::xml::dom::parser< char >& p,
44762  ::xml_schema::flags f)
44763  {
44764  while (p.more_attributes ())
44765  {
44766  const ::xercesc::DOMAttr& i (p.next_attribute ());
44767  const ::xsd::cxx::xml::qualified_name< char > n (
44768  ::xsd::cxx::xml::dom::name< char > (i));
44769 
44770  if (n.name () == "x" && n.namespace_ ().empty ())
44771  {
44772  this->x_.set (x_traits::create (i, f, this));
44773  continue;
44774  }
44775 
44776  if (n.name () == "y" && n.namespace_ ().empty ())
44777  {
44778  this->y_.set (y_traits::create (i, f, this));
44779  continue;
44780  }
44781 
44782  if (n.name () == "z" && n.namespace_ ().empty ())
44783  {
44784  this->z_.set (z_traits::create (i, f, this));
44785  continue;
44786  }
44787  }
44788 
44789  if (!x_.present ())
44790  {
44791  throw ::xsd::cxx::tree::expected_attribute< char > (
44792  "x",
44793  "");
44794  }
44795 
44796  if (!y_.present ())
44797  {
44798  throw ::xsd::cxx::tree::expected_attribute< char > (
44799  "y",
44800  "");
44801  }
44802 
44803  if (!z_.present ())
44804  {
44805  throw ::xsd::cxx::tree::expected_attribute< char > (
44806  "z",
44807  "");
44808  }
44809  }
44810 
44813  ::xml_schema::container* c) const
44814  {
44815  return new class Location (*this, f, c);
44816  }
44817 
44819  operator= (const Location& x)
44820  {
44821  if (this != &x)
44822  {
44823  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
44824  this->x_ = x.x_;
44825  this->y_ = x.y_;
44826  this->z_ = x.z_;
44827  }
44828 
44829  return *this;
44830  }
44831 
44833  ~Location ()
44834  {
44835  }
44836 
44837  bool
44838  operator== (const Location& x, const Location& y)
44839  {
44840  if (!(x.x () == y.x ()))
44841  return false;
44842 
44843  if (!(x.y () == y.y ()))
44844  return false;
44845 
44846  if (!(x.z () == y.z ()))
44847  return false;
44848 
44849  return true;
44850  }
44851 
44852  bool
44853  operator!= (const Location& x, const Location& y)
44854  {
44855  return !(x == y);
44856  }
44857 
44858  // CellSet
44859  //
44860 
44862  CellSet (const id_type& id,
44863  const select_type& select)
44864  : ::neuroml2::Base (id),
44865  select_ (select, this)
44866  {
44867  }
44868 
44870  CellSet (const CellSet& x,
44871  ::xml_schema::flags f,
44872  ::xml_schema::container* c)
44873  : ::neuroml2::Base (x, f, c),
44874  select_ (x.select_, f, this)
44875  {
44876  }
44877 
44879  CellSet (const ::xercesc::DOMElement& e,
44880  ::xml_schema::flags f,
44881  ::xml_schema::container* c)
44882  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
44883  select_ (this)
44884  {
44885  if ((f & ::xml_schema::flags::base) == 0)
44886  {
44887  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
44888  this->parse (p, f);
44889  }
44890  }
44891 
44892  void CellSet::
44893  parse (::xsd::cxx::xml::dom::parser< char >& p,
44894  ::xml_schema::flags f)
44895  {
44896  this->::neuroml2::Base::parse (p, f);
44897 
44898  for (; p.more_content (); p.next_content (false))
44899  {
44900  const ::xercesc::DOMElement& i (p.cur_element ());
44901  const ::xsd::cxx::xml::qualified_name< char > n (
44902  ::xsd::cxx::xml::dom::name< char > (i));
44903 
44904  break;
44905  }
44906 
44907  p.reset_attributes ();
44908 
44909  while (p.more_attributes ())
44910  {
44911  const ::xercesc::DOMAttr& i (p.next_attribute ());
44912  const ::xsd::cxx::xml::qualified_name< char > n (
44913  ::xsd::cxx::xml::dom::name< char > (i));
44914 
44915  if (n.name () == "select" && n.namespace_ ().empty ())
44916  {
44917  this->select_.set (select_traits::create (i, f, this));
44918  continue;
44919  }
44920  }
44921 
44922  if (!select_.present ())
44923  {
44924  throw ::xsd::cxx::tree::expected_attribute< char > (
44925  "select",
44926  "");
44927  }
44928  }
44929 
44932  ::xml_schema::container* c) const
44933  {
44934  return new class CellSet (*this, f, c);
44935  }
44936 
44938  operator= (const CellSet& x)
44939  {
44940  if (this != &x)
44941  {
44942  static_cast< ::neuroml2::Base& > (*this) = x;
44943  this->select_ = x.select_;
44944  }
44945 
44946  return *this;
44947  }
44948 
44950  ~CellSet ()
44951  {
44952  }
44953 
44954  bool
44955  operator== (const CellSet& x, const CellSet& y)
44956  {
44957  if (!(static_cast< const ::neuroml2::Base& > (x) ==
44958  static_cast< const ::neuroml2::Base& > (y)))
44959  return false;
44960 
44961  if (!(x.select () == y.select ()))
44962  return false;
44963 
44964  return true;
44965  }
44966 
44967  bool
44968  operator!= (const CellSet& x, const CellSet& y)
44969  {
44970  return !(x == y);
44971  }
44972 
44973  // SynapticConnection
44974  //
44975 
44977  SynapticConnection (const from_type& from,
44978  const to_type& to,
44979  const synapse_type& synapse)
44980  : ::neuroml2::BaseWithoutId (),
44981  neuroLexId_ (this),
44982  from_ (from, this),
44983  to_ (to, this),
44984  synapse_ (synapse, this),
44985  destination_ (this)
44986  {
44987  }
44988 
44991  ::xml_schema::flags f,
44992  ::xml_schema::container* c)
44993  : ::neuroml2::BaseWithoutId (x, f, c),
44994  neuroLexId_ (x.neuroLexId_, f, this),
44995  from_ (x.from_, f, this),
44996  to_ (x.to_, f, this),
44997  synapse_ (x.synapse_, f, this),
44998  destination_ (x.destination_, f, this)
44999  {
45000  }
45001 
45003  SynapticConnection (const ::xercesc::DOMElement& e,
45004  ::xml_schema::flags f,
45005  ::xml_schema::container* c)
45006  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
45007  neuroLexId_ (this),
45008  from_ (this),
45009  to_ (this),
45010  synapse_ (this),
45011  destination_ (this)
45012  {
45013  if ((f & ::xml_schema::flags::base) == 0)
45014  {
45015  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
45016  this->parse (p, f);
45017  }
45018  }
45019 
45020  void SynapticConnection::
45021  parse (::xsd::cxx::xml::dom::parser< char >& p,
45022  ::xml_schema::flags f)
45023  {
45024  while (p.more_attributes ())
45025  {
45026  const ::xercesc::DOMAttr& i (p.next_attribute ());
45027  const ::xsd::cxx::xml::qualified_name< char > n (
45028  ::xsd::cxx::xml::dom::name< char > (i));
45029 
45030  if (n.name () == "neuroLexId" && n.namespace_ ().empty ())
45031  {
45032  this->neuroLexId_.set (neuroLexId_traits::create (i, f, this));
45033  continue;
45034  }
45035 
45036  if (n.name () == "from" && n.namespace_ ().empty ())
45037  {
45038  this->from_.set (from_traits::create (i, f, this));
45039  continue;
45040  }
45041 
45042  if (n.name () == "to" && n.namespace_ ().empty ())
45043  {
45044  this->to_.set (to_traits::create (i, f, this));
45045  continue;
45046  }
45047 
45048  if (n.name () == "synapse" && n.namespace_ ().empty ())
45049  {
45050  this->synapse_.set (synapse_traits::create (i, f, this));
45051  continue;
45052  }
45053 
45054  if (n.name () == "destination" && n.namespace_ ().empty ())
45055  {
45056  this->destination_.set (destination_traits::create (i, f, this));
45057  continue;
45058  }
45059  }
45060 
45061  if (!from_.present ())
45062  {
45063  throw ::xsd::cxx::tree::expected_attribute< char > (
45064  "from",
45065  "");
45066  }
45067 
45068  if (!to_.present ())
45069  {
45070  throw ::xsd::cxx::tree::expected_attribute< char > (
45071  "to",
45072  "");
45073  }
45074 
45075  if (!synapse_.present ())
45076  {
45077  throw ::xsd::cxx::tree::expected_attribute< char > (
45078  "synapse",
45079  "");
45080  }
45081  }
45082 
45085  ::xml_schema::container* c) const
45086  {
45087  return new class SynapticConnection (*this, f, c);
45088  }
45089 
45092  {
45093  if (this != &x)
45094  {
45095  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
45096  this->neuroLexId_ = x.neuroLexId_;
45097  this->from_ = x.from_;
45098  this->to_ = x.to_;
45099  this->synapse_ = x.synapse_;
45100  this->destination_ = x.destination_;
45101  }
45102 
45103  return *this;
45104  }
45105 
45108  {
45109  }
45110 
45111  bool
45112  operator== (const SynapticConnection& x, const SynapticConnection& y)
45113  {
45114  if (!(x.neuroLexId () == y.neuroLexId ()))
45115  return false;
45116 
45117  if (!(x.from () == y.from ()))
45118  return false;
45119 
45120  if (!(x.to () == y.to ()))
45121  return false;
45122 
45123  if (!(x.synapse () == y.synapse ()))
45124  return false;
45125 
45126  if (!(x.destination () == y.destination ()))
45127  return false;
45128 
45129  return true;
45130  }
45131 
45132  bool
45133  operator!= (const SynapticConnection& x, const SynapticConnection& y)
45134  {
45135  return !(x == y);
45136  }
45137 
45138  // BaseProjection
45139  //
45140 
45142  BaseProjection (const id_type& id,
45143  const presynapticPopulation_type& presynapticPopulation,
45144  const postsynapticPopulation_type& postsynapticPopulation)
45145  : ::neuroml2::Base (id),
45146  presynapticPopulation_ (presynapticPopulation, this),
45147  postsynapticPopulation_ (postsynapticPopulation, this)
45148  {
45149  }
45150 
45153  ::xml_schema::flags f,
45154  ::xml_schema::container* c)
45155  : ::neuroml2::Base (x, f, c),
45156  presynapticPopulation_ (x.presynapticPopulation_, f, this),
45157  postsynapticPopulation_ (x.postsynapticPopulation_, f, this)
45158  {
45159  }
45160 
45162  BaseProjection (const ::xercesc::DOMElement& e,
45163  ::xml_schema::flags f,
45164  ::xml_schema::container* c)
45165  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
45166  presynapticPopulation_ (this),
45167  postsynapticPopulation_ (this)
45168  {
45169  if ((f & ::xml_schema::flags::base) == 0)
45170  {
45171  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
45172  this->parse (p, f);
45173  }
45174  }
45175 
45176  void BaseProjection::
45177  parse (::xsd::cxx::xml::dom::parser< char >& p,
45178  ::xml_schema::flags f)
45179  {
45180  this->::neuroml2::Base::parse (p, f);
45181 
45182  p.reset_attributes ();
45183 
45184  while (p.more_attributes ())
45185  {
45186  const ::xercesc::DOMAttr& i (p.next_attribute ());
45187  const ::xsd::cxx::xml::qualified_name< char > n (
45188  ::xsd::cxx::xml::dom::name< char > (i));
45189 
45190  if (n.name () == "presynapticPopulation" && n.namespace_ ().empty ())
45191  {
45192  this->presynapticPopulation_.set (presynapticPopulation_traits::create (i, f, this));
45193  continue;
45194  }
45195 
45196  if (n.name () == "postsynapticPopulation" && n.namespace_ ().empty ())
45197  {
45198  this->postsynapticPopulation_.set (postsynapticPopulation_traits::create (i, f, this));
45199  continue;
45200  }
45201  }
45202 
45203  if (!presynapticPopulation_.present ())
45204  {
45205  throw ::xsd::cxx::tree::expected_attribute< char > (
45206  "presynapticPopulation",
45207  "");
45208  }
45209 
45210  if (!postsynapticPopulation_.present ())
45211  {
45212  throw ::xsd::cxx::tree::expected_attribute< char > (
45213  "postsynapticPopulation",
45214  "");
45215  }
45216  }
45217 
45220  ::xml_schema::container* c) const
45221  {
45222  return new class BaseProjection (*this, f, c);
45223  }
45224 
45226  operator= (const BaseProjection& x)
45227  {
45228  if (this != &x)
45229  {
45230  static_cast< ::neuroml2::Base& > (*this) = x;
45231  this->presynapticPopulation_ = x.presynapticPopulation_;
45232  this->postsynapticPopulation_ = x.postsynapticPopulation_;
45233  }
45234 
45235  return *this;
45236  }
45237 
45240  {
45241  }
45242 
45243  bool
45244  operator== (const BaseProjection& x, const BaseProjection& y)
45245  {
45246  if (!(static_cast< const ::neuroml2::Base& > (x) ==
45247  static_cast< const ::neuroml2::Base& > (y)))
45248  return false;
45249 
45250  if (!(x.presynapticPopulation () == y.presynapticPopulation ()))
45251  return false;
45252 
45253  if (!(x.postsynapticPopulation () == y.postsynapticPopulation ()))
45254  return false;
45255 
45256  return true;
45257  }
45258 
45259  bool
45260  operator!= (const BaseProjection& x, const BaseProjection& y)
45261  {
45262  return !(x == y);
45263  }
45264 
45265  // Projection
45266  //
45267 
45269  Projection (const id_type& id,
45270  const presynapticPopulation_type& presynapticPopulation,
45271  const postsynapticPopulation_type& postsynapticPopulation,
45272  const synapse_type& synapse)
45273  : ::neuroml2::BaseProjection (id,
45274  presynapticPopulation,
45275  postsynapticPopulation),
45276  connection_ (this),
45277  connectionWD_ (this),
45278  synapse_ (synapse, this)
45279  {
45280  }
45281 
45283  Projection (const Projection& x,
45284  ::xml_schema::flags f,
45285  ::xml_schema::container* c)
45286  : ::neuroml2::BaseProjection (x, f, c),
45287  connection_ (x.connection_, f, this),
45288  connectionWD_ (x.connectionWD_, f, this),
45289  synapse_ (x.synapse_, f, this)
45290  {
45291  }
45292 
45294  Projection (const ::xercesc::DOMElement& e,
45295  ::xml_schema::flags f,
45296  ::xml_schema::container* c)
45297  : ::neuroml2::BaseProjection (e, f | ::xml_schema::flags::base, c),
45298  connection_ (this),
45299  connectionWD_ (this),
45300  synapse_ (this)
45301  {
45302  if ((f & ::xml_schema::flags::base) == 0)
45303  {
45304  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
45305  this->parse (p, f);
45306  }
45307  }
45308 
45309  void Projection::
45310  parse (::xsd::cxx::xml::dom::parser< char >& p,
45311  ::xml_schema::flags f)
45312  {
45313  this->::neuroml2::BaseProjection::parse (p, f);
45314 
45315  for (; p.more_content (); p.next_content (false))
45316  {
45317  const ::xercesc::DOMElement& i (p.cur_element ());
45318  const ::xsd::cxx::xml::qualified_name< char > n (
45319  ::xsd::cxx::xml::dom::name< char > (i));
45320 
45321  // connection
45322  //
45323  if (n.name () == "connection" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
45324  {
45325  ::std::unique_ptr< connection_type > r (
45326  connection_traits::create (i, f, this));
45327 
45328  this->connection_.push_back (::std::move (r));
45329  continue;
45330  }
45331 
45332  // connectionWD
45333  //
45334  if (n.name () == "connectionWD" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
45335  {
45336  ::std::unique_ptr< connectionWD_type > r (
45337  connectionWD_traits::create (i, f, this));
45338 
45339  this->connectionWD_.push_back (::std::move (r));
45340  continue;
45341  }
45342 
45343  break;
45344  }
45345 
45346  p.reset_attributes ();
45347 
45348  while (p.more_attributes ())
45349  {
45350  const ::xercesc::DOMAttr& i (p.next_attribute ());
45351  const ::xsd::cxx::xml::qualified_name< char > n (
45352  ::xsd::cxx::xml::dom::name< char > (i));
45353 
45354  if (n.name () == "synapse" && n.namespace_ ().empty ())
45355  {
45356  this->synapse_.set (synapse_traits::create (i, f, this));
45357  continue;
45358  }
45359  }
45360 
45361  if (!synapse_.present ())
45362  {
45363  throw ::xsd::cxx::tree::expected_attribute< char > (
45364  "synapse",
45365  "");
45366  }
45367  }
45368 
45371  ::xml_schema::container* c) const
45372  {
45373  return new class Projection (*this, f, c);
45374  }
45375 
45377  operator= (const Projection& x)
45378  {
45379  if (this != &x)
45380  {
45381  static_cast< ::neuroml2::BaseProjection& > (*this) = x;
45382  this->connection_ = x.connection_;
45383  this->connectionWD_ = x.connectionWD_;
45384  this->synapse_ = x.synapse_;
45385  }
45386 
45387  return *this;
45388  }
45389 
45391  ~Projection ()
45392  {
45393  }
45394 
45395  bool
45396  operator== (const Projection& x, const Projection& y)
45397  {
45398  if (!(static_cast< const ::neuroml2::BaseProjection& > (x) ==
45399  static_cast< const ::neuroml2::BaseProjection& > (y)))
45400  return false;
45401 
45402  if (!(x.connection () == y.connection ()))
45403  return false;
45404 
45405  if (!(x.connectionWD () == y.connectionWD ()))
45406  return false;
45407 
45408  if (!(x.synapse () == y.synapse ()))
45409  return false;
45410 
45411  return true;
45412  }
45413 
45414  bool
45415  operator!= (const Projection& x, const Projection& y)
45416  {
45417  return !(x == y);
45418  }
45419 
45420  // BaseConnection
45421  //
45422 
45424  BaseConnection (const id_type& id)
45426  neuroLexId_ (this)
45427  {
45428  }
45429 
45432  ::xml_schema::flags f,
45433  ::xml_schema::container* c)
45434  : ::neuroml2::BaseNonNegativeIntegerId (x, f, c),
45435  neuroLexId_ (x.neuroLexId_, f, this)
45436  {
45437  }
45438 
45440  BaseConnection (const ::xercesc::DOMElement& e,
45441  ::xml_schema::flags f,
45442  ::xml_schema::container* c)
45443  : ::neuroml2::BaseNonNegativeIntegerId (e, f | ::xml_schema::flags::base, c),
45444  neuroLexId_ (this)
45445  {
45446  if ((f & ::xml_schema::flags::base) == 0)
45447  {
45448  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
45449  this->parse (p, f);
45450  }
45451  }
45452 
45453  void BaseConnection::
45454  parse (::xsd::cxx::xml::dom::parser< char >& p,
45455  ::xml_schema::flags f)
45456  {
45457  this->::neuroml2::BaseNonNegativeIntegerId::parse (p, f);
45458 
45459  p.reset_attributes ();
45460 
45461  while (p.more_attributes ())
45462  {
45463  const ::xercesc::DOMAttr& i (p.next_attribute ());
45464  const ::xsd::cxx::xml::qualified_name< char > n (
45465  ::xsd::cxx::xml::dom::name< char > (i));
45466 
45467  if (n.name () == "neuroLexId" && n.namespace_ ().empty ())
45468  {
45469  this->neuroLexId_.set (neuroLexId_traits::create (i, f, this));
45470  continue;
45471  }
45472  }
45473  }
45474 
45477  ::xml_schema::container* c) const
45478  {
45479  return new class BaseConnection (*this, f, c);
45480  }
45481 
45483  operator= (const BaseConnection& x)
45484  {
45485  if (this != &x)
45486  {
45487  static_cast< ::neuroml2::BaseNonNegativeIntegerId& > (*this) = x;
45488  this->neuroLexId_ = x.neuroLexId_;
45489  }
45490 
45491  return *this;
45492  }
45493 
45496  {
45497  }
45498 
45499  bool
45500  operator== (const BaseConnection& x, const BaseConnection& y)
45501  {
45502  if (!(static_cast< const ::neuroml2::BaseNonNegativeIntegerId& > (x) ==
45503  static_cast< const ::neuroml2::BaseNonNegativeIntegerId& > (y)))
45504  return false;
45505 
45506  if (!(x.neuroLexId () == y.neuroLexId ()))
45507  return false;
45508 
45509  return true;
45510  }
45511 
45512  bool
45513  operator!= (const BaseConnection& x, const BaseConnection& y)
45514  {
45515  return !(x == y);
45516  }
45517 
45518  // BaseConnectionOldFormat
45519  //
45520 
45523  const preCellId_type& preCellId,
45524  const postCellId_type& postCellId)
45525  : ::neuroml2::BaseConnection (id),
45526  preCellId_ (preCellId, this),
45527  preSegmentId_ (preSegmentId_default_value (), this),
45528  preFractionAlong_ (preFractionAlong_default_value (), this),
45529  postCellId_ (postCellId, this),
45530  postSegmentId_ (postSegmentId_default_value (), this),
45531  postFractionAlong_ (postFractionAlong_default_value (), this)
45532  {
45533  }
45534 
45537  ::xml_schema::flags f,
45538  ::xml_schema::container* c)
45539  : ::neuroml2::BaseConnection (x, f, c),
45540  preCellId_ (x.preCellId_, f, this),
45541  preSegmentId_ (x.preSegmentId_, f, this),
45542  preFractionAlong_ (x.preFractionAlong_, f, this),
45543  postCellId_ (x.postCellId_, f, this),
45544  postSegmentId_ (x.postSegmentId_, f, this),
45545  postFractionAlong_ (x.postFractionAlong_, f, this)
45546  {
45547  }
45548 
45550  BaseConnectionOldFormat (const ::xercesc::DOMElement& e,
45551  ::xml_schema::flags f,
45552  ::xml_schema::container* c)
45553  : ::neuroml2::BaseConnection (e, f | ::xml_schema::flags::base, c),
45554  preCellId_ (this),
45555  preSegmentId_ (this),
45556  preFractionAlong_ (this),
45557  postCellId_ (this),
45558  postSegmentId_ (this),
45559  postFractionAlong_ (this)
45560  {
45561  if ((f & ::xml_schema::flags::base) == 0)
45562  {
45563  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
45564  this->parse (p, f);
45565  }
45566  }
45567 
45568  void BaseConnectionOldFormat::
45569  parse (::xsd::cxx::xml::dom::parser< char >& p,
45570  ::xml_schema::flags f)
45571  {
45572  this->::neuroml2::BaseConnection::parse (p, f);
45573 
45574  p.reset_attributes ();
45575 
45576  while (p.more_attributes ())
45577  {
45578  const ::xercesc::DOMAttr& i (p.next_attribute ());
45579  const ::xsd::cxx::xml::qualified_name< char > n (
45580  ::xsd::cxx::xml::dom::name< char > (i));
45581 
45582  if (n.name () == "preCellId" && n.namespace_ ().empty ())
45583  {
45584  this->preCellId_.set (preCellId_traits::create (i, f, this));
45585  continue;
45586  }
45587 
45588  if (n.name () == "preSegmentId" && n.namespace_ ().empty ())
45589  {
45590  this->preSegmentId_.set (preSegmentId_traits::create (i, f, this));
45591  continue;
45592  }
45593 
45594  if (n.name () == "preFractionAlong" && n.namespace_ ().empty ())
45595  {
45596  this->preFractionAlong_.set (preFractionAlong_traits::create (i, f, this));
45597  continue;
45598  }
45599 
45600  if (n.name () == "postCellId" && n.namespace_ ().empty ())
45601  {
45602  this->postCellId_.set (postCellId_traits::create (i, f, this));
45603  continue;
45604  }
45605 
45606  if (n.name () == "postSegmentId" && n.namespace_ ().empty ())
45607  {
45608  this->postSegmentId_.set (postSegmentId_traits::create (i, f, this));
45609  continue;
45610  }
45611 
45612  if (n.name () == "postFractionAlong" && n.namespace_ ().empty ())
45613  {
45614  this->postFractionAlong_.set (postFractionAlong_traits::create (i, f, this));
45615  continue;
45616  }
45617  }
45618 
45619  if (!preCellId_.present ())
45620  {
45621  throw ::xsd::cxx::tree::expected_attribute< char > (
45622  "preCellId",
45623  "");
45624  }
45625 
45626  if (!preSegmentId_.present ())
45627  {
45628  this->preSegmentId_.set (preSegmentId_default_value ());
45629  }
45630 
45631  if (!preFractionAlong_.present ())
45632  {
45633  this->preFractionAlong_.set (preFractionAlong_default_value ());
45634  }
45635 
45636  if (!postCellId_.present ())
45637  {
45638  throw ::xsd::cxx::tree::expected_attribute< char > (
45639  "postCellId",
45640  "");
45641  }
45642 
45643  if (!postSegmentId_.present ())
45644  {
45645  this->postSegmentId_.set (postSegmentId_default_value ());
45646  }
45647 
45648  if (!postFractionAlong_.present ())
45649  {
45650  this->postFractionAlong_.set (postFractionAlong_default_value ());
45651  }
45652  }
45653 
45656  ::xml_schema::container* c) const
45657  {
45658  return new class BaseConnectionOldFormat (*this, f, c);
45659  }
45660 
45663  {
45664  if (this != &x)
45665  {
45666  static_cast< ::neuroml2::BaseConnection& > (*this) = x;
45667  this->preCellId_ = x.preCellId_;
45668  this->preSegmentId_ = x.preSegmentId_;
45669  this->preFractionAlong_ = x.preFractionAlong_;
45670  this->postCellId_ = x.postCellId_;
45671  this->postSegmentId_ = x.postSegmentId_;
45672  this->postFractionAlong_ = x.postFractionAlong_;
45673  }
45674 
45675  return *this;
45676  }
45677 
45680  {
45681  }
45682 
45683  bool
45684  operator== (const BaseConnectionOldFormat& x, const BaseConnectionOldFormat& y)
45685  {
45686  if (!(static_cast< const ::neuroml2::BaseConnection& > (x) ==
45687  static_cast< const ::neuroml2::BaseConnection& > (y)))
45688  return false;
45689 
45690  if (!(x.preCellId () == y.preCellId ()))
45691  return false;
45692 
45693  if (!(x.preSegmentId () == y.preSegmentId ()))
45694  return false;
45695 
45696  if (!(x.preFractionAlong () == y.preFractionAlong ()))
45697  return false;
45698 
45699  if (!(x.postCellId () == y.postCellId ()))
45700  return false;
45701 
45702  if (!(x.postSegmentId () == y.postSegmentId ()))
45703  return false;
45704 
45705  if (!(x.postFractionAlong () == y.postFractionAlong ()))
45706  return false;
45707 
45708  return true;
45709  }
45710 
45711  bool
45712  operator!= (const BaseConnectionOldFormat& x, const BaseConnectionOldFormat& y)
45713  {
45714  return !(x == y);
45715  }
45716 
45717  // BaseConnectionNewFormat
45718  //
45719 
45722  const preCell_type& preCell,
45723  const postCell_type& postCell)
45724  : ::neuroml2::BaseConnection (id),
45725  preCell_ (preCell, this),
45726  preSegment_ (preSegment_default_value (), this),
45727  preFractionAlong_ (preFractionAlong_default_value (), this),
45728  postCell_ (postCell, this),
45729  postSegment_ (postSegment_default_value (), this),
45730  postFractionAlong_ (postFractionAlong_default_value (), this)
45731  {
45732  }
45733 
45736  ::xml_schema::flags f,
45737  ::xml_schema::container* c)
45738  : ::neuroml2::BaseConnection (x, f, c),
45739  preCell_ (x.preCell_, f, this),
45740  preSegment_ (x.preSegment_, f, this),
45741  preFractionAlong_ (x.preFractionAlong_, f, this),
45742  postCell_ (x.postCell_, f, this),
45743  postSegment_ (x.postSegment_, f, this),
45744  postFractionAlong_ (x.postFractionAlong_, f, this)
45745  {
45746  }
45747 
45749  BaseConnectionNewFormat (const ::xercesc::DOMElement& e,
45750  ::xml_schema::flags f,
45751  ::xml_schema::container* c)
45752  : ::neuroml2::BaseConnection (e, f | ::xml_schema::flags::base, c),
45753  preCell_ (this),
45754  preSegment_ (this),
45755  preFractionAlong_ (this),
45756  postCell_ (this),
45757  postSegment_ (this),
45758  postFractionAlong_ (this)
45759  {
45760  if ((f & ::xml_schema::flags::base) == 0)
45761  {
45762  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
45763  this->parse (p, f);
45764  }
45765  }
45766 
45767  void BaseConnectionNewFormat::
45768  parse (::xsd::cxx::xml::dom::parser< char >& p,
45769  ::xml_schema::flags f)
45770  {
45771  this->::neuroml2::BaseConnection::parse (p, f);
45772 
45773  p.reset_attributes ();
45774 
45775  while (p.more_attributes ())
45776  {
45777  const ::xercesc::DOMAttr& i (p.next_attribute ());
45778  const ::xsd::cxx::xml::qualified_name< char > n (
45779  ::xsd::cxx::xml::dom::name< char > (i));
45780 
45781  if (n.name () == "preCell" && n.namespace_ ().empty ())
45782  {
45783  this->preCell_.set (preCell_traits::create (i, f, this));
45784  continue;
45785  }
45786 
45787  if (n.name () == "preSegment" && n.namespace_ ().empty ())
45788  {
45789  this->preSegment_.set (preSegment_traits::create (i, f, this));
45790  continue;
45791  }
45792 
45793  if (n.name () == "preFractionAlong" && n.namespace_ ().empty ())
45794  {
45795  this->preFractionAlong_.set (preFractionAlong_traits::create (i, f, this));
45796  continue;
45797  }
45798 
45799  if (n.name () == "postCell" && n.namespace_ ().empty ())
45800  {
45801  this->postCell_.set (postCell_traits::create (i, f, this));
45802  continue;
45803  }
45804 
45805  if (n.name () == "postSegment" && n.namespace_ ().empty ())
45806  {
45807  this->postSegment_.set (postSegment_traits::create (i, f, this));
45808  continue;
45809  }
45810 
45811  if (n.name () == "postFractionAlong" && n.namespace_ ().empty ())
45812  {
45813  this->postFractionAlong_.set (postFractionAlong_traits::create (i, f, this));
45814  continue;
45815  }
45816  }
45817 
45818  if (!preCell_.present ())
45819  {
45820  throw ::xsd::cxx::tree::expected_attribute< char > (
45821  "preCell",
45822  "");
45823  }
45824 
45825  if (!preSegment_.present ())
45826  {
45827  this->preSegment_.set (preSegment_default_value ());
45828  }
45829 
45830  if (!preFractionAlong_.present ())
45831  {
45832  this->preFractionAlong_.set (preFractionAlong_default_value ());
45833  }
45834 
45835  if (!postCell_.present ())
45836  {
45837  throw ::xsd::cxx::tree::expected_attribute< char > (
45838  "postCell",
45839  "");
45840  }
45841 
45842  if (!postSegment_.present ())
45843  {
45844  this->postSegment_.set (postSegment_default_value ());
45845  }
45846 
45847  if (!postFractionAlong_.present ())
45848  {
45849  this->postFractionAlong_.set (postFractionAlong_default_value ());
45850  }
45851  }
45852 
45855  ::xml_schema::container* c) const
45856  {
45857  return new class BaseConnectionNewFormat (*this, f, c);
45858  }
45859 
45862  {
45863  if (this != &x)
45864  {
45865  static_cast< ::neuroml2::BaseConnection& > (*this) = x;
45866  this->preCell_ = x.preCell_;
45867  this->preSegment_ = x.preSegment_;
45868  this->preFractionAlong_ = x.preFractionAlong_;
45869  this->postCell_ = x.postCell_;
45870  this->postSegment_ = x.postSegment_;
45871  this->postFractionAlong_ = x.postFractionAlong_;
45872  }
45873 
45874  return *this;
45875  }
45876 
45879  {
45880  }
45881 
45882  bool
45883  operator== (const BaseConnectionNewFormat& x, const BaseConnectionNewFormat& y)
45884  {
45885  if (!(static_cast< const ::neuroml2::BaseConnection& > (x) ==
45886  static_cast< const ::neuroml2::BaseConnection& > (y)))
45887  return false;
45888 
45889  if (!(x.preCell () == y.preCell ()))
45890  return false;
45891 
45892  if (!(x.preSegment () == y.preSegment ()))
45893  return false;
45894 
45895  if (!(x.preFractionAlong () == y.preFractionAlong ()))
45896  return false;
45897 
45898  if (!(x.postCell () == y.postCell ()))
45899  return false;
45900 
45901  if (!(x.postSegment () == y.postSegment ()))
45902  return false;
45903 
45904  if (!(x.postFractionAlong () == y.postFractionAlong ()))
45905  return false;
45906 
45907  return true;
45908  }
45909 
45910  bool
45911  operator!= (const BaseConnectionNewFormat& x, const BaseConnectionNewFormat& y)
45912  {
45913  return !(x == y);
45914  }
45915 
45916  // Connection_base
45917  //
45918 
45920  Connection_base (const id_type& id,
45921  const preCellId_type& preCellId,
45922  const postCellId_type& postCellId)
45924  preCellId,
45925  postCellId)
45926  {
45927  }
45928 
45931  ::xml_schema::flags f,
45932  ::xml_schema::container* c)
45933  : ::neuroml2::BaseConnectionOldFormat (x, f, c)
45934  {
45935  }
45936 
45938  Connection_base (const ::xercesc::DOMElement& e,
45939  ::xml_schema::flags f,
45940  ::xml_schema::container* c)
45941  : ::neuroml2::BaseConnectionOldFormat (e, f, c)
45942  {
45943  }
45944 
45947  ::xml_schema::container* c) const
45948  {
45949  return new class Connection_base (*this, f, c);
45950  }
45951 
45954  {
45955  }
45956 
45957  // ConnectionWD
45958  //
45959 
45961  ConnectionWD (const id_type& id,
45962  const preCellId_type& preCellId,
45963  const postCellId_type& postCellId,
45964  const weight_type& weight,
45965  const delay_type& delay)
45967  preCellId,
45968  postCellId),
45969  weight_ (weight, this),
45970  delay_ (delay, this)
45971  {
45972  }
45973 
45975  ConnectionWD (const ConnectionWD& x,
45976  ::xml_schema::flags f,
45977  ::xml_schema::container* c)
45978  : ::neuroml2::BaseConnectionOldFormat (x, f, c),
45979  weight_ (x.weight_, f, this),
45980  delay_ (x.delay_, f, this)
45981  {
45982  }
45983 
45985  ConnectionWD (const ::xercesc::DOMElement& e,
45986  ::xml_schema::flags f,
45987  ::xml_schema::container* c)
45988  : ::neuroml2::BaseConnectionOldFormat (e, f | ::xml_schema::flags::base, c),
45989  weight_ (this),
45990  delay_ (this)
45991  {
45992  if ((f & ::xml_schema::flags::base) == 0)
45993  {
45994  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
45995  this->parse (p, f);
45996  }
45997  }
45998 
45999  void ConnectionWD::
46000  parse (::xsd::cxx::xml::dom::parser< char >& p,
46001  ::xml_schema::flags f)
46002  {
46003  this->::neuroml2::BaseConnectionOldFormat::parse (p, f);
46004 
46005  p.reset_attributes ();
46006 
46007  while (p.more_attributes ())
46008  {
46009  const ::xercesc::DOMAttr& i (p.next_attribute ());
46010  const ::xsd::cxx::xml::qualified_name< char > n (
46011  ::xsd::cxx::xml::dom::name< char > (i));
46012 
46013  if (n.name () == "weight" && n.namespace_ ().empty ())
46014  {
46015  this->weight_.set (weight_traits::create (i, f, this));
46016  continue;
46017  }
46018 
46019  if (n.name () == "delay" && n.namespace_ ().empty ())
46020  {
46021  this->delay_.set (delay_traits::create (i, f, this));
46022  continue;
46023  }
46024  }
46025 
46026  if (!weight_.present ())
46027  {
46028  throw ::xsd::cxx::tree::expected_attribute< char > (
46029  "weight",
46030  "");
46031  }
46032 
46033  if (!delay_.present ())
46034  {
46035  throw ::xsd::cxx::tree::expected_attribute< char > (
46036  "delay",
46037  "");
46038  }
46039  }
46040 
46043  ::xml_schema::container* c) const
46044  {
46045  return new class ConnectionWD (*this, f, c);
46046  }
46047 
46049  operator= (const ConnectionWD& x)
46050  {
46051  if (this != &x)
46052  {
46053  static_cast< ::neuroml2::BaseConnectionOldFormat& > (*this) = x;
46054  this->weight_ = x.weight_;
46055  this->delay_ = x.delay_;
46056  }
46057 
46058  return *this;
46059  }
46060 
46062  ~ConnectionWD ()
46063  {
46064  }
46065 
46066  bool
46067  operator== (const ConnectionWD& x, const ConnectionWD& y)
46068  {
46069  if (!(static_cast< const ::neuroml2::BaseConnectionOldFormat& > (x) ==
46070  static_cast< const ::neuroml2::BaseConnectionOldFormat& > (y)))
46071  return false;
46072 
46073  if (!(x.weight () == y.weight ()))
46074  return false;
46075 
46076  if (!(x.delay () == y.delay ()))
46077  return false;
46078 
46079  return true;
46080  }
46081 
46082  bool
46083  operator!= (const ConnectionWD& x, const ConnectionWD& y)
46084  {
46085  return !(x == y);
46086  }
46087 
46088  // ElectricalProjection
46089  //
46090 
46092  ElectricalProjection (const id_type& id,
46093  const presynapticPopulation_type& presynapticPopulation,
46094  const postsynapticPopulation_type& postsynapticPopulation)
46095  : ::neuroml2::BaseProjection (id,
46096  presynapticPopulation,
46097  postsynapticPopulation),
46098  electricalConnection_ (this),
46099  electricalConnectionInstance_ (this),
46100  electricalConnectionInstanceW_ (this)
46101  {
46102  }
46103 
46106  ::xml_schema::flags f,
46107  ::xml_schema::container* c)
46108  : ::neuroml2::BaseProjection (x, f, c),
46109  electricalConnection_ (x.electricalConnection_, f, this),
46110  electricalConnectionInstance_ (x.electricalConnectionInstance_, f, this),
46111  electricalConnectionInstanceW_ (x.electricalConnectionInstanceW_, f, this)
46112  {
46113  }
46114 
46116  ElectricalProjection (const ::xercesc::DOMElement& e,
46117  ::xml_schema::flags f,
46118  ::xml_schema::container* c)
46119  : ::neuroml2::BaseProjection (e, f | ::xml_schema::flags::base, c),
46120  electricalConnection_ (this),
46121  electricalConnectionInstance_ (this),
46122  electricalConnectionInstanceW_ (this)
46123  {
46124  if ((f & ::xml_schema::flags::base) == 0)
46125  {
46126  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
46127  this->parse (p, f);
46128  }
46129  }
46130 
46131  void ElectricalProjection::
46132  parse (::xsd::cxx::xml::dom::parser< char >& p,
46133  ::xml_schema::flags f)
46134  {
46135  this->::neuroml2::BaseProjection::parse (p, f);
46136 
46137  for (; p.more_content (); p.next_content (false))
46138  {
46139  const ::xercesc::DOMElement& i (p.cur_element ());
46140  const ::xsd::cxx::xml::qualified_name< char > n (
46141  ::xsd::cxx::xml::dom::name< char > (i));
46142 
46143  // electricalConnection
46144  //
46145  if (n.name () == "electricalConnection" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
46146  {
46147  ::std::unique_ptr< electricalConnection_type > r (
46148  electricalConnection_traits::create (i, f, this));
46149 
46150  this->electricalConnection_.push_back (::std::move (r));
46151  continue;
46152  }
46153 
46154  // electricalConnectionInstance
46155  //
46156  if (n.name () == "electricalConnectionInstance" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
46157  {
46158  ::std::unique_ptr< electricalConnectionInstance_type > r (
46159  electricalConnectionInstance_traits::create (i, f, this));
46160 
46161  this->electricalConnectionInstance_.push_back (::std::move (r));
46162  continue;
46163  }
46164 
46165  // electricalConnectionInstanceW
46166  //
46167  if (n.name () == "electricalConnectionInstanceW" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
46168  {
46169  ::std::unique_ptr< electricalConnectionInstanceW_type > r (
46170  electricalConnectionInstanceW_traits::create (i, f, this));
46171 
46172  this->electricalConnectionInstanceW_.push_back (::std::move (r));
46173  continue;
46174  }
46175 
46176  break;
46177  }
46178  }
46179 
46182  ::xml_schema::container* c) const
46183  {
46184  return new class ElectricalProjection (*this, f, c);
46185  }
46186 
46189  {
46190  if (this != &x)
46191  {
46192  static_cast< ::neuroml2::BaseProjection& > (*this) = x;
46193  this->electricalConnection_ = x.electricalConnection_;
46194  this->electricalConnectionInstance_ = x.electricalConnectionInstance_;
46195  this->electricalConnectionInstanceW_ = x.electricalConnectionInstanceW_;
46196  }
46197 
46198  return *this;
46199  }
46200 
46203  {
46204  }
46205 
46206  bool
46207  operator== (const ElectricalProjection& x, const ElectricalProjection& y)
46208  {
46209  if (!(static_cast< const ::neuroml2::BaseProjection& > (x) ==
46210  static_cast< const ::neuroml2::BaseProjection& > (y)))
46211  return false;
46212 
46213  if (!(x.electricalConnection () == y.electricalConnection ()))
46214  return false;
46215 
46217  return false;
46218 
46220  return false;
46221 
46222  return true;
46223  }
46224 
46225  bool
46226  operator!= (const ElectricalProjection& x, const ElectricalProjection& y)
46227  {
46228  return !(x == y);
46229  }
46230 
46231  // ElectricalConnection
46232  //
46233 
46235  ElectricalConnection (const id_type& id,
46236  const preCell_type& preCell,
46237  const postCell_type& postCell,
46238  const synapse_type& synapse)
46240  preCell,
46241  postCell),
46242  synapse_ (synapse, this)
46243  {
46244  }
46245 
46248  ::xml_schema::flags f,
46249  ::xml_schema::container* c)
46250  : ::neuroml2::BaseConnectionNewFormat (x, f, c),
46251  synapse_ (x.synapse_, f, this)
46252  {
46253  }
46254 
46256  ElectricalConnection (const ::xercesc::DOMElement& e,
46257  ::xml_schema::flags f,
46258  ::xml_schema::container* c)
46259  : ::neuroml2::BaseConnectionNewFormat (e, f | ::xml_schema::flags::base, c),
46260  synapse_ (this)
46261  {
46262  if ((f & ::xml_schema::flags::base) == 0)
46263  {
46264  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
46265  this->parse (p, f);
46266  }
46267  }
46268 
46269  void ElectricalConnection::
46270  parse (::xsd::cxx::xml::dom::parser< char >& p,
46271  ::xml_schema::flags f)
46272  {
46273  this->::neuroml2::BaseConnectionNewFormat::parse (p, f);
46274 
46275  p.reset_attributes ();
46276 
46277  while (p.more_attributes ())
46278  {
46279  const ::xercesc::DOMAttr& i (p.next_attribute ());
46280  const ::xsd::cxx::xml::qualified_name< char > n (
46281  ::xsd::cxx::xml::dom::name< char > (i));
46282 
46283  if (n.name () == "synapse" && n.namespace_ ().empty ())
46284  {
46285  this->synapse_.set (synapse_traits::create (i, f, this));
46286  continue;
46287  }
46288  }
46289 
46290  if (!synapse_.present ())
46291  {
46292  throw ::xsd::cxx::tree::expected_attribute< char > (
46293  "synapse",
46294  "");
46295  }
46296  }
46297 
46300  ::xml_schema::container* c) const
46301  {
46302  return new class ElectricalConnection (*this, f, c);
46303  }
46304 
46307  {
46308  if (this != &x)
46309  {
46310  static_cast< ::neuroml2::BaseConnectionNewFormat& > (*this) = x;
46311  this->synapse_ = x.synapse_;
46312  }
46313 
46314  return *this;
46315  }
46316 
46319  {
46320  }
46321 
46322  bool
46323  operator== (const ElectricalConnection& x, const ElectricalConnection& y)
46324  {
46325  if (!(static_cast< const ::neuroml2::BaseConnectionNewFormat& > (x) ==
46326  static_cast< const ::neuroml2::BaseConnectionNewFormat& > (y)))
46327  return false;
46328 
46329  if (!(x.synapse () == y.synapse ()))
46330  return false;
46331 
46332  return true;
46333  }
46334 
46335  bool
46336  operator!= (const ElectricalConnection& x, const ElectricalConnection& y)
46337  {
46338  return !(x == y);
46339  }
46340 
46341  // ElectricalConnectionInstance
46342  //
46343 
46346  const preCell_type& preCell,
46347  const postCell_type& postCell,
46348  const synapse_type& synapse)
46350  preCell,
46351  postCell,
46352  synapse)
46353  {
46354  }
46355 
46358  ::xml_schema::flags f,
46359  ::xml_schema::container* c)
46360  : ::neuroml2::ElectricalConnection (x, f, c)
46361  {
46362  }
46363 
46365  ElectricalConnectionInstance (const ::xercesc::DOMElement& e,
46366  ::xml_schema::flags f,
46367  ::xml_schema::container* c)
46368  : ::neuroml2::ElectricalConnection (e, f, c)
46369  {
46370  }
46371 
46374  ::xml_schema::container* c) const
46375  {
46376  return new class ElectricalConnectionInstance (*this, f, c);
46377  }
46378 
46381  {
46382  }
46383 
46384  // ElectricalConnectionInstanceW
46385  //
46386 
46389  const preCell_type& preCell,
46390  const postCell_type& postCell,
46391  const synapse_type& synapse,
46392  const weight_type& weight)
46394  preCell,
46395  postCell,
46396  synapse),
46397  weight_ (weight, this)
46398  {
46399  }
46400 
46403  ::xml_schema::flags f,
46404  ::xml_schema::container* c)
46405  : ::neuroml2::ElectricalConnectionInstance (x, f, c),
46406  weight_ (x.weight_, f, this)
46407  {
46408  }
46409 
46411  ElectricalConnectionInstanceW (const ::xercesc::DOMElement& e,
46412  ::xml_schema::flags f,
46413  ::xml_schema::container* c)
46414  : ::neuroml2::ElectricalConnectionInstance (e, f | ::xml_schema::flags::base, c),
46415  weight_ (this)
46416  {
46417  if ((f & ::xml_schema::flags::base) == 0)
46418  {
46419  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
46420  this->parse (p, f);
46421  }
46422  }
46423 
46424  void ElectricalConnectionInstanceW::
46425  parse (::xsd::cxx::xml::dom::parser< char >& p,
46426  ::xml_schema::flags f)
46427  {
46428  this->::neuroml2::ElectricalConnectionInstance::parse (p, f);
46429 
46430  p.reset_attributes ();
46431 
46432  while (p.more_attributes ())
46433  {
46434  const ::xercesc::DOMAttr& i (p.next_attribute ());
46435  const ::xsd::cxx::xml::qualified_name< char > n (
46436  ::xsd::cxx::xml::dom::name< char > (i));
46437 
46438  if (n.name () == "weight" && n.namespace_ ().empty ())
46439  {
46440  this->weight_.set (weight_traits::create (i, f, this));
46441  continue;
46442  }
46443  }
46444 
46445  if (!weight_.present ())
46446  {
46447  throw ::xsd::cxx::tree::expected_attribute< char > (
46448  "weight",
46449  "");
46450  }
46451  }
46452 
46455  ::xml_schema::container* c) const
46456  {
46457  return new class ElectricalConnectionInstanceW (*this, f, c);
46458  }
46459 
46462  {
46463  if (this != &x)
46464  {
46465  static_cast< ::neuroml2::ElectricalConnectionInstance& > (*this) = x;
46466  this->weight_ = x.weight_;
46467  }
46468 
46469  return *this;
46470  }
46471 
46474  {
46475  }
46476 
46477  bool
46478  operator== (const ElectricalConnectionInstanceW& x, const ElectricalConnectionInstanceW& y)
46479  {
46480  if (!(static_cast< const ::neuroml2::ElectricalConnectionInstance& > (x) ==
46481  static_cast< const ::neuroml2::ElectricalConnectionInstance& > (y)))
46482  return false;
46483 
46484  if (!(x.weight () == y.weight ()))
46485  return false;
46486 
46487  return true;
46488  }
46489 
46490  bool
46491  operator!= (const ElectricalConnectionInstanceW& x, const ElectricalConnectionInstanceW& y)
46492  {
46493  return !(x == y);
46494  }
46495 
46496  // ContinuousProjection
46497  //
46498 
46500  ContinuousProjection (const id_type& id,
46501  const presynapticPopulation_type& presynapticPopulation,
46502  const postsynapticPopulation_type& postsynapticPopulation)
46503  : ::neuroml2::BaseProjection (id,
46504  presynapticPopulation,
46505  postsynapticPopulation),
46506  continuousConnection_ (this),
46507  continuousConnectionInstance_ (this),
46508  continuousConnectionInstanceW_ (this)
46509  {
46510  }
46511 
46514  ::xml_schema::flags f,
46515  ::xml_schema::container* c)
46516  : ::neuroml2::BaseProjection (x, f, c),
46517  continuousConnection_ (x.continuousConnection_, f, this),
46518  continuousConnectionInstance_ (x.continuousConnectionInstance_, f, this),
46519  continuousConnectionInstanceW_ (x.continuousConnectionInstanceW_, f, this)
46520  {
46521  }
46522 
46524  ContinuousProjection (const ::xercesc::DOMElement& e,
46525  ::xml_schema::flags f,
46526  ::xml_schema::container* c)
46527  : ::neuroml2::BaseProjection (e, f | ::xml_schema::flags::base, c),
46528  continuousConnection_ (this),
46529  continuousConnectionInstance_ (this),
46530  continuousConnectionInstanceW_ (this)
46531  {
46532  if ((f & ::xml_schema::flags::base) == 0)
46533  {
46534  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
46535  this->parse (p, f);
46536  }
46537  }
46538 
46539  void ContinuousProjection::
46540  parse (::xsd::cxx::xml::dom::parser< char >& p,
46541  ::xml_schema::flags f)
46542  {
46543  this->::neuroml2::BaseProjection::parse (p, f);
46544 
46545  for (; p.more_content (); p.next_content (false))
46546  {
46547  const ::xercesc::DOMElement& i (p.cur_element ());
46548  const ::xsd::cxx::xml::qualified_name< char > n (
46549  ::xsd::cxx::xml::dom::name< char > (i));
46550 
46551  // continuousConnection
46552  //
46553  if (n.name () == "continuousConnection" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
46554  {
46555  ::std::unique_ptr< continuousConnection_type > r (
46556  continuousConnection_traits::create (i, f, this));
46557 
46558  this->continuousConnection_.push_back (::std::move (r));
46559  continue;
46560  }
46561 
46562  // continuousConnectionInstance
46563  //
46564  if (n.name () == "continuousConnectionInstance" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
46565  {
46566  ::std::unique_ptr< continuousConnectionInstance_type > r (
46567  continuousConnectionInstance_traits::create (i, f, this));
46568 
46569  this->continuousConnectionInstance_.push_back (::std::move (r));
46570  continue;
46571  }
46572 
46573  // continuousConnectionInstanceW
46574  //
46575  if (n.name () == "continuousConnectionInstanceW" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
46576  {
46577  ::std::unique_ptr< continuousConnectionInstanceW_type > r (
46578  continuousConnectionInstanceW_traits::create (i, f, this));
46579 
46580  this->continuousConnectionInstanceW_.push_back (::std::move (r));
46581  continue;
46582  }
46583 
46584  break;
46585  }
46586  }
46587 
46590  ::xml_schema::container* c) const
46591  {
46592  return new class ContinuousProjection (*this, f, c);
46593  }
46594 
46597  {
46598  if (this != &x)
46599  {
46600  static_cast< ::neuroml2::BaseProjection& > (*this) = x;
46601  this->continuousConnection_ = x.continuousConnection_;
46602  this->continuousConnectionInstance_ = x.continuousConnectionInstance_;
46603  this->continuousConnectionInstanceW_ = x.continuousConnectionInstanceW_;
46604  }
46605 
46606  return *this;
46607  }
46608 
46611  {
46612  }
46613 
46614  bool
46615  operator== (const ContinuousProjection& x, const ContinuousProjection& y)
46616  {
46617  if (!(static_cast< const ::neuroml2::BaseProjection& > (x) ==
46618  static_cast< const ::neuroml2::BaseProjection& > (y)))
46619  return false;
46620 
46621  if (!(x.continuousConnection () == y.continuousConnection ()))
46622  return false;
46623 
46625  return false;
46626 
46628  return false;
46629 
46630  return true;
46631  }
46632 
46633  bool
46634  operator!= (const ContinuousProjection& x, const ContinuousProjection& y)
46635  {
46636  return !(x == y);
46637  }
46638 
46639  // ContinuousConnection
46640  //
46641 
46643  ContinuousConnection (const id_type& id,
46644  const preCell_type& preCell,
46645  const postCell_type& postCell,
46646  const preComponent_type& preComponent,
46647  const postComponent_type& postComponent)
46649  preCell,
46650  postCell),
46651  preComponent_ (preComponent, this),
46652  postComponent_ (postComponent, this)
46653  {
46654  }
46655 
46658  ::xml_schema::flags f,
46659  ::xml_schema::container* c)
46660  : ::neuroml2::BaseConnectionNewFormat (x, f, c),
46661  preComponent_ (x.preComponent_, f, this),
46662  postComponent_ (x.postComponent_, f, this)
46663  {
46664  }
46665 
46667  ContinuousConnection (const ::xercesc::DOMElement& e,
46668  ::xml_schema::flags f,
46669  ::xml_schema::container* c)
46670  : ::neuroml2::BaseConnectionNewFormat (e, f | ::xml_schema::flags::base, c),
46671  preComponent_ (this),
46672  postComponent_ (this)
46673  {
46674  if ((f & ::xml_schema::flags::base) == 0)
46675  {
46676  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
46677  this->parse (p, f);
46678  }
46679  }
46680 
46681  void ContinuousConnection::
46682  parse (::xsd::cxx::xml::dom::parser< char >& p,
46683  ::xml_schema::flags f)
46684  {
46685  this->::neuroml2::BaseConnectionNewFormat::parse (p, f);
46686 
46687  p.reset_attributes ();
46688 
46689  while (p.more_attributes ())
46690  {
46691  const ::xercesc::DOMAttr& i (p.next_attribute ());
46692  const ::xsd::cxx::xml::qualified_name< char > n (
46693  ::xsd::cxx::xml::dom::name< char > (i));
46694 
46695  if (n.name () == "preComponent" && n.namespace_ ().empty ())
46696  {
46697  this->preComponent_.set (preComponent_traits::create (i, f, this));
46698  continue;
46699  }
46700 
46701  if (n.name () == "postComponent" && n.namespace_ ().empty ())
46702  {
46703  this->postComponent_.set (postComponent_traits::create (i, f, this));
46704  continue;
46705  }
46706  }
46707 
46708  if (!preComponent_.present ())
46709  {
46710  throw ::xsd::cxx::tree::expected_attribute< char > (
46711  "preComponent",
46712  "");
46713  }
46714 
46715  if (!postComponent_.present ())
46716  {
46717  throw ::xsd::cxx::tree::expected_attribute< char > (
46718  "postComponent",
46719  "");
46720  }
46721  }
46722 
46725  ::xml_schema::container* c) const
46726  {
46727  return new class ContinuousConnection (*this, f, c);
46728  }
46729 
46732  {
46733  if (this != &x)
46734  {
46735  static_cast< ::neuroml2::BaseConnectionNewFormat& > (*this) = x;
46736  this->preComponent_ = x.preComponent_;
46737  this->postComponent_ = x.postComponent_;
46738  }
46739 
46740  return *this;
46741  }
46742 
46745  {
46746  }
46747 
46748  bool
46749  operator== (const ContinuousConnection& x, const ContinuousConnection& y)
46750  {
46751  if (!(static_cast< const ::neuroml2::BaseConnectionNewFormat& > (x) ==
46752  static_cast< const ::neuroml2::BaseConnectionNewFormat& > (y)))
46753  return false;
46754 
46755  if (!(x.preComponent () == y.preComponent ()))
46756  return false;
46757 
46758  if (!(x.postComponent () == y.postComponent ()))
46759  return false;
46760 
46761  return true;
46762  }
46763 
46764  bool
46765  operator!= (const ContinuousConnection& x, const ContinuousConnection& y)
46766  {
46767  return !(x == y);
46768  }
46769 
46770  // ContinuousConnectionInstance
46771  //
46772 
46775  const preCell_type& preCell,
46776  const postCell_type& postCell,
46777  const preComponent_type& preComponent,
46778  const postComponent_type& postComponent)
46780  preCell,
46781  postCell,
46782  preComponent,
46783  postComponent)
46784  {
46785  }
46786 
46789  ::xml_schema::flags f,
46790  ::xml_schema::container* c)
46791  : ::neuroml2::ContinuousConnection (x, f, c)
46792  {
46793  }
46794 
46796  ContinuousConnectionInstance (const ::xercesc::DOMElement& e,
46797  ::xml_schema::flags f,
46798  ::xml_schema::container* c)
46799  : ::neuroml2::ContinuousConnection (e, f, c)
46800  {
46801  }
46802 
46805  ::xml_schema::container* c) const
46806  {
46807  return new class ContinuousConnectionInstance (*this, f, c);
46808  }
46809 
46812  {
46813  }
46814 
46815  // ContinuousConnectionInstanceW
46816  //
46817 
46820  const preCell_type& preCell,
46821  const postCell_type& postCell,
46822  const preComponent_type& preComponent,
46823  const postComponent_type& postComponent,
46824  const weight_type& weight)
46826  preCell,
46827  postCell,
46828  preComponent,
46829  postComponent),
46830  weight_ (weight, this)
46831  {
46832  }
46833 
46836  ::xml_schema::flags f,
46837  ::xml_schema::container* c)
46838  : ::neuroml2::ContinuousConnectionInstance (x, f, c),
46839  weight_ (x.weight_, f, this)
46840  {
46841  }
46842 
46844  ContinuousConnectionInstanceW (const ::xercesc::DOMElement& e,
46845  ::xml_schema::flags f,
46846  ::xml_schema::container* c)
46847  : ::neuroml2::ContinuousConnectionInstance (e, f | ::xml_schema::flags::base, c),
46848  weight_ (this)
46849  {
46850  if ((f & ::xml_schema::flags::base) == 0)
46851  {
46852  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
46853  this->parse (p, f);
46854  }
46855  }
46856 
46857  void ContinuousConnectionInstanceW::
46858  parse (::xsd::cxx::xml::dom::parser< char >& p,
46859  ::xml_schema::flags f)
46860  {
46861  this->::neuroml2::ContinuousConnectionInstance::parse (p, f);
46862 
46863  p.reset_attributes ();
46864 
46865  while (p.more_attributes ())
46866  {
46867  const ::xercesc::DOMAttr& i (p.next_attribute ());
46868  const ::xsd::cxx::xml::qualified_name< char > n (
46869  ::xsd::cxx::xml::dom::name< char > (i));
46870 
46871  if (n.name () == "weight" && n.namespace_ ().empty ())
46872  {
46873  this->weight_.set (weight_traits::create (i, f, this));
46874  continue;
46875  }
46876  }
46877 
46878  if (!weight_.present ())
46879  {
46880  throw ::xsd::cxx::tree::expected_attribute< char > (
46881  "weight",
46882  "");
46883  }
46884  }
46885 
46888  ::xml_schema::container* c) const
46889  {
46890  return new class ContinuousConnectionInstanceW (*this, f, c);
46891  }
46892 
46895  {
46896  if (this != &x)
46897  {
46898  static_cast< ::neuroml2::ContinuousConnectionInstance& > (*this) = x;
46899  this->weight_ = x.weight_;
46900  }
46901 
46902  return *this;
46903  }
46904 
46907  {
46908  }
46909 
46910  bool
46911  operator== (const ContinuousConnectionInstanceW& x, const ContinuousConnectionInstanceW& y)
46912  {
46913  if (!(static_cast< const ::neuroml2::ContinuousConnectionInstance& > (x) ==
46914  static_cast< const ::neuroml2::ContinuousConnectionInstance& > (y)))
46915  return false;
46916 
46917  if (!(x.weight () == y.weight ()))
46918  return false;
46919 
46920  return true;
46921  }
46922 
46923  bool
46924  operator!= (const ContinuousConnectionInstanceW& x, const ContinuousConnectionInstanceW& y)
46925  {
46926  return !(x == y);
46927  }
46928 
46929  // ExplicitInput
46930  //
46931 
46933  ExplicitInput (const target_type& target,
46934  const input_type& input)
46935  : ::neuroml2::BaseWithoutId (),
46936  target_ (target, this),
46937  input_ (input, this),
46938  destination_ (this)
46939  {
46940  }
46941 
46943  ExplicitInput (const ExplicitInput& x,
46944  ::xml_schema::flags f,
46945  ::xml_schema::container* c)
46946  : ::neuroml2::BaseWithoutId (x, f, c),
46947  target_ (x.target_, f, this),
46948  input_ (x.input_, f, this),
46949  destination_ (x.destination_, f, this)
46950  {
46951  }
46952 
46954  ExplicitInput (const ::xercesc::DOMElement& e,
46955  ::xml_schema::flags f,
46956  ::xml_schema::container* c)
46957  : ::neuroml2::BaseWithoutId (e, f | ::xml_schema::flags::base, c),
46958  target_ (this),
46959  input_ (this),
46960  destination_ (this)
46961  {
46962  if ((f & ::xml_schema::flags::base) == 0)
46963  {
46964  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
46965  this->parse (p, f);
46966  }
46967  }
46968 
46969  void ExplicitInput::
46970  parse (::xsd::cxx::xml::dom::parser< char >& p,
46971  ::xml_schema::flags f)
46972  {
46973  while (p.more_attributes ())
46974  {
46975  const ::xercesc::DOMAttr& i (p.next_attribute ());
46976  const ::xsd::cxx::xml::qualified_name< char > n (
46977  ::xsd::cxx::xml::dom::name< char > (i));
46978 
46979  if (n.name () == "target" && n.namespace_ ().empty ())
46980  {
46981  this->target_.set (target_traits::create (i, f, this));
46982  continue;
46983  }
46984 
46985  if (n.name () == "input" && n.namespace_ ().empty ())
46986  {
46987  this->input_.set (input_traits::create (i, f, this));
46988  continue;
46989  }
46990 
46991  if (n.name () == "destination" && n.namespace_ ().empty ())
46992  {
46993  this->destination_.set (destination_traits::create (i, f, this));
46994  continue;
46995  }
46996  }
46997 
46998  if (!target_.present ())
46999  {
47000  throw ::xsd::cxx::tree::expected_attribute< char > (
47001  "target",
47002  "");
47003  }
47004 
47005  if (!input_.present ())
47006  {
47007  throw ::xsd::cxx::tree::expected_attribute< char > (
47008  "input",
47009  "");
47010  }
47011  }
47012 
47015  ::xml_schema::container* c) const
47016  {
47017  return new class ExplicitInput (*this, f, c);
47018  }
47019 
47021  operator= (const ExplicitInput& x)
47022  {
47023  if (this != &x)
47024  {
47025  static_cast< ::neuroml2::BaseWithoutId& > (*this) = x;
47026  this->target_ = x.target_;
47027  this->input_ = x.input_;
47028  this->destination_ = x.destination_;
47029  }
47030 
47031  return *this;
47032  }
47033 
47035  ~ExplicitInput ()
47036  {
47037  }
47038 
47039  bool
47040  operator== (const ExplicitInput& x, const ExplicitInput& y)
47041  {
47042  if (!(x.target () == y.target ()))
47043  return false;
47044 
47045  if (!(x.input () == y.input ()))
47046  return false;
47047 
47048  if (!(x.destination () == y.destination ()))
47049  return false;
47050 
47051  return true;
47052  }
47053 
47054  bool
47055  operator!= (const ExplicitInput& x, const ExplicitInput& y)
47056  {
47057  return !(x == y);
47058  }
47059 
47060  // InputList
47061  //
47062 
47064  InputList (const id_type& id,
47065  const population_type& population,
47066  const component_type& component)
47067  : ::neuroml2::Base (id),
47068  input_ (this),
47069  inputW_ (this),
47070  population_ (population, this),
47071  component_ (component, this)
47072  {
47073  }
47074 
47076  InputList (const InputList& x,
47077  ::xml_schema::flags f,
47078  ::xml_schema::container* c)
47079  : ::neuroml2::Base (x, f, c),
47080  input_ (x.input_, f, this),
47081  inputW_ (x.inputW_, f, this),
47082  population_ (x.population_, f, this),
47083  component_ (x.component_, f, this)
47084  {
47085  }
47086 
47088  InputList (const ::xercesc::DOMElement& e,
47089  ::xml_schema::flags f,
47090  ::xml_schema::container* c)
47091  : ::neuroml2::Base (e, f | ::xml_schema::flags::base, c),
47092  input_ (this),
47093  inputW_ (this),
47094  population_ (this),
47095  component_ (this)
47096  {
47097  if ((f & ::xml_schema::flags::base) == 0)
47098  {
47099  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
47100  this->parse (p, f);
47101  }
47102  }
47103 
47104  void InputList::
47105  parse (::xsd::cxx::xml::dom::parser< char >& p,
47106  ::xml_schema::flags f)
47107  {
47108  this->::neuroml2::Base::parse (p, f);
47109 
47110  for (; p.more_content (); p.next_content (false))
47111  {
47112  const ::xercesc::DOMElement& i (p.cur_element ());
47113  const ::xsd::cxx::xml::qualified_name< char > n (
47114  ::xsd::cxx::xml::dom::name< char > (i));
47115 
47116  // input
47117  //
47118  if (n.name () == "input" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
47119  {
47120  ::std::unique_ptr< input_type > r (
47121  input_traits::create (i, f, this));
47122 
47123  this->input_.push_back (::std::move (r));
47124  continue;
47125  }
47126 
47127  // inputW
47128  //
47129  if (n.name () == "inputW" && n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
47130  {
47131  ::std::unique_ptr< inputW_type > r (
47132  inputW_traits::create (i, f, this));
47133 
47134  this->inputW_.push_back (::std::move (r));
47135  continue;
47136  }
47137 
47138  break;
47139  }
47140 
47141  p.reset_attributes ();
47142 
47143  while (p.more_attributes ())
47144  {
47145  const ::xercesc::DOMAttr& i (p.next_attribute ());
47146  const ::xsd::cxx::xml::qualified_name< char > n (
47147  ::xsd::cxx::xml::dom::name< char > (i));
47148 
47149  if (n.name () == "population" && n.namespace_ ().empty ())
47150  {
47151  this->population_.set (population_traits::create (i, f, this));
47152  continue;
47153  }
47154 
47155  if (n.name () == "component" && n.namespace_ ().empty ())
47156  {
47157  this->component_.set (component_traits::create (i, f, this));
47158  continue;
47159  }
47160  }
47161 
47162  if (!population_.present ())
47163  {
47164  throw ::xsd::cxx::tree::expected_attribute< char > (
47165  "population",
47166  "");
47167  }
47168 
47169  if (!component_.present ())
47170  {
47171  throw ::xsd::cxx::tree::expected_attribute< char > (
47172  "component",
47173  "");
47174  }
47175  }
47176 
47179  ::xml_schema::container* c) const
47180  {
47181  return new class InputList (*this, f, c);
47182  }
47183 
47185  operator= (const InputList& x)
47186  {
47187  if (this != &x)
47188  {
47189  static_cast< ::neuroml2::Base& > (*this) = x;
47190  this->input_ = x.input_;
47191  this->inputW_ = x.inputW_;
47192  this->population_ = x.population_;
47193  this->component_ = x.component_;
47194  }
47195 
47196  return *this;
47197  }
47198 
47200  ~InputList ()
47201  {
47202  }
47203 
47204  bool
47205  operator== (const InputList& x, const InputList& y)
47206  {
47207  if (!(static_cast< const ::neuroml2::Base& > (x) ==
47208  static_cast< const ::neuroml2::Base& > (y)))
47209  return false;
47210 
47211  if (!(x.input () == y.input ()))
47212  return false;
47213 
47214  if (!(x.inputW () == y.inputW ()))
47215  return false;
47216 
47217  if (!(x.population () == y.population ()))
47218  return false;
47219 
47220  if (!(x.component () == y.component ()))
47221  return false;
47222 
47223  return true;
47224  }
47225 
47226  bool
47227  operator!= (const InputList& x, const InputList& y)
47228  {
47229  return !(x == y);
47230  }
47231 
47232  // Input
47233  //
47234 
47236  Input (const id_type& id,
47237  const target_type& target,
47238  const destination_type& destination)
47240  target_ (target, this),
47241  destination_ (destination, this),
47242  segmentId_ (this),
47243  fractionAlong_ (this)
47244  {
47245  }
47246 
47248  Input (const Input& x,
47249  ::xml_schema::flags f,
47250  ::xml_schema::container* c)
47251  : ::neuroml2::BaseNonNegativeIntegerId (x, f, c),
47252  target_ (x.target_, f, this),
47253  destination_ (x.destination_, f, this),
47254  segmentId_ (x.segmentId_, f, this),
47255  fractionAlong_ (x.fractionAlong_, f, this)
47256  {
47257  }
47258 
47260  Input (const ::xercesc::DOMElement& e,
47261  ::xml_schema::flags f,
47262  ::xml_schema::container* c)
47263  : ::neuroml2::BaseNonNegativeIntegerId (e, f | ::xml_schema::flags::base, c),
47264  target_ (this),
47265  destination_ (this),
47266  segmentId_ (this),
47267  fractionAlong_ (this)
47268  {
47269  if ((f & ::xml_schema::flags::base) == 0)
47270  {
47271  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
47272  this->parse (p, f);
47273  }
47274  }
47275 
47276  void Input::
47277  parse (::xsd::cxx::xml::dom::parser< char >& p,
47278  ::xml_schema::flags f)
47279  {
47280  this->::neuroml2::BaseNonNegativeIntegerId::parse (p, f);
47281 
47282  p.reset_attributes ();
47283 
47284  while (p.more_attributes ())
47285  {
47286  const ::xercesc::DOMAttr& i (p.next_attribute ());
47287  const ::xsd::cxx::xml::qualified_name< char > n (
47288  ::xsd::cxx::xml::dom::name< char > (i));
47289 
47290  if (n.name () == "target" && n.namespace_ ().empty ())
47291  {
47292  this->target_.set (target_traits::create (i, f, this));
47293  continue;
47294  }
47295 
47296  if (n.name () == "destination" && n.namespace_ ().empty ())
47297  {
47298  this->destination_.set (destination_traits::create (i, f, this));
47299  continue;
47300  }
47301 
47302  if (n.name () == "segmentId" && n.namespace_ ().empty ())
47303  {
47304  this->segmentId_.set (segmentId_traits::create (i, f, this));
47305  continue;
47306  }
47307 
47308  if (n.name () == "fractionAlong" && n.namespace_ ().empty ())
47309  {
47310  this->fractionAlong_.set (fractionAlong_traits::create (i, f, this));
47311  continue;
47312  }
47313  }
47314 
47315  if (!target_.present ())
47316  {
47317  throw ::xsd::cxx::tree::expected_attribute< char > (
47318  "target",
47319  "");
47320  }
47321 
47322  if (!destination_.present ())
47323  {
47324  throw ::xsd::cxx::tree::expected_attribute< char > (
47325  "destination",
47326  "");
47327  }
47328  }
47329 
47332  ::xml_schema::container* c) const
47333  {
47334  return new class Input (*this, f, c);
47335  }
47336 
47338  operator= (const Input& x)
47339  {
47340  if (this != &x)
47341  {
47342  static_cast< ::neuroml2::BaseNonNegativeIntegerId& > (*this) = x;
47343  this->target_ = x.target_;
47344  this->destination_ = x.destination_;
47345  this->segmentId_ = x.segmentId_;
47346  this->fractionAlong_ = x.fractionAlong_;
47347  }
47348 
47349  return *this;
47350  }
47351 
47353  ~Input ()
47354  {
47355  }
47356 
47357  bool
47358  operator== (const Input& x, const Input& y)
47359  {
47360  if (!(static_cast< const ::neuroml2::BaseNonNegativeIntegerId& > (x) ==
47361  static_cast< const ::neuroml2::BaseNonNegativeIntegerId& > (y)))
47362  return false;
47363 
47364  if (!(x.target () == y.target ()))
47365  return false;
47366 
47367  if (!(x.destination () == y.destination ()))
47368  return false;
47369 
47370  if (!(x.segmentId () == y.segmentId ()))
47371  return false;
47372 
47373  if (!(x.fractionAlong () == y.fractionAlong ()))
47374  return false;
47375 
47376  return true;
47377  }
47378 
47379  bool
47380  operator!= (const Input& x, const Input& y)
47381  {
47382  return !(x == y);
47383  }
47384 
47385  // InputW
47386  //
47387 
47389  InputW (const id_type& id,
47390  const target_type& target,
47391  const destination_type& destination,
47392  const weight_type& weight)
47393  : ::neuroml2::Input (id,
47394  target,
47395  destination),
47396  weight_ (weight, this)
47397  {
47398  }
47399 
47401  InputW (const InputW& x,
47402  ::xml_schema::flags f,
47403  ::xml_schema::container* c)
47404  : ::neuroml2::Input (x, f, c),
47405  weight_ (x.weight_, f, this)
47406  {
47407  }
47408 
47410  InputW (const ::xercesc::DOMElement& e,
47411  ::xml_schema::flags f,
47412  ::xml_schema::container* c)
47413  : ::neuroml2::Input (e, f | ::xml_schema::flags::base, c),
47414  weight_ (this)
47415  {
47416  if ((f & ::xml_schema::flags::base) == 0)
47417  {
47418  ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true);
47419  this->parse (p, f);
47420  }
47421  }
47422 
47423  void InputW::
47424  parse (::xsd::cxx::xml::dom::parser< char >& p,
47425  ::xml_schema::flags f)
47426  {
47427  this->::neuroml2::Input::parse (p, f);
47428 
47429  p.reset_attributes ();
47430 
47431  while (p.more_attributes ())
47432  {
47433  const ::xercesc::DOMAttr& i (p.next_attribute ());
47434  const ::xsd::cxx::xml::qualified_name< char > n (
47435  ::xsd::cxx::xml::dom::name< char > (i));
47436 
47437  if (n.name () == "weight" && n.namespace_ ().empty ())
47438  {
47439  this->weight_.set (weight_traits::create (i, f, this));
47440  continue;
47441  }
47442  }
47443 
47444  if (!weight_.present ())
47445  {
47446  throw ::xsd::cxx::tree::expected_attribute< char > (
47447  "weight",
47448  "");
47449  }
47450  }
47451 
47454  ::xml_schema::container* c) const
47455  {
47456  return new class InputW (*this, f, c);
47457  }
47458 
47460  operator= (const InputW& x)
47461  {
47462  if (this != &x)
47463  {
47464  static_cast< ::neuroml2::Input& > (*this) = x;
47465  this->weight_ = x.weight_;
47466  }
47467 
47468  return *this;
47469  }
47470 
47472  ~InputW ()
47473  {
47474  }
47475 
47476  bool
47477  operator== (const InputW& x, const InputW& y)
47478  {
47479  if (!(static_cast< const ::neuroml2::Input& > (x) ==
47480  static_cast< const ::neuroml2::Input& > (y)))
47481  return false;
47482 
47483  if (!(x.weight () == y.weight ()))
47484  return false;
47485 
47486  return true;
47487  }
47488 
47489  bool
47490  operator!= (const InputW& x, const InputW& y)
47491  {
47492  return !(x == y);
47493  }
47494 
47495  // basePyNNCell
47496  //
47497 
47499  basePyNNCell (const id_type& id,
47500  const cm_type& cm,
47501  const i_offset_type& i_offset,
47502  const tau_syn_E_type& tau_syn_E,
47503  const tau_syn_I_type& tau_syn_I,
47504  const v_init_type& v_init)
47505  : ::neuroml2::BaseCell (id),
47506  cm_ (cm, this),
47507  i_offset_ (i_offset, this),
47508  tau_syn_E_ (tau_syn_E, this),
47509  tau_syn_I_ (tau_syn_I, this),
47510  v_init_ (v_init, this)
47511  {
47512  }
47513 
47515  basePyNNCell (const basePyNNCell& x,
47516  ::xml_schema::flags f,
47517  ::xml_schema::container* c)
47518  : ::neuroml2::BaseCell (x, f, c),
47519  cm_ (x.cm_, f, this),
47520  i_offset_ (x.i_offset_, f, this),
47521  tau_syn_E_ (x.tau_syn_E_, f, this),
47522  tau_syn_I_ (x.tau_syn_I_, f, this),
47523  v_init_ (x.v_init_, f, this)
47524  {
47525  }
47526 
47528  basePyNNCell (const ::xercesc::DOMElement& e,
47529  ::xml_schema::flags f,
47530  ::xml_schema::container* c)
47531  : ::neuroml2::BaseCell (e, f | ::xml_schema::flags::base, c),
47532  cm_ (this),
47533  i_offset_ (this),
47534  tau_syn_E_ (this),
47535  tau_syn_I_ (this),
47536  v_init_ (this)
47537  {
47538  if ((f & ::xml_schema::flags::base) == 0)
47539  {
47540  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
47541  this->parse (p, f);
47542  }
47543  }
47544 
47545  void basePyNNCell::
47546  parse (::xsd::cxx::xml::dom::parser< char >& p,
47547  ::xml_schema::flags f)
47548  {
47549  this->::neuroml2::BaseCell::parse (p, f);
47550 
47551  p.reset_attributes ();
47552 
47553  while (p.more_attributes ())
47554  {
47555  const ::xercesc::DOMAttr& i (p.next_attribute ());
47556  const ::xsd::cxx::xml::qualified_name< char > n (
47557  ::xsd::cxx::xml::dom::name< char > (i));
47558 
47559  if (n.name () == "cm" && n.namespace_ ().empty ())
47560  {
47561  this->cm_.set (cm_traits::create (i, f, this));
47562  continue;
47563  }
47564 
47565  if (n.name () == "i_offset" && n.namespace_ ().empty ())
47566  {
47567  this->i_offset_.set (i_offset_traits::create (i, f, this));
47568  continue;
47569  }
47570 
47571  if (n.name () == "tau_syn_E" && n.namespace_ ().empty ())
47572  {
47573  this->tau_syn_E_.set (tau_syn_E_traits::create (i, f, this));
47574  continue;
47575  }
47576 
47577  if (n.name () == "tau_syn_I" && n.namespace_ ().empty ())
47578  {
47579  this->tau_syn_I_.set (tau_syn_I_traits::create (i, f, this));
47580  continue;
47581  }
47582 
47583  if (n.name () == "v_init" && n.namespace_ ().empty ())
47584  {
47585  this->v_init_.set (v_init_traits::create (i, f, this));
47586  continue;
47587  }
47588  }
47589 
47590  if (!cm_.present ())
47591  {
47592  throw ::xsd::cxx::tree::expected_attribute< char > (
47593  "cm",
47594  "");
47595  }
47596 
47597  if (!i_offset_.present ())
47598  {
47599  throw ::xsd::cxx::tree::expected_attribute< char > (
47600  "i_offset",
47601  "");
47602  }
47603 
47604  if (!tau_syn_E_.present ())
47605  {
47606  throw ::xsd::cxx::tree::expected_attribute< char > (
47607  "tau_syn_E",
47608  "");
47609  }
47610 
47611  if (!tau_syn_I_.present ())
47612  {
47613  throw ::xsd::cxx::tree::expected_attribute< char > (
47614  "tau_syn_I",
47615  "");
47616  }
47617 
47618  if (!v_init_.present ())
47619  {
47620  throw ::xsd::cxx::tree::expected_attribute< char > (
47621  "v_init",
47622  "");
47623  }
47624  }
47625 
47628  ::xml_schema::container* c) const
47629  {
47630  return new class basePyNNCell (*this, f, c);
47631  }
47632 
47634  operator= (const basePyNNCell& x)
47635  {
47636  if (this != &x)
47637  {
47638  static_cast< ::neuroml2::BaseCell& > (*this) = x;
47639  this->cm_ = x.cm_;
47640  this->i_offset_ = x.i_offset_;
47641  this->tau_syn_E_ = x.tau_syn_E_;
47642  this->tau_syn_I_ = x.tau_syn_I_;
47643  this->v_init_ = x.v_init_;
47644  }
47645 
47646  return *this;
47647  }
47648 
47650  ~basePyNNCell ()
47651  {
47652  }
47653 
47654  bool
47655  operator== (const basePyNNCell& x, const basePyNNCell& y)
47656  {
47657  if (!(static_cast< const ::neuroml2::BaseCell& > (x) ==
47658  static_cast< const ::neuroml2::BaseCell& > (y)))
47659  return false;
47660 
47661  if (!(x.cm () == y.cm ()))
47662  return false;
47663 
47664  if (!(x.i_offset () == y.i_offset ()))
47665  return false;
47666 
47667  if (!(x.tau_syn_E () == y.tau_syn_E ()))
47668  return false;
47669 
47670  if (!(x.tau_syn_I () == y.tau_syn_I ()))
47671  return false;
47672 
47673  if (!(x.v_init () == y.v_init ()))
47674  return false;
47675 
47676  return true;
47677  }
47678 
47679  bool
47680  operator!= (const basePyNNCell& x, const basePyNNCell& y)
47681  {
47682  return !(x == y);
47683  }
47684 
47685  // basePyNNIaFCell
47686  //
47687 
47689  basePyNNIaFCell (const id_type& id,
47690  const cm_type& cm,
47691  const i_offset_type& i_offset,
47692  const tau_syn_E_type& tau_syn_E,
47693  const tau_syn_I_type& tau_syn_I,
47694  const v_init_type& v_init,
47695  const tau_m_type& tau_m,
47696  const tau_refrac_type& tau_refrac,
47697  const v_reset_type& v_reset,
47698  const v_rest_type& v_rest,
47699  const v_thresh_type& v_thresh)
47700  : ::neuroml2::basePyNNCell (id,
47701  cm,
47702  i_offset,
47703  tau_syn_E,
47704  tau_syn_I,
47705  v_init),
47706  tau_m_ (tau_m, this),
47707  tau_refrac_ (tau_refrac, this),
47708  v_reset_ (v_reset, this),
47709  v_rest_ (v_rest, this),
47710  v_thresh_ (v_thresh, this)
47711  {
47712  }
47713 
47716  ::xml_schema::flags f,
47717  ::xml_schema::container* c)
47718  : ::neuroml2::basePyNNCell (x, f, c),
47719  tau_m_ (x.tau_m_, f, this),
47720  tau_refrac_ (x.tau_refrac_, f, this),
47721  v_reset_ (x.v_reset_, f, this),
47722  v_rest_ (x.v_rest_, f, this),
47723  v_thresh_ (x.v_thresh_, f, this)
47724  {
47725  }
47726 
47728  basePyNNIaFCell (const ::xercesc::DOMElement& e,
47729  ::xml_schema::flags f,
47730  ::xml_schema::container* c)
47731  : ::neuroml2::basePyNNCell (e, f | ::xml_schema::flags::base, c),
47732  tau_m_ (this),
47733  tau_refrac_ (this),
47734  v_reset_ (this),
47735  v_rest_ (this),
47736  v_thresh_ (this)
47737  {
47738  if ((f & ::xml_schema::flags::base) == 0)
47739  {
47740  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
47741  this->parse (p, f);
47742  }
47743  }
47744 
47745  void basePyNNIaFCell::
47746  parse (::xsd::cxx::xml::dom::parser< char >& p,
47747  ::xml_schema::flags f)
47748  {
47749  this->::neuroml2::basePyNNCell::parse (p, f);
47750 
47751  p.reset_attributes ();
47752 
47753  while (p.more_attributes ())
47754  {
47755  const ::xercesc::DOMAttr& i (p.next_attribute ());
47756  const ::xsd::cxx::xml::qualified_name< char > n (
47757  ::xsd::cxx::xml::dom::name< char > (i));
47758 
47759  if (n.name () == "tau_m" && n.namespace_ ().empty ())
47760  {
47761  this->tau_m_.set (tau_m_traits::create (i, f, this));
47762  continue;
47763  }
47764 
47765  if (n.name () == "tau_refrac" && n.namespace_ ().empty ())
47766  {
47767  this->tau_refrac_.set (tau_refrac_traits::create (i, f, this));
47768  continue;
47769  }
47770 
47771  if (n.name () == "v_reset" && n.namespace_ ().empty ())
47772  {
47773  this->v_reset_.set (v_reset_traits::create (i, f, this));
47774  continue;
47775  }
47776 
47777  if (n.name () == "v_rest" && n.namespace_ ().empty ())
47778  {
47779  this->v_rest_.set (v_rest_traits::create (i, f, this));
47780  continue;
47781  }
47782 
47783  if (n.name () == "v_thresh" && n.namespace_ ().empty ())
47784  {
47785  this->v_thresh_.set (v_thresh_traits::create (i, f, this));
47786  continue;
47787  }
47788  }
47789 
47790  if (!tau_m_.present ())
47791  {
47792  throw ::xsd::cxx::tree::expected_attribute< char > (
47793  "tau_m",
47794  "");
47795  }
47796 
47797  if (!tau_refrac_.present ())
47798  {
47799  throw ::xsd::cxx::tree::expected_attribute< char > (
47800  "tau_refrac",
47801  "");
47802  }
47803 
47804  if (!v_reset_.present ())
47805  {
47806  throw ::xsd::cxx::tree::expected_attribute< char > (
47807  "v_reset",
47808  "");
47809  }
47810 
47811  if (!v_rest_.present ())
47812  {
47813  throw ::xsd::cxx::tree::expected_attribute< char > (
47814  "v_rest",
47815  "");
47816  }
47817 
47818  if (!v_thresh_.present ())
47819  {
47820  throw ::xsd::cxx::tree::expected_attribute< char > (
47821  "v_thresh",
47822  "");
47823  }
47824  }
47825 
47828  ::xml_schema::container* c) const
47829  {
47830  return new class basePyNNIaFCell (*this, f, c);
47831  }
47832 
47834  operator= (const basePyNNIaFCell& x)
47835  {
47836  if (this != &x)
47837  {
47838  static_cast< ::neuroml2::basePyNNCell& > (*this) = x;
47839  this->tau_m_ = x.tau_m_;
47840  this->tau_refrac_ = x.tau_refrac_;
47841  this->v_reset_ = x.v_reset_;
47842  this->v_rest_ = x.v_rest_;
47843  this->v_thresh_ = x.v_thresh_;
47844  }
47845 
47846  return *this;
47847  }
47848 
47851  {
47852  }
47853 
47854  bool
47855  operator== (const basePyNNIaFCell& x, const basePyNNIaFCell& y)
47856  {
47857  if (!(static_cast< const ::neuroml2::basePyNNCell& > (x) ==
47858  static_cast< const ::neuroml2::basePyNNCell& > (y)))
47859  return false;
47860 
47861  if (!(x.tau_m () == y.tau_m ()))
47862  return false;
47863 
47864  if (!(x.tau_refrac () == y.tau_refrac ()))
47865  return false;
47866 
47867  if (!(x.v_reset () == y.v_reset ()))
47868  return false;
47869 
47870  if (!(x.v_rest () == y.v_rest ()))
47871  return false;
47872 
47873  if (!(x.v_thresh () == y.v_thresh ()))
47874  return false;
47875 
47876  return true;
47877  }
47878 
47879  bool
47880  operator!= (const basePyNNIaFCell& x, const basePyNNIaFCell& y)
47881  {
47882  return !(x == y);
47883  }
47884 
47885  // basePyNNIaFCondCell
47886  //
47887 
47889  basePyNNIaFCondCell (const id_type& id,
47890  const cm_type& cm,
47891  const i_offset_type& i_offset,
47892  const tau_syn_E_type& tau_syn_E,
47893  const tau_syn_I_type& tau_syn_I,
47894  const v_init_type& v_init,
47895  const tau_m_type& tau_m,
47896  const tau_refrac_type& tau_refrac,
47897  const v_reset_type& v_reset,
47898  const v_rest_type& v_rest,
47899  const v_thresh_type& v_thresh,
47900  const e_rev_E_type& e_rev_E,
47901  const e_rev_I_type& e_rev_I)
47902  : ::neuroml2::basePyNNIaFCell (id,
47903  cm,
47904  i_offset,
47905  tau_syn_E,
47906  tau_syn_I,
47907  v_init,
47908  tau_m,
47909  tau_refrac,
47910  v_reset,
47911  v_rest,
47912  v_thresh),
47913  e_rev_E_ (e_rev_E, this),
47914  e_rev_I_ (e_rev_I, this)
47915  {
47916  }
47917 
47920  ::xml_schema::flags f,
47921  ::xml_schema::container* c)
47922  : ::neuroml2::basePyNNIaFCell (x, f, c),
47923  e_rev_E_ (x.e_rev_E_, f, this),
47924  e_rev_I_ (x.e_rev_I_, f, this)
47925  {
47926  }
47927 
47929  basePyNNIaFCondCell (const ::xercesc::DOMElement& e,
47930  ::xml_schema::flags f,
47931  ::xml_schema::container* c)
47932  : ::neuroml2::basePyNNIaFCell (e, f | ::xml_schema::flags::base, c),
47933  e_rev_E_ (this),
47934  e_rev_I_ (this)
47935  {
47936  if ((f & ::xml_schema::flags::base) == 0)
47937  {
47938  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
47939  this->parse (p, f);
47940  }
47941  }
47942 
47943  void basePyNNIaFCondCell::
47944  parse (::xsd::cxx::xml::dom::parser< char >& p,
47945  ::xml_schema::flags f)
47946  {
47947  this->::neuroml2::basePyNNIaFCell::parse (p, f);
47948 
47949  p.reset_attributes ();
47950 
47951  while (p.more_attributes ())
47952  {
47953  const ::xercesc::DOMAttr& i (p.next_attribute ());
47954  const ::xsd::cxx::xml::qualified_name< char > n (
47955  ::xsd::cxx::xml::dom::name< char > (i));
47956 
47957  if (n.name () == "e_rev_E" && n.namespace_ ().empty ())
47958  {
47959  this->e_rev_E_.set (e_rev_E_traits::create (i, f, this));
47960  continue;
47961  }
47962 
47963  if (n.name () == "e_rev_I" && n.namespace_ ().empty ())
47964  {
47965  this->e_rev_I_.set (e_rev_I_traits::create (i, f, this));
47966  continue;
47967  }
47968  }
47969 
47970  if (!e_rev_E_.present ())
47971  {
47972  throw ::xsd::cxx::tree::expected_attribute< char > (
47973  "e_rev_E",
47974  "");
47975  }
47976 
47977  if (!e_rev_I_.present ())
47978  {
47979  throw ::xsd::cxx::tree::expected_attribute< char > (
47980  "e_rev_I",
47981  "");
47982  }
47983  }
47984 
47987  ::xml_schema::container* c) const
47988  {
47989  return new class basePyNNIaFCondCell (*this, f, c);
47990  }
47991 
47994  {
47995  if (this != &x)
47996  {
47997  static_cast< ::neuroml2::basePyNNIaFCell& > (*this) = x;
47998  this->e_rev_E_ = x.e_rev_E_;
47999  this->e_rev_I_ = x.e_rev_I_;
48000  }
48001 
48002  return *this;
48003  }
48004 
48007  {
48008  }
48009 
48010  bool
48011  operator== (const basePyNNIaFCondCell& x, const basePyNNIaFCondCell& y)
48012  {
48013  if (!(static_cast< const ::neuroml2::basePyNNIaFCell& > (x) ==
48014  static_cast< const ::neuroml2::basePyNNIaFCell& > (y)))
48015  return false;
48016 
48017  if (!(x.e_rev_E () == y.e_rev_E ()))
48018  return false;
48019 
48020  if (!(x.e_rev_I () == y.e_rev_I ()))
48021  return false;
48022 
48023  return true;
48024  }
48025 
48026  bool
48027  operator!= (const basePyNNIaFCondCell& x, const basePyNNIaFCondCell& y)
48028  {
48029  return !(x == y);
48030  }
48031 
48032  // IF_curr_alpha
48033  //
48034 
48036  IF_curr_alpha (const id_type& id,
48037  const cm_type& cm,
48038  const i_offset_type& i_offset,
48039  const tau_syn_E_type& tau_syn_E,
48040  const tau_syn_I_type& tau_syn_I,
48041  const v_init_type& v_init,
48042  const tau_m_type& tau_m,
48043  const tau_refrac_type& tau_refrac,
48044  const v_reset_type& v_reset,
48045  const v_rest_type& v_rest,
48046  const v_thresh_type& v_thresh)
48047  : ::neuroml2::basePyNNIaFCell (id,
48048  cm,
48049  i_offset,
48050  tau_syn_E,
48051  tau_syn_I,
48052  v_init,
48053  tau_m,
48054  tau_refrac,
48055  v_reset,
48056  v_rest,
48057  v_thresh)
48058  {
48059  }
48060 
48062  IF_curr_alpha (const IF_curr_alpha& x,
48063  ::xml_schema::flags f,
48064  ::xml_schema::container* c)
48065  : ::neuroml2::basePyNNIaFCell (x, f, c)
48066  {
48067  }
48068 
48070  IF_curr_alpha (const ::xercesc::DOMElement& e,
48071  ::xml_schema::flags f,
48072  ::xml_schema::container* c)
48073  : ::neuroml2::basePyNNIaFCell (e, f, c)
48074  {
48075  }
48076 
48079  ::xml_schema::container* c) const
48080  {
48081  return new class IF_curr_alpha (*this, f, c);
48082  }
48083 
48085  ~IF_curr_alpha ()
48086  {
48087  }
48088 
48089  // IF_curr_exp
48090  //
48091 
48093  IF_curr_exp (const id_type& id,
48094  const cm_type& cm,
48095  const i_offset_type& i_offset,
48096  const tau_syn_E_type& tau_syn_E,
48097  const tau_syn_I_type& tau_syn_I,
48098  const v_init_type& v_init,
48099  const tau_m_type& tau_m,
48100  const tau_refrac_type& tau_refrac,
48101  const v_reset_type& v_reset,
48102  const v_rest_type& v_rest,
48103  const v_thresh_type& v_thresh)
48104  : ::neuroml2::basePyNNIaFCell (id,
48105  cm,
48106  i_offset,
48107  tau_syn_E,
48108  tau_syn_I,
48109  v_init,
48110  tau_m,
48111  tau_refrac,
48112  v_reset,
48113  v_rest,
48114  v_thresh)
48115  {
48116  }
48117 
48119  IF_curr_exp (const IF_curr_exp& x,
48120  ::xml_schema::flags f,
48121  ::xml_schema::container* c)
48122  : ::neuroml2::basePyNNIaFCell (x, f, c)
48123  {
48124  }
48125 
48127  IF_curr_exp (const ::xercesc::DOMElement& e,
48128  ::xml_schema::flags f,
48129  ::xml_schema::container* c)
48130  : ::neuroml2::basePyNNIaFCell (e, f, c)
48131  {
48132  }
48133 
48136  ::xml_schema::container* c) const
48137  {
48138  return new class IF_curr_exp (*this, f, c);
48139  }
48140 
48142  ~IF_curr_exp ()
48143  {
48144  }
48145 
48146  // IF_cond_alpha
48147  //
48148 
48150  IF_cond_alpha (const id_type& id,
48151  const cm_type& cm,
48152  const i_offset_type& i_offset,
48153  const tau_syn_E_type& tau_syn_E,
48154  const tau_syn_I_type& tau_syn_I,
48155  const v_init_type& v_init,
48156  const tau_m_type& tau_m,
48157  const tau_refrac_type& tau_refrac,
48158  const v_reset_type& v_reset,
48159  const v_rest_type& v_rest,
48160  const v_thresh_type& v_thresh,
48161  const e_rev_E_type& e_rev_E,
48162  const e_rev_I_type& e_rev_I)
48164  cm,
48165  i_offset,
48166  tau_syn_E,
48167  tau_syn_I,
48168  v_init,
48169  tau_m,
48170  tau_refrac,
48171  v_reset,
48172  v_rest,
48173  v_thresh,
48174  e_rev_E,
48175  e_rev_I)
48176  {
48177  }
48178 
48180  IF_cond_alpha (const IF_cond_alpha& x,
48181  ::xml_schema::flags f,
48182  ::xml_schema::container* c)
48183  : ::neuroml2::basePyNNIaFCondCell (x, f, c)
48184  {
48185  }
48186 
48188  IF_cond_alpha (const ::xercesc::DOMElement& e,
48189  ::xml_schema::flags f,
48190  ::xml_schema::container* c)
48191  : ::neuroml2::basePyNNIaFCondCell (e, f, c)
48192  {
48193  }
48194 
48197  ::xml_schema::container* c) const
48198  {
48199  return new class IF_cond_alpha (*this, f, c);
48200  }
48201 
48203  ~IF_cond_alpha ()
48204  {
48205  }
48206 
48207  // IF_cond_exp
48208  //
48209 
48211  IF_cond_exp (const id_type& id,
48212  const cm_type& cm,
48213  const i_offset_type& i_offset,
48214  const tau_syn_E_type& tau_syn_E,
48215  const tau_syn_I_type& tau_syn_I,
48216  const v_init_type& v_init,
48217  const tau_m_type& tau_m,
48218  const tau_refrac_type& tau_refrac,
48219  const v_reset_type& v_reset,
48220  const v_rest_type& v_rest,
48221  const v_thresh_type& v_thresh,
48222  const e_rev_E_type& e_rev_E,
48223  const e_rev_I_type& e_rev_I)
48225  cm,
48226  i_offset,
48227  tau_syn_E,
48228  tau_syn_I,
48229  v_init,
48230  tau_m,
48231  tau_refrac,
48232  v_reset,
48233  v_rest,
48234  v_thresh,
48235  e_rev_E,
48236  e_rev_I)
48237  {
48238  }
48239 
48241  IF_cond_exp (const IF_cond_exp& x,
48242  ::xml_schema::flags f,
48243  ::xml_schema::container* c)
48244  : ::neuroml2::basePyNNIaFCondCell (x, f, c)
48245  {
48246  }
48247 
48249  IF_cond_exp (const ::xercesc::DOMElement& e,
48250  ::xml_schema::flags f,
48251  ::xml_schema::container* c)
48252  : ::neuroml2::basePyNNIaFCondCell (e, f, c)
48253  {
48254  }
48255 
48258  ::xml_schema::container* c) const
48259  {
48260  return new class IF_cond_exp (*this, f, c);
48261  }
48262 
48264  ~IF_cond_exp ()
48265  {
48266  }
48267 
48268  // EIF_cond_exp_isfa_ista
48269  //
48270 
48272  EIF_cond_exp_isfa_ista (const id_type& id,
48273  const cm_type& cm,
48274  const i_offset_type& i_offset,
48275  const tau_syn_E_type& tau_syn_E,
48276  const tau_syn_I_type& tau_syn_I,
48277  const v_init_type& v_init,
48278  const tau_m_type& tau_m,
48279  const tau_refrac_type& tau_refrac,
48280  const v_reset_type& v_reset,
48281  const v_rest_type& v_rest,
48282  const v_thresh_type& v_thresh,
48283  const e_rev_E_type& e_rev_E,
48284  const e_rev_I_type& e_rev_I,
48285  const a_type& a,
48286  const b_type& b,
48287  const delta_T_type& delta_T,
48288  const tau_w_type& tau_w,
48289  const v_spike_type& v_spike)
48291  cm,
48292  i_offset,
48293  tau_syn_E,
48294  tau_syn_I,
48295  v_init,
48296  tau_m,
48297  tau_refrac,
48298  v_reset,
48299  v_rest,
48300  v_thresh,
48301  e_rev_E,
48302  e_rev_I),
48303  a_ (a, this),
48304  b_ (b, this),
48305  delta_T_ (delta_T, this),
48306  tau_w_ (tau_w, this),
48307  v_spike_ (v_spike, this)
48308  {
48309  }
48310 
48313  ::xml_schema::flags f,
48314  ::xml_schema::container* c)
48315  : ::neuroml2::basePyNNIaFCondCell (x, f, c),
48316  a_ (x.a_, f, this),
48317  b_ (x.b_, f, this),
48318  delta_T_ (x.delta_T_, f, this),
48319  tau_w_ (x.tau_w_, f, this),
48320  v_spike_ (x.v_spike_, f, this)
48321  {
48322  }
48323 
48325  EIF_cond_exp_isfa_ista (const ::xercesc::DOMElement& e,
48326  ::xml_schema::flags f,
48327  ::xml_schema::container* c)
48328  : ::neuroml2::basePyNNIaFCondCell (e, f | ::xml_schema::flags::base, c),
48329  a_ (this),
48330  b_ (this),
48331  delta_T_ (this),
48332  tau_w_ (this),
48333  v_spike_ (this)
48334  {
48335  if ((f & ::xml_schema::flags::base) == 0)
48336  {
48337  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
48338  this->parse (p, f);
48339  }
48340  }
48341 
48342  void EIF_cond_exp_isfa_ista::
48343  parse (::xsd::cxx::xml::dom::parser< char >& p,
48344  ::xml_schema::flags f)
48345  {
48346  this->::neuroml2::basePyNNIaFCondCell::parse (p, f);
48347 
48348  p.reset_attributes ();
48349 
48350  while (p.more_attributes ())
48351  {
48352  const ::xercesc::DOMAttr& i (p.next_attribute ());
48353  const ::xsd::cxx::xml::qualified_name< char > n (
48354  ::xsd::cxx::xml::dom::name< char > (i));
48355 
48356  if (n.name () == "a" && n.namespace_ ().empty ())
48357  {
48358  this->a_.set (a_traits::create (i, f, this));
48359  continue;
48360  }
48361 
48362  if (n.name () == "b" && n.namespace_ ().empty ())
48363  {
48364  this->b_.set (b_traits::create (i, f, this));
48365  continue;
48366  }
48367 
48368  if (n.name () == "delta_T" && n.namespace_ ().empty ())
48369  {
48370  this->delta_T_.set (delta_T_traits::create (i, f, this));
48371  continue;
48372  }
48373 
48374  if (n.name () == "tau_w" && n.namespace_ ().empty ())
48375  {
48376  this->tau_w_.set (tau_w_traits::create (i, f, this));
48377  continue;
48378  }
48379 
48380  if (n.name () == "v_spike" && n.namespace_ ().empty ())
48381  {
48382  this->v_spike_.set (v_spike_traits::create (i, f, this));
48383  continue;
48384  }
48385  }
48386 
48387  if (!a_.present ())
48388  {
48389  throw ::xsd::cxx::tree::expected_attribute< char > (
48390  "a",
48391  "");
48392  }
48393 
48394  if (!b_.present ())
48395  {
48396  throw ::xsd::cxx::tree::expected_attribute< char > (
48397  "b",
48398  "");
48399  }
48400 
48401  if (!delta_T_.present ())
48402  {
48403  throw ::xsd::cxx::tree::expected_attribute< char > (
48404  "delta_T",
48405  "");
48406  }
48407 
48408  if (!tau_w_.present ())
48409  {
48410  throw ::xsd::cxx::tree::expected_attribute< char > (
48411  "tau_w",
48412  "");
48413  }
48414 
48415  if (!v_spike_.present ())
48416  {
48417  throw ::xsd::cxx::tree::expected_attribute< char > (
48418  "v_spike",
48419  "");
48420  }
48421  }
48422 
48425  ::xml_schema::container* c) const
48426  {
48427  return new class EIF_cond_exp_isfa_ista (*this, f, c);
48428  }
48429 
48432  {
48433  if (this != &x)
48434  {
48435  static_cast< ::neuroml2::basePyNNIaFCondCell& > (*this) = x;
48436  this->a_ = x.a_;
48437  this->b_ = x.b_;
48438  this->delta_T_ = x.delta_T_;
48439  this->tau_w_ = x.tau_w_;
48440  this->v_spike_ = x.v_spike_;
48441  }
48442 
48443  return *this;
48444  }
48445 
48448  {
48449  }
48450 
48451  bool
48452  operator== (const EIF_cond_exp_isfa_ista& x, const EIF_cond_exp_isfa_ista& y)
48453  {
48454  if (!(static_cast< const ::neuroml2::basePyNNIaFCondCell& > (x) ==
48455  static_cast< const ::neuroml2::basePyNNIaFCondCell& > (y)))
48456  return false;
48457 
48458  if (!(x.a () == y.a ()))
48459  return false;
48460 
48461  if (!(x.b () == y.b ()))
48462  return false;
48463 
48464  if (!(x.delta_T () == y.delta_T ()))
48465  return false;
48466 
48467  if (!(x.tau_w () == y.tau_w ()))
48468  return false;
48469 
48470  if (!(x.v_spike () == y.v_spike ()))
48471  return false;
48472 
48473  return true;
48474  }
48475 
48476  bool
48477  operator!= (const EIF_cond_exp_isfa_ista& x, const EIF_cond_exp_isfa_ista& y)
48478  {
48479  return !(x == y);
48480  }
48481 
48482  // EIF_cond_alpha_isfa_ista
48483  //
48484 
48487  const cm_type& cm,
48488  const i_offset_type& i_offset,
48489  const tau_syn_E_type& tau_syn_E,
48490  const tau_syn_I_type& tau_syn_I,
48491  const v_init_type& v_init,
48492  const tau_m_type& tau_m,
48493  const tau_refrac_type& tau_refrac,
48494  const v_reset_type& v_reset,
48495  const v_rest_type& v_rest,
48496  const v_thresh_type& v_thresh,
48497  const e_rev_E_type& e_rev_E,
48498  const e_rev_I_type& e_rev_I,
48499  const a_type& a,
48500  const b_type& b,
48501  const delta_T_type& delta_T,
48502  const tau_w_type& tau_w,
48503  const v_spike_type& v_spike)
48505  cm,
48506  i_offset,
48507  tau_syn_E,
48508  tau_syn_I,
48509  v_init,
48510  tau_m,
48511  tau_refrac,
48512  v_reset,
48513  v_rest,
48514  v_thresh,
48515  e_rev_E,
48516  e_rev_I,
48517  a,
48518  b,
48519  delta_T,
48520  tau_w,
48521  v_spike)
48522  {
48523  }
48524 
48527  ::xml_schema::flags f,
48528  ::xml_schema::container* c)
48529  : ::neuroml2::EIF_cond_exp_isfa_ista (x, f, c)
48530  {
48531  }
48532 
48534  EIF_cond_alpha_isfa_ista (const ::xercesc::DOMElement& e,
48535  ::xml_schema::flags f,
48536  ::xml_schema::container* c)
48537  : ::neuroml2::EIF_cond_exp_isfa_ista (e, f, c)
48538  {
48539  }
48540 
48543  ::xml_schema::container* c) const
48544  {
48545  return new class EIF_cond_alpha_isfa_ista (*this, f, c);
48546  }
48547 
48550  {
48551  }
48552 
48553  // HH_cond_exp
48554  //
48555 
48557  HH_cond_exp (const id_type& id,
48558  const cm_type& cm,
48559  const i_offset_type& i_offset,
48560  const tau_syn_E_type& tau_syn_E,
48561  const tau_syn_I_type& tau_syn_I,
48562  const v_init_type& v_init,
48563  const v_offset_type& v_offset,
48564  const e_rev_E_type& e_rev_E,
48565  const e_rev_I_type& e_rev_I,
48566  const e_rev_K_type& e_rev_K,
48567  const e_rev_Na_type& e_rev_Na,
48568  const e_rev_leak_type& e_rev_leak,
48569  const g_leak_type& g_leak,
48570  const gbar_K_type& gbar_K,
48571  const gbar_Na_type& gbar_Na)
48572  : ::neuroml2::basePyNNCell (id,
48573  cm,
48574  i_offset,
48575  tau_syn_E,
48576  tau_syn_I,
48577  v_init),
48578  v_offset_ (v_offset, this),
48579  e_rev_E_ (e_rev_E, this),
48580  e_rev_I_ (e_rev_I, this),
48581  e_rev_K_ (e_rev_K, this),
48582  e_rev_Na_ (e_rev_Na, this),
48583  e_rev_leak_ (e_rev_leak, this),
48584  g_leak_ (g_leak, this),
48585  gbar_K_ (gbar_K, this),
48586  gbar_Na_ (gbar_Na, this)
48587  {
48588  }
48589 
48591  HH_cond_exp (const HH_cond_exp& x,
48592  ::xml_schema::flags f,
48593  ::xml_schema::container* c)
48594  : ::neuroml2::basePyNNCell (x, f, c),
48595  v_offset_ (x.v_offset_, f, this),
48596  e_rev_E_ (x.e_rev_E_, f, this),
48597  e_rev_I_ (x.e_rev_I_, f, this),
48598  e_rev_K_ (x.e_rev_K_, f, this),
48599  e_rev_Na_ (x.e_rev_Na_, f, this),
48600  e_rev_leak_ (x.e_rev_leak_, f, this),
48601  g_leak_ (x.g_leak_, f, this),
48602  gbar_K_ (x.gbar_K_, f, this),
48603  gbar_Na_ (x.gbar_Na_, f, this)
48604  {
48605  }
48606 
48608  HH_cond_exp (const ::xercesc::DOMElement& e,
48609  ::xml_schema::flags f,
48610  ::xml_schema::container* c)
48611  : ::neuroml2::basePyNNCell (e, f | ::xml_schema::flags::base, c),
48612  v_offset_ (this),
48613  e_rev_E_ (this),
48614  e_rev_I_ (this),
48615  e_rev_K_ (this),
48616  e_rev_Na_ (this),
48617  e_rev_leak_ (this),
48618  g_leak_ (this),
48619  gbar_K_ (this),
48620  gbar_Na_ (this)
48621  {
48622  if ((f & ::xml_schema::flags::base) == 0)
48623  {
48624  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
48625  this->parse (p, f);
48626  }
48627  }
48628 
48629  void HH_cond_exp::
48630  parse (::xsd::cxx::xml::dom::parser< char >& p,
48631  ::xml_schema::flags f)
48632  {
48633  this->::neuroml2::basePyNNCell::parse (p, f);
48634 
48635  p.reset_attributes ();
48636 
48637  while (p.more_attributes ())
48638  {
48639  const ::xercesc::DOMAttr& i (p.next_attribute ());
48640  const ::xsd::cxx::xml::qualified_name< char > n (
48641  ::xsd::cxx::xml::dom::name< char > (i));
48642 
48643  if (n.name () == "v_offset" && n.namespace_ ().empty ())
48644  {
48645  this->v_offset_.set (v_offset_traits::create (i, f, this));
48646  continue;
48647  }
48648 
48649  if (n.name () == "e_rev_E" && n.namespace_ ().empty ())
48650  {
48651  this->e_rev_E_.set (e_rev_E_traits::create (i, f, this));
48652  continue;
48653  }
48654 
48655  if (n.name () == "e_rev_I" && n.namespace_ ().empty ())
48656  {
48657  this->e_rev_I_.set (e_rev_I_traits::create (i, f, this));
48658  continue;
48659  }
48660 
48661  if (n.name () == "e_rev_K" && n.namespace_ ().empty ())
48662  {
48663  this->e_rev_K_.set (e_rev_K_traits::create (i, f, this));
48664  continue;
48665  }
48666 
48667  if (n.name () == "e_rev_Na" && n.namespace_ ().empty ())
48668  {
48669  this->e_rev_Na_.set (e_rev_Na_traits::create (i, f, this));
48670  continue;
48671  }
48672 
48673  if (n.name () == "e_rev_leak" && n.namespace_ ().empty ())
48674  {
48675  this->e_rev_leak_.set (e_rev_leak_traits::create (i, f, this));
48676  continue;
48677  }
48678 
48679  if (n.name () == "g_leak" && n.namespace_ ().empty ())
48680  {
48681  this->g_leak_.set (g_leak_traits::create (i, f, this));
48682  continue;
48683  }
48684 
48685  if (n.name () == "gbar_K" && n.namespace_ ().empty ())
48686  {
48687  this->gbar_K_.set (gbar_K_traits::create (i, f, this));
48688  continue;
48689  }
48690 
48691  if (n.name () == "gbar_Na" && n.namespace_ ().empty ())
48692  {
48693  this->gbar_Na_.set (gbar_Na_traits::create (i, f, this));
48694  continue;
48695  }
48696  }
48697 
48698  if (!v_offset_.present ())
48699  {
48700  throw ::xsd::cxx::tree::expected_attribute< char > (
48701  "v_offset",
48702  "");
48703  }
48704 
48705  if (!e_rev_E_.present ())
48706  {
48707  throw ::xsd::cxx::tree::expected_attribute< char > (
48708  "e_rev_E",
48709  "");
48710  }
48711 
48712  if (!e_rev_I_.present ())
48713  {
48714  throw ::xsd::cxx::tree::expected_attribute< char > (
48715  "e_rev_I",
48716  "");
48717  }
48718 
48719  if (!e_rev_K_.present ())
48720  {
48721  throw ::xsd::cxx::tree::expected_attribute< char > (
48722  "e_rev_K",
48723  "");
48724  }
48725 
48726  if (!e_rev_Na_.present ())
48727  {
48728  throw ::xsd::cxx::tree::expected_attribute< char > (
48729  "e_rev_Na",
48730  "");
48731  }
48732 
48733  if (!e_rev_leak_.present ())
48734  {
48735  throw ::xsd::cxx::tree::expected_attribute< char > (
48736  "e_rev_leak",
48737  "");
48738  }
48739 
48740  if (!g_leak_.present ())
48741  {
48742  throw ::xsd::cxx::tree::expected_attribute< char > (
48743  "g_leak",
48744  "");
48745  }
48746 
48747  if (!gbar_K_.present ())
48748  {
48749  throw ::xsd::cxx::tree::expected_attribute< char > (
48750  "gbar_K",
48751  "");
48752  }
48753 
48754  if (!gbar_Na_.present ())
48755  {
48756  throw ::xsd::cxx::tree::expected_attribute< char > (
48757  "gbar_Na",
48758  "");
48759  }
48760  }
48761 
48764  ::xml_schema::container* c) const
48765  {
48766  return new class HH_cond_exp (*this, f, c);
48767  }
48768 
48770  operator= (const HH_cond_exp& x)
48771  {
48772  if (this != &x)
48773  {
48774  static_cast< ::neuroml2::basePyNNCell& > (*this) = x;
48775  this->v_offset_ = x.v_offset_;
48776  this->e_rev_E_ = x.e_rev_E_;
48777  this->e_rev_I_ = x.e_rev_I_;
48778  this->e_rev_K_ = x.e_rev_K_;
48779  this->e_rev_Na_ = x.e_rev_Na_;
48780  this->e_rev_leak_ = x.e_rev_leak_;
48781  this->g_leak_ = x.g_leak_;
48782  this->gbar_K_ = x.gbar_K_;
48783  this->gbar_Na_ = x.gbar_Na_;
48784  }
48785 
48786  return *this;
48787  }
48788 
48790  ~HH_cond_exp ()
48791  {
48792  }
48793 
48794  bool
48795  operator== (const HH_cond_exp& x, const HH_cond_exp& y)
48796  {
48797  if (!(static_cast< const ::neuroml2::basePyNNCell& > (x) ==
48798  static_cast< const ::neuroml2::basePyNNCell& > (y)))
48799  return false;
48800 
48801  if (!(x.v_offset () == y.v_offset ()))
48802  return false;
48803 
48804  if (!(x.e_rev_E () == y.e_rev_E ()))
48805  return false;
48806 
48807  if (!(x.e_rev_I () == y.e_rev_I ()))
48808  return false;
48809 
48810  if (!(x.e_rev_K () == y.e_rev_K ()))
48811  return false;
48812 
48813  if (!(x.e_rev_Na () == y.e_rev_Na ()))
48814  return false;
48815 
48816  if (!(x.e_rev_leak () == y.e_rev_leak ()))
48817  return false;
48818 
48819  if (!(x.g_leak () == y.g_leak ()))
48820  return false;
48821 
48822  if (!(x.gbar_K () == y.gbar_K ()))
48823  return false;
48824 
48825  if (!(x.gbar_Na () == y.gbar_Na ()))
48826  return false;
48827 
48828  return true;
48829  }
48830 
48831  bool
48832  operator!= (const HH_cond_exp& x, const HH_cond_exp& y)
48833  {
48834  return !(x == y);
48835  }
48836 
48837  // BasePynnSynapse
48838  //
48839 
48841  BasePynnSynapse (const id_type& id,
48842  const tau_syn_type& tau_syn)
48843  : ::neuroml2::BaseSynapse (id),
48844  tau_syn_ (tau_syn, this)
48845  {
48846  }
48847 
48850  ::xml_schema::flags f,
48851  ::xml_schema::container* c)
48852  : ::neuroml2::BaseSynapse (x, f, c),
48853  tau_syn_ (x.tau_syn_, f, this)
48854  {
48855  }
48856 
48858  BasePynnSynapse (const ::xercesc::DOMElement& e,
48859  ::xml_schema::flags f,
48860  ::xml_schema::container* c)
48861  : ::neuroml2::BaseSynapse (e, f | ::xml_schema::flags::base, c),
48862  tau_syn_ (this)
48863  {
48864  if ((f & ::xml_schema::flags::base) == 0)
48865  {
48866  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
48867  this->parse (p, f);
48868  }
48869  }
48870 
48871  void BasePynnSynapse::
48872  parse (::xsd::cxx::xml::dom::parser< char >& p,
48873  ::xml_schema::flags f)
48874  {
48875  this->::neuroml2::BaseSynapse::parse (p, f);
48876 
48877  p.reset_attributes ();
48878 
48879  while (p.more_attributes ())
48880  {
48881  const ::xercesc::DOMAttr& i (p.next_attribute ());
48882  const ::xsd::cxx::xml::qualified_name< char > n (
48883  ::xsd::cxx::xml::dom::name< char > (i));
48884 
48885  if (n.name () == "tau_syn" && n.namespace_ ().empty ())
48886  {
48887  this->tau_syn_.set (tau_syn_traits::create (i, f, this));
48888  continue;
48889  }
48890  }
48891 
48892  if (!tau_syn_.present ())
48893  {
48894  throw ::xsd::cxx::tree::expected_attribute< char > (
48895  "tau_syn",
48896  "");
48897  }
48898  }
48899 
48902  ::xml_schema::container* c) const
48903  {
48904  return new class BasePynnSynapse (*this, f, c);
48905  }
48906 
48908  operator= (const BasePynnSynapse& x)
48909  {
48910  if (this != &x)
48911  {
48912  static_cast< ::neuroml2::BaseSynapse& > (*this) = x;
48913  this->tau_syn_ = x.tau_syn_;
48914  }
48915 
48916  return *this;
48917  }
48918 
48921  {
48922  }
48923 
48924  bool
48925  operator== (const BasePynnSynapse& x, const BasePynnSynapse& y)
48926  {
48927  if (!(static_cast< const ::neuroml2::BaseSynapse& > (x) ==
48928  static_cast< const ::neuroml2::BaseSynapse& > (y)))
48929  return false;
48930 
48931  if (!(x.tau_syn () == y.tau_syn ()))
48932  return false;
48933 
48934  return true;
48935  }
48936 
48937  bool
48938  operator!= (const BasePynnSynapse& x, const BasePynnSynapse& y)
48939  {
48940  return !(x == y);
48941  }
48942 
48943  // ExpCondSynapse
48944  //
48945 
48947  ExpCondSynapse (const id_type& id,
48948  const tau_syn_type& tau_syn,
48949  const e_rev_type& e_rev)
48950  : ::neuroml2::BasePynnSynapse (id,
48951  tau_syn),
48952  e_rev_ (e_rev, this)
48953  {
48954  }
48955 
48958  ::xml_schema::flags f,
48959  ::xml_schema::container* c)
48960  : ::neuroml2::BasePynnSynapse (x, f, c),
48961  e_rev_ (x.e_rev_, f, this)
48962  {
48963  }
48964 
48966  ExpCondSynapse (const ::xercesc::DOMElement& e,
48967  ::xml_schema::flags f,
48968  ::xml_schema::container* c)
48969  : ::neuroml2::BasePynnSynapse (e, f | ::xml_schema::flags::base, c),
48970  e_rev_ (this)
48971  {
48972  if ((f & ::xml_schema::flags::base) == 0)
48973  {
48974  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
48975  this->parse (p, f);
48976  }
48977  }
48978 
48979  void ExpCondSynapse::
48980  parse (::xsd::cxx::xml::dom::parser< char >& p,
48981  ::xml_schema::flags f)
48982  {
48983  this->::neuroml2::BasePynnSynapse::parse (p, f);
48984 
48985  p.reset_attributes ();
48986 
48987  while (p.more_attributes ())
48988  {
48989  const ::xercesc::DOMAttr& i (p.next_attribute ());
48990  const ::xsd::cxx::xml::qualified_name< char > n (
48991  ::xsd::cxx::xml::dom::name< char > (i));
48992 
48993  if (n.name () == "e_rev" && n.namespace_ ().empty ())
48994  {
48995  this->e_rev_.set (e_rev_traits::create (i, f, this));
48996  continue;
48997  }
48998  }
48999 
49000  if (!e_rev_.present ())
49001  {
49002  throw ::xsd::cxx::tree::expected_attribute< char > (
49003  "e_rev",
49004  "");
49005  }
49006  }
49007 
49010  ::xml_schema::container* c) const
49011  {
49012  return new class ExpCondSynapse (*this, f, c);
49013  }
49014 
49016  operator= (const ExpCondSynapse& x)
49017  {
49018  if (this != &x)
49019  {
49020  static_cast< ::neuroml2::BasePynnSynapse& > (*this) = x;
49021  this->e_rev_ = x.e_rev_;
49022  }
49023 
49024  return *this;
49025  }
49026 
49029  {
49030  }
49031 
49032  bool
49033  operator== (const ExpCondSynapse& x, const ExpCondSynapse& y)
49034  {
49035  if (!(static_cast< const ::neuroml2::BasePynnSynapse& > (x) ==
49036  static_cast< const ::neuroml2::BasePynnSynapse& > (y)))
49037  return false;
49038 
49039  if (!(x.e_rev () == y.e_rev ()))
49040  return false;
49041 
49042  return true;
49043  }
49044 
49045  bool
49046  operator!= (const ExpCondSynapse& x, const ExpCondSynapse& y)
49047  {
49048  return !(x == y);
49049  }
49050 
49051  // AlphaCondSynapse
49052  //
49053 
49055  AlphaCondSynapse (const id_type& id,
49056  const tau_syn_type& tau_syn,
49057  const e_rev_type& e_rev)
49058  : ::neuroml2::BasePynnSynapse (id,
49059  tau_syn),
49060  e_rev_ (e_rev, this)
49061  {
49062  }
49063 
49066  ::xml_schema::flags f,
49067  ::xml_schema::container* c)
49068  : ::neuroml2::BasePynnSynapse (x, f, c),
49069  e_rev_ (x.e_rev_, f, this)
49070  {
49071  }
49072 
49074  AlphaCondSynapse (const ::xercesc::DOMElement& e,
49075  ::xml_schema::flags f,
49076  ::xml_schema::container* c)
49077  : ::neuroml2::BasePynnSynapse (e, f | ::xml_schema::flags::base, c),
49078  e_rev_ (this)
49079  {
49080  if ((f & ::xml_schema::flags::base) == 0)
49081  {
49082  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
49083  this->parse (p, f);
49084  }
49085  }
49086 
49087  void AlphaCondSynapse::
49088  parse (::xsd::cxx::xml::dom::parser< char >& p,
49089  ::xml_schema::flags f)
49090  {
49091  this->::neuroml2::BasePynnSynapse::parse (p, f);
49092 
49093  p.reset_attributes ();
49094 
49095  while (p.more_attributes ())
49096  {
49097  const ::xercesc::DOMAttr& i (p.next_attribute ());
49098  const ::xsd::cxx::xml::qualified_name< char > n (
49099  ::xsd::cxx::xml::dom::name< char > (i));
49100 
49101  if (n.name () == "e_rev" && n.namespace_ ().empty ())
49102  {
49103  this->e_rev_.set (e_rev_traits::create (i, f, this));
49104  continue;
49105  }
49106  }
49107 
49108  if (!e_rev_.present ())
49109  {
49110  throw ::xsd::cxx::tree::expected_attribute< char > (
49111  "e_rev",
49112  "");
49113  }
49114  }
49115 
49118  ::xml_schema::container* c) const
49119  {
49120  return new class AlphaCondSynapse (*this, f, c);
49121  }
49122 
49124  operator= (const AlphaCondSynapse& x)
49125  {
49126  if (this != &x)
49127  {
49128  static_cast< ::neuroml2::BasePynnSynapse& > (*this) = x;
49129  this->e_rev_ = x.e_rev_;
49130  }
49131 
49132  return *this;
49133  }
49134 
49137  {
49138  }
49139 
49140  bool
49141  operator== (const AlphaCondSynapse& x, const AlphaCondSynapse& y)
49142  {
49143  if (!(static_cast< const ::neuroml2::BasePynnSynapse& > (x) ==
49144  static_cast< const ::neuroml2::BasePynnSynapse& > (y)))
49145  return false;
49146 
49147  if (!(x.e_rev () == y.e_rev ()))
49148  return false;
49149 
49150  return true;
49151  }
49152 
49153  bool
49154  operator!= (const AlphaCondSynapse& x, const AlphaCondSynapse& y)
49155  {
49156  return !(x == y);
49157  }
49158 
49159  // ExpCurrSynapse
49160  //
49161 
49163  ExpCurrSynapse (const id_type& id,
49164  const tau_syn_type& tau_syn)
49165  : ::neuroml2::BasePynnSynapse (id,
49166  tau_syn)
49167  {
49168  }
49169 
49172  ::xml_schema::flags f,
49173  ::xml_schema::container* c)
49174  : ::neuroml2::BasePynnSynapse (x, f, c)
49175  {
49176  }
49177 
49179  ExpCurrSynapse (const ::xercesc::DOMElement& e,
49180  ::xml_schema::flags f,
49181  ::xml_schema::container* c)
49182  : ::neuroml2::BasePynnSynapse (e, f, c)
49183  {
49184  }
49185 
49188  ::xml_schema::container* c) const
49189  {
49190  return new class ExpCurrSynapse (*this, f, c);
49191  }
49192 
49195  {
49196  }
49197 
49198  // AlphaCurrSynapse
49199  //
49200 
49202  AlphaCurrSynapse (const id_type& id,
49203  const tau_syn_type& tau_syn)
49204  : ::neuroml2::BasePynnSynapse (id,
49205  tau_syn)
49206  {
49207  }
49208 
49211  ::xml_schema::flags f,
49212  ::xml_schema::container* c)
49213  : ::neuroml2::BasePynnSynapse (x, f, c)
49214  {
49215  }
49216 
49218  AlphaCurrSynapse (const ::xercesc::DOMElement& e,
49219  ::xml_schema::flags f,
49220  ::xml_schema::container* c)
49221  : ::neuroml2::BasePynnSynapse (e, f, c)
49222  {
49223  }
49224 
49227  ::xml_schema::container* c) const
49228  {
49229  return new class AlphaCurrSynapse (*this, f, c);
49230  }
49231 
49234  {
49235  }
49236 
49237  // SpikeSourcePoisson
49238  //
49239 
49241  SpikeSourcePoisson (const id_type& id,
49242  const start_type& start,
49243  const duration_type& duration,
49244  const rate_type& rate)
49245  : ::neuroml2::Standalone (id),
49246  start_ (start, this),
49247  duration_ (duration, this),
49248  rate_ (rate, this)
49249  {
49250  }
49251 
49254  ::xml_schema::flags f,
49255  ::xml_schema::container* c)
49256  : ::neuroml2::Standalone (x, f, c),
49257  start_ (x.start_, f, this),
49258  duration_ (x.duration_, f, this),
49259  rate_ (x.rate_, f, this)
49260  {
49261  }
49262 
49264  SpikeSourcePoisson (const ::xercesc::DOMElement& e,
49265  ::xml_schema::flags f,
49266  ::xml_schema::container* c)
49267  : ::neuroml2::Standalone (e, f | ::xml_schema::flags::base, c),
49268  start_ (this),
49269  duration_ (this),
49270  rate_ (this)
49271  {
49272  if ((f & ::xml_schema::flags::base) == 0)
49273  {
49274  ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true);
49275  this->parse (p, f);
49276  }
49277  }
49278 
49279  void SpikeSourcePoisson::
49280  parse (::xsd::cxx::xml::dom::parser< char >& p,
49281  ::xml_schema::flags f)
49282  {
49283  this->::neuroml2::Standalone::parse (p, f);
49284 
49285  p.reset_attributes ();
49286 
49287  while (p.more_attributes ())
49288  {
49289  const ::xercesc::DOMAttr& i (p.next_attribute ());
49290  const ::xsd::cxx::xml::qualified_name< char > n (
49291  ::xsd::cxx::xml::dom::name< char > (i));
49292 
49293  if (n.name () == "start" && n.namespace_ ().empty ())
49294  {
49295  this->start_.set (start_traits::create (i, f, this));
49296  continue;
49297  }
49298 
49299  if (n.name () == "duration" && n.namespace_ ().empty ())
49300  {
49301  this->duration_.set (duration_traits::create (i, f, this));
49302  continue;
49303  }
49304 
49305  if (n.name () == "rate" && n.namespace_ ().empty ())
49306  {
49307  this->rate_.set (rate_traits::create (i, f, this));
49308  continue;
49309  }
49310  }
49311 
49312  if (!start_.present ())
49313  {
49314  throw ::xsd::cxx::tree::expected_attribute< char > (
49315  "start",
49316  "");
49317  }
49318 
49319  if (!duration_.present ())
49320  {
49321  throw ::xsd::cxx::tree::expected_attribute< char > (
49322  "duration",
49323  "");
49324  }
49325 
49326  if (!rate_.present ())
49327  {
49328  throw ::xsd::cxx::tree::expected_attribute< char > (
49329  "rate",
49330  "");
49331  }
49332  }
49333 
49336  ::xml_schema::container* c) const
49337  {
49338  return new class SpikeSourcePoisson (*this, f, c);
49339  }
49340 
49343  {
49344  if (this != &x)
49345  {
49346  static_cast< ::neuroml2::Standalone& > (*this) = x;
49347  this->start_ = x.start_;
49348  this->duration_ = x.duration_;
49349  this->rate_ = x.rate_;
49350  }
49351 
49352  return *this;
49353  }
49354 
49357  {
49358  }
49359 
49360  bool
49361  operator== (const SpikeSourcePoisson& x, const SpikeSourcePoisson& y)
49362  {
49363  if (!(static_cast< const ::neuroml2::Standalone& > (x) ==
49364  static_cast< const ::neuroml2::Standalone& > (y)))
49365  return false;
49366 
49367  if (!(x.start () == y.start ()))
49368  return false;
49369 
49370  if (!(x.duration () == y.duration ()))
49371  return false;
49372 
49373  if (!(x.rate () == y.rate ()))
49374  return false;
49375 
49376  return true;
49377  }
49378 
49379  bool
49380  operator!= (const SpikeSourcePoisson& x, const SpikeSourcePoisson& y)
49381  {
49382  return !(x == y);
49383  }
49384 }
49385 
49386 #include <ostream>
49387 
49388 namespace neuroml2
49389 {
49390  ::std::ostream&
49391  operator<< (::std::ostream& o, const NmlId& i)
49392  {
49393  o << static_cast< const ::xml_schema::string& > (i);
49394 
49395  return o;
49396  }
49397 
49398  ::std::ostream&
49399  operator<< (::std::ostream& o, const Nml2Quantity& i)
49400  {
49401  o << static_cast< const ::xml_schema::string& > (i);
49402 
49403  return o;
49404  }
49405 
49406  ::std::ostream&
49407  operator<< (::std::ostream& o, const Nml2Quantity_none& i)
49408  {
49409  o << static_cast< const ::xml_schema::string& > (i);
49410 
49411  return o;
49412  }
49413 
49414  ::std::ostream&
49415  operator<< (::std::ostream& o, const Nml2Quantity_voltage& i)
49416  {
49417  o << static_cast< const ::xml_schema::string& > (i);
49418 
49419  return o;
49420  }
49421 
49422  ::std::ostream&
49423  operator<< (::std::ostream& o, const Nml2Quantity_length& i)
49424  {
49425  o << static_cast< const ::xml_schema::string& > (i);
49426 
49427  return o;
49428  }
49429 
49430  ::std::ostream&
49431  operator<< (::std::ostream& o, const Nml2Quantity_resistance& i)
49432  {
49433  o << static_cast< const ::xml_schema::string& > (i);
49434 
49435  return o;
49436  }
49437 
49438  ::std::ostream&
49439  operator<< (::std::ostream& o, const Nml2Quantity_resistivity& i)
49440  {
49441  o << static_cast< const ::xml_schema::string& > (i);
49442 
49443  return o;
49444  }
49445 
49446  ::std::ostream&
49447  operator<< (::std::ostream& o, const Nml2Quantity_conductance& i)
49448  {
49449  o << static_cast< const ::xml_schema::string& > (i);
49450 
49451  return o;
49452  }
49453 
49454  ::std::ostream&
49455  operator<< (::std::ostream& o, const Nml2Quantity_conductanceDensity& i)
49456  {
49457  o << static_cast< const ::xml_schema::string& > (i);
49458 
49459  return o;
49460  }
49461 
49462  ::std::ostream&
49463  operator<< (::std::ostream& o, const Nml2Quantity_permeability& i)
49464  {
49465  o << static_cast< const ::xml_schema::string& > (i);
49466 
49467  return o;
49468  }
49469 
49470  ::std::ostream&
49471  operator<< (::std::ostream& o, const Nml2Quantity_time& i)
49472  {
49473  o << static_cast< const ::xml_schema::string& > (i);
49474 
49475  return o;
49476  }
49477 
49478  ::std::ostream&
49479  operator<< (::std::ostream& o, const Nml2Quantity_pertime& i)
49480  {
49481  o << static_cast< const ::xml_schema::string& > (i);
49482 
49483  return o;
49484  }
49485 
49486  ::std::ostream&
49487  operator<< (::std::ostream& o, const Nml2Quantity_capacitance& i)
49488  {
49489  o << static_cast< const ::xml_schema::string& > (i);
49490 
49491  return o;
49492  }
49493 
49494  ::std::ostream&
49495  operator<< (::std::ostream& o, const Nml2Quantity_specificCapacitance& i)
49496  {
49497  o << static_cast< const ::xml_schema::string& > (i);
49498 
49499  return o;
49500  }
49501 
49502  ::std::ostream&
49503  operator<< (::std::ostream& o, const Nml2Quantity_concentration& i)
49504  {
49505  o << static_cast< const ::xml_schema::string& > (i);
49506 
49507  return o;
49508  }
49509 
49510  ::std::ostream&
49511  operator<< (::std::ostream& o, const Nml2Quantity_current& i)
49512  {
49513  o << static_cast< const ::xml_schema::string& > (i);
49514 
49515  return o;
49516  }
49517 
49518  ::std::ostream&
49519  operator<< (::std::ostream& o, const Nml2Quantity_currentDensity& i)
49520  {
49521  o << static_cast< const ::xml_schema::string& > (i);
49522 
49523  return o;
49524  }
49525 
49526  ::std::ostream&
49527  operator<< (::std::ostream& o, const Nml2Quantity_temperature& i)
49528  {
49529  o << static_cast< const ::xml_schema::string& > (i);
49530 
49531  return o;
49532  }
49533 
49534  ::std::ostream&
49535  operator<< (::std::ostream& o, const Nml2Quantity_rhoFactor& i)
49536  {
49537  o << static_cast< const ::xml_schema::string& > (i);
49538 
49539  return o;
49540  }
49541 
49542  ::std::ostream&
49543  operator<< (::std::ostream& o, const Nml2Quantity_conductancePerVoltage& i)
49544  {
49545  o << static_cast< const ::xml_schema::string& > (i);
49546 
49547  return o;
49548  }
49549 
49550  ::std::ostream&
49551  operator<< (::std::ostream& o, const MetaId& i)
49552  {
49553  o << static_cast< const ::xml_schema::string& > (i);
49554 
49555  return o;
49556  }
49557 
49558  ::std::ostream&
49559  operator<< (::std::ostream& o, const NeuroLexId& i)
49560  {
49561  o << static_cast< const ::xml_schema::string& > (i);
49562 
49563  return o;
49564  }
49565 
49566  ::std::ostream&
49567  operator<< (::std::ostream& o, const Nml2PopulationReferencePath& i)
49568  {
49569  o << static_cast< const ::xml_schema::string& > (i);
49570 
49571  return o;
49572  }
49573 
49574  ::std::ostream&
49575  operator<< (::std::ostream& o, const NonNegativeInteger& i)
49576  {
49577  o << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::non_negative_integer, char, ::xml_schema::simple_type >& > (i);
49578 
49579  return o;
49580  }
49581 
49582  ::std::ostream&
49583  operator<< (::std::ostream& o, const PositiveInteger& i)
49584  {
49585  o << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::positive_integer, char, ::xml_schema::simple_type >& > (i);
49586 
49587  return o;
49588  }
49589 
49590  ::std::ostream&
49591  operator<< (::std::ostream& o, const DoubleGreaterThanZero& i)
49592  {
49593  o << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::double_, char, ::xml_schema::simple_type, ::xsd::cxx::tree::schema_type::double_ >& > (i);
49594 
49595  return o;
49596  }
49597 
49598  ::std::ostream&
49599  operator<< (::std::ostream& o, const ZeroOrOne& i)
49600  {
49601  return o << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::double_, char, ::xml_schema::simple_type, ::xsd::cxx::tree::schema_type::double_ >& > (i);
49602  }
49603 
49604  ::std::ostream&
49605  operator<< (::std::ostream& o, const Notes& i)
49606  {
49607  o << static_cast< const ::xml_schema::string& > (i);
49608 
49609  return o;
49610  }
49611 
49612  ::std::ostream&
49613  operator<< (::std::ostream& o, const BaseWithoutId&)
49614  {
49615  return o;
49616  }
49617 
49618  ::std::ostream&
49619  operator<< (::std::ostream& o, const Property& i)
49620  {
49621  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
49622 
49623  o << ::std::endl << "tag: " << i.tag ();
49624  o << ::std::endl << "value: " << i.value ();
49625  return o;
49626  }
49627 
49628  ::std::ostream&
49629  operator<< (::std::ostream& o, const Annotation& i)
49630  {
49631  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
49632 
49633  return o;
49634  }
49635 
49636  ::std::ostream&
49637  operator<< (::std::ostream& o, const ComponentType& i)
49638  {
49640  b (i.Property ().begin ()), e (i.Property ().end ());
49641  b != e; ++b)
49642  {
49643  o << ::std::endl << "Property: " << *b;
49644  }
49645 
49647  b (i.Parameter ().begin ()), e (i.Parameter ().end ());
49648  b != e; ++b)
49649  {
49650  o << ::std::endl << "Parameter: " << *b;
49651  }
49652 
49654  b (i.DerivedParameter ().begin ()), e (i.DerivedParameter ().end ());
49655  b != e; ++b)
49656  {
49657  o << ::std::endl << "DerivedParameter: " << *b;
49658  }
49659 
49661  b (i.Constant ().begin ()), e (i.Constant ().end ());
49662  b != e; ++b)
49663  {
49664  o << ::std::endl << "Constant: " << *b;
49665  }
49666 
49668  b (i.Exposure ().begin ()), e (i.Exposure ().end ());
49669  b != e; ++b)
49670  {
49671  o << ::std::endl << "Exposure: " << *b;
49672  }
49673 
49675  b (i.Requirement ().begin ()), e (i.Requirement ().end ());
49676  b != e; ++b)
49677  {
49678  o << ::std::endl << "Requirement: " << *b;
49679  }
49680 
49682  b (i.InstanceRequirement ().begin ()), e (i.InstanceRequirement ().end ());
49683  b != e; ++b)
49684  {
49685  o << ::std::endl << "InstanceRequirement: " << *b;
49686  }
49687 
49689  b (i.Dynamics ().begin ()), e (i.Dynamics ().end ());
49690  b != e; ++b)
49691  {
49692  o << ::std::endl << "Dynamics: " << *b;
49693  }
49694 
49695  o << ::std::endl << "name: " << i.name ();
49696  if (i.extends ())
49697  {
49698  o << ::std::endl << "extends: " << *i.extends ();
49699  }
49700 
49701  if (i.description ())
49702  {
49703  o << ::std::endl << "description: " << *i.description ();
49704  }
49705 
49706  return o;
49707  }
49708 
49709  ::std::ostream&
49710  operator<< (::std::ostream& o, const Constant& i)
49711  {
49712  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
49713 
49714  o << ::std::endl << "name: " << i.name ();
49715  o << ::std::endl << "dimension: " << i.dimension ();
49716  o << ::std::endl << "value: " << i.value ();
49717  if (i.description ())
49718  {
49719  o << ::std::endl << "description: " << *i.description ();
49720  }
49721 
49722  return o;
49723  }
49724 
49725  ::std::ostream&
49726  operator<< (::std::ostream& o, const Exposure& i)
49727  {
49728  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
49729 
49730  o << ::std::endl << "name: " << i.name ();
49731  o << ::std::endl << "dimension: " << i.dimension ();
49732  if (i.description ())
49733  {
49734  o << ::std::endl << "description: " << *i.description ();
49735  }
49736 
49737  return o;
49738  }
49739 
49740  ::std::ostream&
49741  operator<< (::std::ostream& o, const NamedDimensionalType& i)
49742  {
49743  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
49744 
49745  o << ::std::endl << "name: " << i.name ();
49746  o << ::std::endl << "dimension: " << i.dimension ();
49747  if (i.description ())
49748  {
49749  o << ::std::endl << "description: " << *i.description ();
49750  }
49751 
49752  return o;
49753  }
49754 
49755  ::std::ostream&
49756  operator<< (::std::ostream& o, const NamedDimensionalVariable& i)
49757  {
49758  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
49759 
49760  o << ::std::endl << "name: " << i.name ();
49761  o << ::std::endl << "dimension: " << i.dimension ();
49762  if (i.description ())
49763  {
49764  o << ::std::endl << "description: " << *i.description ();
49765  }
49766 
49767  if (i.exposure ())
49768  {
49769  o << ::std::endl << "exposure: " << *i.exposure ();
49770  }
49771 
49772  return o;
49773  }
49774 
49775  ::std::ostream&
49776  operator<< (::std::ostream& o, const Parameter& i)
49777  {
49778  o << static_cast< const ::neuroml2::NamedDimensionalType& > (i);
49779 
49780  return o;
49781  }
49782 
49783  ::std::ostream&
49784  operator<< (::std::ostream& o, const DerivedParameter& i)
49785  {
49786  o << static_cast< const ::neuroml2::NamedDimensionalType& > (i);
49787 
49788  o << ::std::endl << "value: " << i.value ();
49789  return o;
49790  }
49791 
49792  ::std::ostream&
49793  operator<< (::std::ostream& o, const LEMS_Property& i)
49794  {
49795  o << static_cast< const ::neuroml2::NamedDimensionalType& > (i);
49796 
49797  if (i.defaultValue ())
49798  {
49799  o << ::std::endl << "defaultValue: " << *i.defaultValue ();
49800  }
49801 
49802  return o;
49803  }
49804 
49805  ::std::ostream&
49806  operator<< (::std::ostream& o, const Requirement& i)
49807  {
49808  o << static_cast< const ::neuroml2::NamedDimensionalType& > (i);
49809 
49810  return o;
49811  }
49812 
49813  ::std::ostream&
49814  operator<< (::std::ostream& o, const InstanceRequirement& i)
49815  {
49816  o << ::std::endl << "name: " << i.name ();
49817  o << ::std::endl << "type: " << i.type ();
49818  return o;
49819  }
49820 
49821  ::std::ostream&
49822  operator<< (::std::ostream& o, const Dynamics& i)
49823  {
49825  b (i.StateVariable ().begin ()), e (i.StateVariable ().end ());
49826  b != e; ++b)
49827  {
49828  o << ::std::endl << "StateVariable: " << *b;
49829  }
49830 
49832  b (i.DerivedVariable ().begin ()), e (i.DerivedVariable ().end ());
49833  b != e; ++b)
49834  {
49835  o << ::std::endl << "DerivedVariable: " << *b;
49836  }
49837 
49839  b (i.ConditionalDerivedVariable ().begin ()), e (i.ConditionalDerivedVariable ().end ());
49840  b != e; ++b)
49841  {
49842  o << ::std::endl << "ConditionalDerivedVariable: " << *b;
49843  }
49844 
49846  b (i.TimeDerivative ().begin ()), e (i.TimeDerivative ().end ());
49847  b != e; ++b)
49848  {
49849  o << ::std::endl << "TimeDerivative: " << *b;
49850  }
49851 
49852  if (i.OnStart ())
49853  {
49854  o << ::std::endl << "OnStart: " << *i.OnStart ();
49855  }
49856 
49858  b (i.OnEvent ().begin ()), e (i.OnEvent ().end ());
49859  b != e; ++b)
49860  {
49861  o << ::std::endl << "OnEvent: " << *b;
49862  }
49863 
49865  b (i.OnCondition ().begin ()), e (i.OnCondition ().end ());
49866  b != e; ++b)
49867  {
49868  o << ::std::endl << "OnCondition: " << *b;
49869  }
49870 
49872  b (i.Regime ().begin ()), e (i.Regime ().end ());
49873  b != e; ++b)
49874  {
49875  o << ::std::endl << "Regime: " << *b;
49876  }
49877 
49878  return o;
49879  }
49880 
49881  ::std::ostream&
49882  operator<< (::std::ostream& o, const DerivedVariable& i)
49883  {
49884  o << static_cast< const ::neuroml2::NamedDimensionalVariable& > (i);
49885 
49886  if (i.value ())
49887  {
49888  o << ::std::endl << "value: " << *i.value ();
49889  }
49890 
49891  if (i.select ())
49892  {
49893  o << ::std::endl << "select: " << *i.select ();
49894  }
49895 
49896  return o;
49897  }
49898 
49899  ::std::ostream&
49900  operator<< (::std::ostream& o, const StateVariable& i)
49901  {
49902  o << static_cast< const ::neuroml2::NamedDimensionalVariable& > (i);
49903 
49904  return o;
49905  }
49906 
49907  ::std::ostream&
49908  operator<< (::std::ostream& o, const ConditionalDerivedVariable& i)
49909  {
49910  o << static_cast< const ::neuroml2::NamedDimensionalVariable& > (i);
49911 
49913  b (i.Case ().begin ()), e (i.Case ().end ());
49914  b != e; ++b)
49915  {
49916  o << ::std::endl << "Case: " << *b;
49917  }
49918 
49919  return o;
49920  }
49921 
49922  ::std::ostream&
49923  operator<< (::std::ostream& o, const Case& i)
49924  {
49925  if (i.condition ())
49926  {
49927  o << ::std::endl << "condition: " << *i.condition ();
49928  }
49929 
49930  o << ::std::endl << "value: " << i.value ();
49931  return o;
49932  }
49933 
49934  ::std::ostream&
49935  operator<< (::std::ostream& o, const TimeDerivative& i)
49936  {
49937  o << ::std::endl << "variable: " << i.variable ();
49938  o << ::std::endl << "value: " << i.value ();
49939  return o;
49940  }
49941 
49942  ::std::ostream&
49943  operator<< (::std::ostream& o, const OnStart& i)
49944  {
49946  b (i.StateAssignment ().begin ()), e (i.StateAssignment ().end ());
49947  b != e; ++b)
49948  {
49949  o << ::std::endl << "StateAssignment: " << *b;
49950  }
49951 
49952  return o;
49953  }
49954 
49955  ::std::ostream&
49956  operator<< (::std::ostream& o, const StateAssignment& i)
49957  {
49958  o << ::std::endl << "variable: " << i.variable ();
49959  o << ::std::endl << "value: " << i.value ();
49960  return o;
49961  }
49962 
49963  ::std::ostream&
49964  operator<< (::std::ostream& o, const OnEvent& i)
49965  {
49967  b (i.StateAssignment ().begin ()), e (i.StateAssignment ().end ());
49968  b != e; ++b)
49969  {
49970  o << ::std::endl << "StateAssignment: " << *b;
49971  }
49972 
49974  b (i.EventOut ().begin ()), e (i.EventOut ().end ());
49975  b != e; ++b)
49976  {
49977  o << ::std::endl << "EventOut: " << *b;
49978  }
49979 
49980  o << ::std::endl << "port: " << i.port ();
49981  return o;
49982  }
49983 
49984  ::std::ostream&
49985  operator<< (::std::ostream& o, const EventOut& i)
49986  {
49987  o << ::std::endl << "port: " << i.port ();
49988  return o;
49989  }
49990 
49991  ::std::ostream&
49992  operator<< (::std::ostream& o, const OnCondition& i)
49993  {
49995  b (i.StateAssignment ().begin ()), e (i.StateAssignment ().end ());
49996  b != e; ++b)
49997  {
49998  o << ::std::endl << "StateAssignment: " << *b;
49999  }
50000 
50002  b (i.EventOut ().begin ()), e (i.EventOut ().end ());
50003  b != e; ++b)
50004  {
50005  o << ::std::endl << "EventOut: " << *b;
50006  }
50007 
50008  if (i.Transition ())
50009  {
50010  o << ::std::endl << "Transition: " << *i.Transition ();
50011  }
50012 
50013  o << ::std::endl << "test: " << i.test ();
50014  return o;
50015  }
50016 
50017  ::std::ostream&
50018  operator<< (::std::ostream& o, const Transition& i)
50019  {
50020  o << ::std::endl << "regime: " << i.regime ();
50021  return o;
50022  }
50023 
50024  ::std::ostream&
50025  operator<< (::std::ostream& o, const Regime& i)
50026  {
50028  b (i.TimeDerivative ().begin ()), e (i.TimeDerivative ().end ());
50029  b != e; ++b)
50030  {
50031  o << ::std::endl << "TimeDerivative: " << *b;
50032  }
50033 
50034  if (i.OnEntry ())
50035  {
50036  o << ::std::endl << "OnEntry: " << *i.OnEntry ();
50037  }
50038 
50040  b (i.OnCondition ().begin ()), e (i.OnCondition ().end ());
50041  b != e; ++b)
50042  {
50043  o << ::std::endl << "OnCondition: " << *b;
50044  }
50045 
50046  o << ::std::endl << "name: " << i.name ();
50047  if (i.initial ())
50048  {
50049  o << ::std::endl << "initial: " << *i.initial ();
50050  }
50051 
50052  return o;
50053  }
50054 
50055  ::std::ostream&
50056  operator<< (::std::ostream& o, const OnEntry& i)
50057  {
50059  b (i.StateAssignment ().begin ()), e (i.StateAssignment ().end ());
50060  b != e; ++b)
50061  {
50062  o << ::std::endl << "StateAssignment: " << *b;
50063  }
50064 
50065  return o;
50066  }
50067 
50068  ::std::ostream&
50069  operator<< (::std::ostream& o, TrueOrFalse::value i)
50070  {
50071  return o << TrueOrFalse::_xsd_TrueOrFalse_literals_[i];
50072  }
50073 
50074  ::std::ostream&
50075  operator<< (::std::ostream& o, const TrueOrFalse& i)
50076  {
50077  return o << static_cast< const ::xml_schema::string& > (i);
50078  }
50079 
50080  ::std::ostream&
50081  operator<< (::std::ostream& o, const ZeroToOne& i)
50082  {
50083  o << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::float_, char, ::xml_schema::simple_type >& > (i);
50084 
50085  return o;
50086  }
50087 
50088  ::std::ostream&
50089  operator<< (::std::ostream& o, const Base& i)
50090  {
50091  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
50092 
50093  o << ::std::endl << "id: " << i.id ();
50094  return o;
50095  }
50096 
50097  ::std::ostream&
50098  operator<< (::std::ostream& o, const Standalone& i)
50099  {
50100  o << static_cast< const ::neuroml2::Base& > (i);
50101 
50102  if (i.notes ())
50103  {
50104  o << ::std::endl << "notes: " << *i.notes ();
50105  }
50106 
50108  b (i.property ().begin ()), e (i.property ().end ());
50109  b != e; ++b)
50110  {
50111  o << ::std::endl << "property: " << *b;
50112  }
50113 
50114  if (i.annotation ())
50115  {
50116  o << ::std::endl << "annotation: " << *i.annotation ();
50117  }
50118 
50119  if (i.metaid ())
50120  {
50121  o << ::std::endl << "metaid: " << *i.metaid ();
50122  }
50123 
50124  return o;
50125  }
50126 
50127  ::std::ostream&
50128  operator<< (::std::ostream& o, const NeuroMLDocument_base& i)
50129  {
50130  o << static_cast< const ::neuroml2::Standalone& > (i);
50131 
50133  b (i.include ().begin ()), e (i.include ().end ());
50134  b != e; ++b)
50135  {
50136  o << ::std::endl << "include: " << *b;
50137  }
50138 
50140  b (i.extracellularProperties ().begin ()), e (i.extracellularProperties ().end ());
50141  b != e; ++b)
50142  {
50143  o << ::std::endl << "extracellularProperties: " << *b;
50144  }
50145 
50147  b (i.intracellularProperties ().begin ()), e (i.intracellularProperties ().end ());
50148  b != e; ++b)
50149  {
50150  o << ::std::endl << "intracellularProperties: " << *b;
50151  }
50152 
50154  b (i.morphology ().begin ()), e (i.morphology ().end ());
50155  b != e; ++b)
50156  {
50157  o << ::std::endl << "morphology: " << *b;
50158  }
50159 
50161  b (i.ionChannel ().begin ()), e (i.ionChannel ().end ());
50162  b != e; ++b)
50163  {
50164  o << ::std::endl << "ionChannel: " << *b;
50165  }
50166 
50168  b (i.ionChannelHH ().begin ()), e (i.ionChannelHH ().end ());
50169  b != e; ++b)
50170  {
50171  o << ::std::endl << "ionChannelHH: " << *b;
50172  }
50173 
50175  b (i.ionChannelVShift ().begin ()), e (i.ionChannelVShift ().end ());
50176  b != e; ++b)
50177  {
50178  o << ::std::endl << "ionChannelVShift: " << *b;
50179  }
50180 
50182  b (i.ionChannelKS ().begin ()), e (i.ionChannelKS ().end ());
50183  b != e; ++b)
50184  {
50185  o << ::std::endl << "ionChannelKS: " << *b;
50186  }
50187 
50189  b (i.decayingPoolConcentrationModel ().begin ()), e (i.decayingPoolConcentrationModel ().end ());
50190  b != e; ++b)
50191  {
50192  o << ::std::endl << "decayingPoolConcentrationModel: " << *b;
50193  }
50194 
50196  b (i.fixedFactorConcentrationModel ().begin ()), e (i.fixedFactorConcentrationModel ().end ());
50197  b != e; ++b)
50198  {
50199  o << ::std::endl << "fixedFactorConcentrationModel: " << *b;
50200  }
50201 
50203  b (i.alphaCurrentSynapse ().begin ()), e (i.alphaCurrentSynapse ().end ());
50204  b != e; ++b)
50205  {
50206  o << ::std::endl << "alphaCurrentSynapse: " << *b;
50207  }
50208 
50210  b (i.alphaSynapse ().begin ()), e (i.alphaSynapse ().end ());
50211  b != e; ++b)
50212  {
50213  o << ::std::endl << "alphaSynapse: " << *b;
50214  }
50215 
50217  b (i.expOneSynapse ().begin ()), e (i.expOneSynapse ().end ());
50218  b != e; ++b)
50219  {
50220  o << ::std::endl << "expOneSynapse: " << *b;
50221  }
50222 
50224  b (i.expTwoSynapse ().begin ()), e (i.expTwoSynapse ().end ());
50225  b != e; ++b)
50226  {
50227  o << ::std::endl << "expTwoSynapse: " << *b;
50228  }
50229 
50231  b (i.expThreeSynapse ().begin ()), e (i.expThreeSynapse ().end ());
50232  b != e; ++b)
50233  {
50234  o << ::std::endl << "expThreeSynapse: " << *b;
50235  }
50236 
50238  b (i.blockingPlasticSynapse ().begin ()), e (i.blockingPlasticSynapse ().end ());
50239  b != e; ++b)
50240  {
50241  o << ::std::endl << "blockingPlasticSynapse: " << *b;
50242  }
50243 
50245  b (i.doubleSynapse ().begin ()), e (i.doubleSynapse ().end ());
50246  b != e; ++b)
50247  {
50248  o << ::std::endl << "doubleSynapse: " << *b;
50249  }
50250 
50252  b (i.gapJunction ().begin ()), e (i.gapJunction ().end ());
50253  b != e; ++b)
50254  {
50255  o << ::std::endl << "gapJunction: " << *b;
50256  }
50257 
50259  b (i.silentSynapse ().begin ()), e (i.silentSynapse ().end ());
50260  b != e; ++b)
50261  {
50262  o << ::std::endl << "silentSynapse: " << *b;
50263  }
50264 
50266  b (i.linearGradedSynapse ().begin ()), e (i.linearGradedSynapse ().end ());
50267  b != e; ++b)
50268  {
50269  o << ::std::endl << "linearGradedSynapse: " << *b;
50270  }
50271 
50273  b (i.gradedSynapse ().begin ()), e (i.gradedSynapse ().end ());
50274  b != e; ++b)
50275  {
50276  o << ::std::endl << "gradedSynapse: " << *b;
50277  }
50278 
50280  b (i.biophysicalProperties ().begin ()), e (i.biophysicalProperties ().end ());
50281  b != e; ++b)
50282  {
50283  o << ::std::endl << "biophysicalProperties: " << *b;
50284  }
50285 
50287  b (i.cell ().begin ()), e (i.cell ().end ());
50288  b != e; ++b)
50289  {
50290  o << ::std::endl << "cell: " << *b;
50291  }
50292 
50294  b (i.cell2CaPools ().begin ()), e (i.cell2CaPools ().end ());
50295  b != e; ++b)
50296  {
50297  o << ::std::endl << "cell2CaPools: " << *b;
50298  }
50299 
50301  b (i.baseCell ().begin ()), e (i.baseCell ().end ());
50302  b != e; ++b)
50303  {
50304  o << ::std::endl << "baseCell: " << *b;
50305  }
50306 
50308  b (i.iafTauCell ().begin ()), e (i.iafTauCell ().end ());
50309  b != e; ++b)
50310  {
50311  o << ::std::endl << "iafTauCell: " << *b;
50312  }
50313 
50315  b (i.iafTauRefCell ().begin ()), e (i.iafTauRefCell ().end ());
50316  b != e; ++b)
50317  {
50318  o << ::std::endl << "iafTauRefCell: " << *b;
50319  }
50320 
50322  b (i.iafCell ().begin ()), e (i.iafCell ().end ());
50323  b != e; ++b)
50324  {
50325  o << ::std::endl << "iafCell: " << *b;
50326  }
50327 
50329  b (i.iafRefCell ().begin ()), e (i.iafRefCell ().end ());
50330  b != e; ++b)
50331  {
50332  o << ::std::endl << "iafRefCell: " << *b;
50333  }
50334 
50336  b (i.izhikevichCell ().begin ()), e (i.izhikevichCell ().end ());
50337  b != e; ++b)
50338  {
50339  o << ::std::endl << "izhikevichCell: " << *b;
50340  }
50341 
50343  b (i.izhikevich2007Cell ().begin ()), e (i.izhikevich2007Cell ().end ());
50344  b != e; ++b)
50345  {
50346  o << ::std::endl << "izhikevich2007Cell: " << *b;
50347  }
50348 
50350  b (i.adExIaFCell ().begin ()), e (i.adExIaFCell ().end ());
50351  b != e; ++b)
50352  {
50353  o << ::std::endl << "adExIaFCell: " << *b;
50354  }
50355 
50357  b (i.fitzHughNagumoCell ().begin ()), e (i.fitzHughNagumoCell ().end ());
50358  b != e; ++b)
50359  {
50360  o << ::std::endl << "fitzHughNagumoCell: " << *b;
50361  }
50362 
50364  b (i.fitzHughNagumo1969Cell ().begin ()), e (i.fitzHughNagumo1969Cell ().end ());
50365  b != e; ++b)
50366  {
50367  o << ::std::endl << "fitzHughNagumo1969Cell: " << *b;
50368  }
50369 
50371  b (i.pinskyRinzelCA3Cell ().begin ()), e (i.pinskyRinzelCA3Cell ().end ());
50372  b != e; ++b)
50373  {
50374  o << ::std::endl << "pinskyRinzelCA3Cell: " << *b;
50375  }
50376 
50378  b (i.hindmarshRose1984Cell ().begin ()), e (i.hindmarshRose1984Cell ().end ());
50379  b != e; ++b)
50380  {
50381  o << ::std::endl << "hindmarshRose1984Cell: " << *b;
50382  }
50383 
50385  b (i.pulseGenerator ().begin ()), e (i.pulseGenerator ().end ());
50386  b != e; ++b)
50387  {
50388  o << ::std::endl << "pulseGenerator: " << *b;
50389  }
50390 
50392  b (i.pulseGeneratorDL ().begin ()), e (i.pulseGeneratorDL ().end ());
50393  b != e; ++b)
50394  {
50395  o << ::std::endl << "pulseGeneratorDL: " << *b;
50396  }
50397 
50399  b (i.sineGenerator ().begin ()), e (i.sineGenerator ().end ());
50400  b != e; ++b)
50401  {
50402  o << ::std::endl << "sineGenerator: " << *b;
50403  }
50404 
50406  b (i.sineGeneratorDL ().begin ()), e (i.sineGeneratorDL ().end ());
50407  b != e; ++b)
50408  {
50409  o << ::std::endl << "sineGeneratorDL: " << *b;
50410  }
50411 
50413  b (i.rampGenerator ().begin ()), e (i.rampGenerator ().end ());
50414  b != e; ++b)
50415  {
50416  o << ::std::endl << "rampGenerator: " << *b;
50417  }
50418 
50420  b (i.rampGeneratorDL ().begin ()), e (i.rampGeneratorDL ().end ());
50421  b != e; ++b)
50422  {
50423  o << ::std::endl << "rampGeneratorDL: " << *b;
50424  }
50425 
50427  b (i.compoundInput ().begin ()), e (i.compoundInput ().end ());
50428  b != e; ++b)
50429  {
50430  o << ::std::endl << "compoundInput: " << *b;
50431  }
50432 
50434  b (i.compoundInputDL ().begin ()), e (i.compoundInputDL ().end ());
50435  b != e; ++b)
50436  {
50437  o << ::std::endl << "compoundInputDL: " << *b;
50438  }
50439 
50441  b (i.voltageClamp ().begin ()), e (i.voltageClamp ().end ());
50442  b != e; ++b)
50443  {
50444  o << ::std::endl << "voltageClamp: " << *b;
50445  }
50446 
50448  b (i.voltageClampTriple ().begin ()), e (i.voltageClampTriple ().end ());
50449  b != e; ++b)
50450  {
50451  o << ::std::endl << "voltageClampTriple: " << *b;
50452  }
50453 
50455  b (i.spikeArray ().begin ()), e (i.spikeArray ().end ());
50456  b != e; ++b)
50457  {
50458  o << ::std::endl << "spikeArray: " << *b;
50459  }
50460 
50462  b (i.timedSynapticInput ().begin ()), e (i.timedSynapticInput ().end ());
50463  b != e; ++b)
50464  {
50465  o << ::std::endl << "timedSynapticInput: " << *b;
50466  }
50467 
50469  b (i.spikeGenerator ().begin ()), e (i.spikeGenerator ().end ());
50470  b != e; ++b)
50471  {
50472  o << ::std::endl << "spikeGenerator: " << *b;
50473  }
50474 
50476  b (i.spikeGeneratorRandom ().begin ()), e (i.spikeGeneratorRandom ().end ());
50477  b != e; ++b)
50478  {
50479  o << ::std::endl << "spikeGeneratorRandom: " << *b;
50480  }
50481 
50483  b (i.spikeGeneratorPoisson ().begin ()), e (i.spikeGeneratorPoisson ().end ());
50484  b != e; ++b)
50485  {
50486  o << ::std::endl << "spikeGeneratorPoisson: " << *b;
50487  }
50488 
50490  b (i.spikeGeneratorRefPoisson ().begin ()), e (i.spikeGeneratorRefPoisson ().end ());
50491  b != e; ++b)
50492  {
50493  o << ::std::endl << "spikeGeneratorRefPoisson: " << *b;
50494  }
50495 
50497  b (i.poissonFiringSynapse ().begin ()), e (i.poissonFiringSynapse ().end ());
50498  b != e; ++b)
50499  {
50500  o << ::std::endl << "poissonFiringSynapse: " << *b;
50501  }
50502 
50504  b (i.transientPoissonFiringSynapse ().begin ()), e (i.transientPoissonFiringSynapse ().end ());
50505  b != e; ++b)
50506  {
50507  o << ::std::endl << "transientPoissonFiringSynapse: " << *b;
50508  }
50509 
50511  b (i.IF_curr_alpha ().begin ()), e (i.IF_curr_alpha ().end ());
50512  b != e; ++b)
50513  {
50514  o << ::std::endl << "IF_curr_alpha: " << *b;
50515  }
50516 
50518  b (i.IF_curr_exp ().begin ()), e (i.IF_curr_exp ().end ());
50519  b != e; ++b)
50520  {
50521  o << ::std::endl << "IF_curr_exp: " << *b;
50522  }
50523 
50525  b (i.IF_cond_alpha ().begin ()), e (i.IF_cond_alpha ().end ());
50526  b != e; ++b)
50527  {
50528  o << ::std::endl << "IF_cond_alpha: " << *b;
50529  }
50530 
50532  b (i.IF_cond_exp ().begin ()), e (i.IF_cond_exp ().end ());
50533  b != e; ++b)
50534  {
50535  o << ::std::endl << "IF_cond_exp: " << *b;
50536  }
50537 
50539  b (i.EIF_cond_exp_isfa_ista ().begin ()), e (i.EIF_cond_exp_isfa_ista ().end ());
50540  b != e; ++b)
50541  {
50542  o << ::std::endl << "EIF_cond_exp_isfa_ista: " << *b;
50543  }
50544 
50546  b (i.EIF_cond_alpha_isfa_ista ().begin ()), e (i.EIF_cond_alpha_isfa_ista ().end ());
50547  b != e; ++b)
50548  {
50549  o << ::std::endl << "EIF_cond_alpha_isfa_ista: " << *b;
50550  }
50551 
50553  b (i.HH_cond_exp ().begin ()), e (i.HH_cond_exp ().end ());
50554  b != e; ++b)
50555  {
50556  o << ::std::endl << "HH_cond_exp: " << *b;
50557  }
50558 
50560  b (i.expCondSynapse ().begin ()), e (i.expCondSynapse ().end ());
50561  b != e; ++b)
50562  {
50563  o << ::std::endl << "expCondSynapse: " << *b;
50564  }
50565 
50567  b (i.alphaCondSynapse ().begin ()), e (i.alphaCondSynapse ().end ());
50568  b != e; ++b)
50569  {
50570  o << ::std::endl << "alphaCondSynapse: " << *b;
50571  }
50572 
50574  b (i.expCurrSynapse ().begin ()), e (i.expCurrSynapse ().end ());
50575  b != e; ++b)
50576  {
50577  o << ::std::endl << "expCurrSynapse: " << *b;
50578  }
50579 
50581  b (i.alphaCurrSynapse ().begin ()), e (i.alphaCurrSynapse ().end ());
50582  b != e; ++b)
50583  {
50584  o << ::std::endl << "alphaCurrSynapse: " << *b;
50585  }
50586 
50588  b (i.SpikeSourcePoisson ().begin ()), e (i.SpikeSourcePoisson ().end ());
50589  b != e; ++b)
50590  {
50591  o << ::std::endl << "SpikeSourcePoisson: " << *b;
50592  }
50593 
50595  b (i.network ().begin ()), e (i.network ().end ());
50596  b != e; ++b)
50597  {
50598  o << ::std::endl << "network: " << *b;
50599  }
50600 
50602  b (i.ComponentType ().begin ()), e (i.ComponentType ().end ());
50603  b != e; ++b)
50604  {
50605  o << ::std::endl << "ComponentType: " << *b;
50606  }
50607 
50608  return o;
50609  }
50610 
50611  ::std::ostream&
50612  operator<< (::std::ostream& o, const IncludeType& i)
50613  {
50614  o << ::std::endl << "href: " << i.href ();
50615  return o;
50616  }
50617 
50618  ::std::ostream&
50619  operator<< (::std::ostream& o, const IonChannelScalable& i)
50620  {
50621  o << static_cast< const ::neuroml2::Standalone& > (i);
50622 
50624  b (i.q10ConductanceScaling ().begin ()), e (i.q10ConductanceScaling ().end ());
50625  b != e; ++b)
50626  {
50627  o << ::std::endl << "q10ConductanceScaling: " << *b;
50628  }
50629 
50630  if (i.neuroLexId ())
50631  {
50632  o << ::std::endl << "neuroLexId: " << *i.neuroLexId ();
50633  }
50634 
50635  return o;
50636  }
50637 
50638  ::std::ostream&
50639  operator<< (::std::ostream& o, const IonChannelKS& i)
50640  {
50641  o << static_cast< const ::neuroml2::Standalone& > (i);
50642 
50644  b (i.gateKS ().begin ()), e (i.gateKS ().end ());
50645  b != e; ++b)
50646  {
50647  o << ::std::endl << "gateKS: " << *b;
50648  }
50649 
50650  if (i.species ())
50651  {
50652  o << ::std::endl << "species: " << *i.species ();
50653  }
50654 
50655  if (i.conductance ())
50656  {
50657  o << ::std::endl << "conductance: " << *i.conductance ();
50658  }
50659 
50660  if (i.neuroLexId ())
50661  {
50662  o << ::std::endl << "neuroLexId: " << *i.neuroLexId ();
50663  }
50664 
50665  return o;
50666  }
50667 
50668  ::std::ostream&
50669  operator<< (::std::ostream& o, const IonChannel& i)
50670  {
50671  o << static_cast< const ::neuroml2::IonChannelScalable& > (i);
50672 
50674  b (i.gate ().begin ()), e (i.gate ().end ());
50675  b != e; ++b)
50676  {
50677  o << ::std::endl << "gate: " << *b;
50678  }
50679 
50681  b (i.gateHHrates ().begin ()), e (i.gateHHrates ().end ());
50682  b != e; ++b)
50683  {
50684  o << ::std::endl << "gateHHrates: " << *b;
50685  }
50686 
50688  b (i.gateHHratesTau ().begin ()), e (i.gateHHratesTau ().end ());
50689  b != e; ++b)
50690  {
50691  o << ::std::endl << "gateHHratesTau: " << *b;
50692  }
50693 
50695  b (i.gateHHtauInf ().begin ()), e (i.gateHHtauInf ().end ());
50696  b != e; ++b)
50697  {
50698  o << ::std::endl << "gateHHtauInf: " << *b;
50699  }
50700 
50702  b (i.gateHHratesInf ().begin ()), e (i.gateHHratesInf ().end ());
50703  b != e; ++b)
50704  {
50705  o << ::std::endl << "gateHHratesInf: " << *b;
50706  }
50707 
50709  b (i.gateHHratesTauInf ().begin ()), e (i.gateHHratesTauInf ().end ());
50710  b != e; ++b)
50711  {
50712  o << ::std::endl << "gateHHratesTauInf: " << *b;
50713  }
50714 
50716  b (i.gateHHInstantaneous ().begin ()), e (i.gateHHInstantaneous ().end ());
50717  b != e; ++b)
50718  {
50719  o << ::std::endl << "gateHHInstantaneous: " << *b;
50720  }
50721 
50723  b (i.gateFractional ().begin ()), e (i.gateFractional ().end ());
50724  b != e; ++b)
50725  {
50726  o << ::std::endl << "gateFractional: " << *b;
50727  }
50728 
50729  if (i.species ())
50730  {
50731  o << ::std::endl << "species: " << *i.species ();
50732  }
50733 
50734  if (i.type ())
50735  {
50736  o << ::std::endl << "type: " << *i.type ();
50737  }
50738 
50739  if (i.conductance ())
50740  {
50741  o << ::std::endl << "conductance: " << *i.conductance ();
50742  }
50743 
50744  return o;
50745  }
50746 
50747  ::std::ostream&
50748  operator<< (::std::ostream& o, const IonChannelHH& i)
50749  {
50750  o << static_cast< const ::neuroml2::IonChannel& > (i);
50751 
50752  return o;
50753  }
50754 
50755  ::std::ostream&
50756  operator<< (::std::ostream& o, const IonChannelVShift& i)
50757  {
50758  o << static_cast< const ::neuroml2::IonChannel& > (i);
50759 
50760  o << ::std::endl << "vShift: " << i.vShift ();
50761  return o;
50762  }
50763 
50764  ::std::ostream&
50765  operator<< (::std::ostream& o, channelTypes::value i)
50766  {
50767  return o << channelTypes::_xsd_channelTypes_literals_[i];
50768  }
50769 
50770  ::std::ostream&
50771  operator<< (::std::ostream& o, const channelTypes& i)
50772  {
50773  return o << static_cast< const ::xml_schema::string& > (i);
50774  }
50775 
50776  ::std::ostream&
50777  operator<< (::std::ostream& o, const Q10ConductanceScaling& i)
50778  {
50779  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
50780 
50781  o << ::std::endl << "q10Factor: " << i.q10Factor ();
50782  o << ::std::endl << "experimentalTemp: " << i.experimentalTemp ();
50783  return o;
50784  }
50785 
50786  ::std::ostream&
50787  operator<< (::std::ostream& o, gateTypes::value i)
50788  {
50789  return o << gateTypes::_xsd_gateTypes_literals_[i];
50790  }
50791 
50792  ::std::ostream&
50793  operator<< (::std::ostream& o, const gateTypes& i)
50794  {
50795  return o << static_cast< const ::xml_schema::string& > (i);
50796  }
50797 
50798  ::std::ostream&
50799  operator<< (::std::ostream& o, const ClosedState& i)
50800  {
50801  o << static_cast< const ::neuroml2::Base& > (i);
50802 
50803  return o;
50804  }
50805 
50806  ::std::ostream&
50807  operator<< (::std::ostream& o, const OpenState& i)
50808  {
50809  o << static_cast< const ::neuroml2::Base& > (i);
50810 
50811  return o;
50812  }
50813 
50814  ::std::ostream&
50815  operator<< (::std::ostream& o, const ForwardTransition& i)
50816  {
50817  o << static_cast< const ::neuroml2::Base& > (i);
50818 
50819  o << ::std::endl << "from: " << i.from ();
50820  o << ::std::endl << "to: " << i.to ();
50821  return o;
50822  }
50823 
50824  ::std::ostream&
50825  operator<< (::std::ostream& o, const ReverseTransition& i)
50826  {
50827  o << static_cast< const ::neuroml2::Base& > (i);
50828 
50829  o << ::std::endl << "from: " << i.from ();
50830  o << ::std::endl << "to: " << i.to ();
50831  return o;
50832  }
50833 
50834  ::std::ostream&
50835  operator<< (::std::ostream& o, const TauInfTransition& i)
50836  {
50837  o << static_cast< const ::neuroml2::Base& > (i);
50838 
50839  o << ::std::endl << "steadyState: " << i.steadyState ();
50840  o << ::std::endl << "timeCourse: " << i.timeCourse ();
50841  o << ::std::endl << "from: " << i.from ();
50842  o << ::std::endl << "to: " << i.to ();
50843  return o;
50844  }
50845 
50846  ::std::ostream&
50847  operator<< (::std::ostream& o, const GateKS& i)
50848  {
50849  o << static_cast< const ::neuroml2::Base& > (i);
50850 
50851  if (i.notes ())
50852  {
50853  o << ::std::endl << "notes: " << *i.notes ();
50854  }
50855 
50856  if (i.q10Settings ())
50857  {
50858  o << ::std::endl << "q10Settings: " << *i.q10Settings ();
50859  }
50860 
50862  b (i.closedState ().begin ()), e (i.closedState ().end ());
50863  b != e; ++b)
50864  {
50865  o << ::std::endl << "closedState: " << *b;
50866  }
50867 
50869  b (i.openState ().begin ()), e (i.openState ().end ());
50870  b != e; ++b)
50871  {
50872  o << ::std::endl << "openState: " << *b;
50873  }
50874 
50876  b (i.forwardTransition ().begin ()), e (i.forwardTransition ().end ());
50877  b != e; ++b)
50878  {
50879  o << ::std::endl << "forwardTransition: " << *b;
50880  }
50881 
50883  b (i.reverseTransition ().begin ()), e (i.reverseTransition ().end ());
50884  b != e; ++b)
50885  {
50886  o << ::std::endl << "reverseTransition: " << *b;
50887  }
50888 
50890  b (i.tauInfTransition ().begin ()), e (i.tauInfTransition ().end ());
50891  b != e; ++b)
50892  {
50893  o << ::std::endl << "tauInfTransition: " << *b;
50894  }
50895 
50896  o << ::std::endl << "instances: " << i.instances ();
50897  return o;
50898  }
50899 
50900  ::std::ostream&
50901  operator<< (::std::ostream& o, const GateHHUndetermined& i)
50902  {
50903  o << static_cast< const ::neuroml2::Base& > (i);
50904 
50905  if (i.notes ())
50906  {
50907  o << ::std::endl << "notes: " << *i.notes ();
50908  }
50909 
50910  if (i.q10Settings ())
50911  {
50912  o << ::std::endl << "q10Settings: " << *i.q10Settings ();
50913  }
50914 
50915  if (i.forwardRate ())
50916  {
50917  o << ::std::endl << "forwardRate: " << *i.forwardRate ();
50918  }
50919 
50920  if (i.reverseRate ())
50921  {
50922  o << ::std::endl << "reverseRate: " << *i.reverseRate ();
50923  }
50924 
50925  if (i.timeCourse ())
50926  {
50927  o << ::std::endl << "timeCourse: " << *i.timeCourse ();
50928  }
50929 
50930  if (i.steadyState ())
50931  {
50932  o << ::std::endl << "steadyState: " << *i.steadyState ();
50933  }
50934 
50936  b (i.subGate ().begin ()), e (i.subGate ().end ());
50937  b != e; ++b)
50938  {
50939  o << ::std::endl << "subGate: " << *b;
50940  }
50941 
50942  o << ::std::endl << "instances: " << i.instances ();
50943  o << ::std::endl << "type: " << i.type ();
50944  return o;
50945  }
50946 
50947  ::std::ostream&
50948  operator<< (::std::ostream& o, const GateHHRates& i)
50949  {
50950  o << static_cast< const ::neuroml2::Base& > (i);
50951 
50952  if (i.notes ())
50953  {
50954  o << ::std::endl << "notes: " << *i.notes ();
50955  }
50956 
50957  if (i.q10Settings ())
50958  {
50959  o << ::std::endl << "q10Settings: " << *i.q10Settings ();
50960  }
50961 
50962  o << ::std::endl << "forwardRate: " << i.forwardRate ();
50963  o << ::std::endl << "reverseRate: " << i.reverseRate ();
50964  o << ::std::endl << "instances: " << i.instances ();
50965  return o;
50966  }
50967 
50968  ::std::ostream&
50969  operator<< (::std::ostream& o, const GateHHTauInf& i)
50970  {
50971  o << static_cast< const ::neuroml2::Base& > (i);
50972 
50973  if (i.notes ())
50974  {
50975  o << ::std::endl << "notes: " << *i.notes ();
50976  }
50977 
50978  if (i.q10Settings ())
50979  {
50980  o << ::std::endl << "q10Settings: " << *i.q10Settings ();
50981  }
50982 
50983  o << ::std::endl << "timeCourse: " << i.timeCourse ();
50984  o << ::std::endl << "steadyState: " << i.steadyState ();
50985  o << ::std::endl << "instances: " << i.instances ();
50986  return o;
50987  }
50988 
50989  ::std::ostream&
50990  operator<< (::std::ostream& o, const GateHHRatesTauInf& i)
50991  {
50992  o << static_cast< const ::neuroml2::Base& > (i);
50993 
50994  if (i.notes ())
50995  {
50996  o << ::std::endl << "notes: " << *i.notes ();
50997  }
50998 
50999  if (i.q10Settings ())
51000  {
51001  o << ::std::endl << "q10Settings: " << *i.q10Settings ();
51002  }
51003 
51004  o << ::std::endl << "forwardRate: " << i.forwardRate ();
51005  o << ::std::endl << "reverseRate: " << i.reverseRate ();
51006  o << ::std::endl << "timeCourse: " << i.timeCourse ();
51007  o << ::std::endl << "steadyState: " << i.steadyState ();
51008  o << ::std::endl << "instances: " << i.instances ();
51009  return o;
51010  }
51011 
51012  ::std::ostream&
51013  operator<< (::std::ostream& o, const GateHHRatesTau& i)
51014  {
51015  o << static_cast< const ::neuroml2::Base& > (i);
51016 
51017  if (i.notes ())
51018  {
51019  o << ::std::endl << "notes: " << *i.notes ();
51020  }
51021 
51022  if (i.q10Settings ())
51023  {
51024  o << ::std::endl << "q10Settings: " << *i.q10Settings ();
51025  }
51026 
51027  o << ::std::endl << "forwardRate: " << i.forwardRate ();
51028  o << ::std::endl << "reverseRate: " << i.reverseRate ();
51029  o << ::std::endl << "timeCourse: " << i.timeCourse ();
51030  o << ::std::endl << "instances: " << i.instances ();
51031  return o;
51032  }
51033 
51034  ::std::ostream&
51035  operator<< (::std::ostream& o, const GateHHRatesInf& i)
51036  {
51037  o << static_cast< const ::neuroml2::Base& > (i);
51038 
51039  if (i.notes ())
51040  {
51041  o << ::std::endl << "notes: " << *i.notes ();
51042  }
51043 
51044  if (i.q10Settings ())
51045  {
51046  o << ::std::endl << "q10Settings: " << *i.q10Settings ();
51047  }
51048 
51049  o << ::std::endl << "forwardRate: " << i.forwardRate ();
51050  o << ::std::endl << "reverseRate: " << i.reverseRate ();
51051  o << ::std::endl << "steadyState: " << i.steadyState ();
51052  o << ::std::endl << "instances: " << i.instances ();
51053  return o;
51054  }
51055 
51056  ::std::ostream&
51057  operator<< (::std::ostream& o, const GateHHInstantaneous& i)
51058  {
51059  o << static_cast< const ::neuroml2::Base& > (i);
51060 
51061  if (i.notes ())
51062  {
51063  o << ::std::endl << "notes: " << *i.notes ();
51064  }
51065 
51066  o << ::std::endl << "steadyState: " << i.steadyState ();
51067  o << ::std::endl << "instances: " << i.instances ();
51068  return o;
51069  }
51070 
51071  ::std::ostream&
51072  operator<< (::std::ostream& o, const GateFractional& i)
51073  {
51074  o << static_cast< const ::neuroml2::Base& > (i);
51075 
51076  if (i.notes ())
51077  {
51078  o << ::std::endl << "notes: " << *i.notes ();
51079  }
51080 
51081  if (i.q10Settings ())
51082  {
51083  o << ::std::endl << "q10Settings: " << *i.q10Settings ();
51084  }
51085 
51087  b (i.subGate ().begin ()), e (i.subGate ().end ());
51088  b != e; ++b)
51089  {
51090  o << ::std::endl << "subGate: " << *b;
51091  }
51092 
51093  o << ::std::endl << "instances: " << i.instances ();
51094  return o;
51095  }
51096 
51097  ::std::ostream&
51098  operator<< (::std::ostream& o, const GateFractionalSubgate& i)
51099  {
51100  o << static_cast< const ::neuroml2::Base& > (i);
51101 
51102  if (i.notes ())
51103  {
51104  o << ::std::endl << "notes: " << *i.notes ();
51105  }
51106 
51107  if (i.q10Settings ())
51108  {
51109  o << ::std::endl << "q10Settings: " << *i.q10Settings ();
51110  }
51111 
51112  o << ::std::endl << "steadyState: " << i.steadyState ();
51113  o << ::std::endl << "timeCourse: " << i.timeCourse ();
51114  o << ::std::endl << "fractionalConductance: " << i.fractionalConductance ();
51115  return o;
51116  }
51117 
51118  ::std::ostream&
51119  operator<< (::std::ostream& o, const Q10Settings& i)
51120  {
51121  o << ::std::endl << "type: " << i.type ();
51122  if (i.fixedQ10 ())
51123  {
51124  o << ::std::endl << "fixedQ10: " << *i.fixedQ10 ();
51125  }
51126 
51127  if (i.q10Factor ())
51128  {
51129  o << ::std::endl << "q10Factor: " << *i.q10Factor ();
51130  }
51131 
51132  if (i.experimentalTemp ())
51133  {
51134  o << ::std::endl << "experimentalTemp: " << *i.experimentalTemp ();
51135  }
51136 
51137  return o;
51138  }
51139 
51140  ::std::ostream&
51141  operator<< (::std::ostream& o, const HHRate& i)
51142  {
51143  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
51144 
51145  o << ::std::endl << "type: " << i.type ();
51146  if (i.rate ())
51147  {
51148  o << ::std::endl << "rate: " << *i.rate ();
51149  }
51150 
51151  if (i.midpoint ())
51152  {
51153  o << ::std::endl << "midpoint: " << *i.midpoint ();
51154  }
51155 
51156  if (i.scale ())
51157  {
51158  o << ::std::endl << "scale: " << *i.scale ();
51159  }
51160 
51161  return o;
51162  }
51163 
51164  ::std::ostream&
51165  operator<< (::std::ostream& o, const HHVariable& i)
51166  {
51167  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
51168 
51169  o << ::std::endl << "type: " << i.type ();
51170  if (i.rate ())
51171  {
51172  o << ::std::endl << "rate: " << *i.rate ();
51173  }
51174 
51175  if (i.midpoint ())
51176  {
51177  o << ::std::endl << "midpoint: " << *i.midpoint ();
51178  }
51179 
51180  if (i.scale ())
51181  {
51182  o << ::std::endl << "scale: " << *i.scale ();
51183  }
51184 
51185  return o;
51186  }
51187 
51188  ::std::ostream&
51189  operator<< (::std::ostream& o, const HHTime& i)
51190  {
51191  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
51192 
51193  o << ::std::endl << "type: " << i.type ();
51194  if (i.rate ())
51195  {
51196  o << ::std::endl << "rate: " << *i.rate ();
51197  }
51198 
51199  if (i.midpoint ())
51200  {
51201  o << ::std::endl << "midpoint: " << *i.midpoint ();
51202  }
51203 
51204  if (i.scale ())
51205  {
51206  o << ::std::endl << "scale: " << *i.scale ();
51207  }
51208 
51209  if (i.tau ())
51210  {
51211  o << ::std::endl << "tau: " << *i.tau ();
51212  }
51213 
51214  return o;
51215  }
51216 
51217  ::std::ostream&
51218  operator<< (::std::ostream& o, const DecayingPoolConcentrationModel& i)
51219  {
51220  o << static_cast< const ::neuroml2::Standalone& > (i);
51221 
51222  o << ::std::endl << "ion: " << i.ion ();
51223  o << ::std::endl << "restingConc: " << i.restingConc ();
51224  o << ::std::endl << "decayConstant: " << i.decayConstant ();
51225  o << ::std::endl << "shellThickness: " << i.shellThickness ();
51226  return o;
51227  }
51228 
51229  ::std::ostream&
51230  operator<< (::std::ostream& o, const FixedFactorConcentrationModel& i)
51231  {
51232  o << static_cast< const ::neuroml2::Standalone& > (i);
51233 
51234  o << ::std::endl << "ion: " << i.ion ();
51235  o << ::std::endl << "restingConc: " << i.restingConc ();
51236  o << ::std::endl << "decayConstant: " << i.decayConstant ();
51237  o << ::std::endl << "rho: " << i.rho ();
51238  return o;
51239  }
51240 
51241  ::std::ostream&
51242  operator<< (::std::ostream& o, const BaseSynapse& i)
51243  {
51244  o << static_cast< const ::neuroml2::Standalone& > (i);
51245 
51246  if (i.neuroLexId ())
51247  {
51248  o << ::std::endl << "neuroLexId: " << *i.neuroLexId ();
51249  }
51250 
51251  return o;
51252  }
51253 
51254  ::std::ostream&
51255  operator<< (::std::ostream& o, const BaseVoltageDepSynapse& i)
51256  {
51257  o << static_cast< const ::neuroml2::BaseSynapse& > (i);
51258 
51259  return o;
51260  }
51261 
51262  ::std::ostream&
51263  operator<< (::std::ostream& o, const BaseCurrentBasedSynapse& i)
51264  {
51265  o << static_cast< const ::neuroml2::BaseSynapse& > (i);
51266 
51267  return o;
51268  }
51269 
51270  ::std::ostream&
51271  operator<< (::std::ostream& o, const BaseConductanceBasedSynapse& i)
51272  {
51273  o << static_cast< const ::neuroml2::BaseVoltageDepSynapse& > (i);
51274 
51275  o << ::std::endl << "gbase: " << i.gbase ();
51276  o << ::std::endl << "erev: " << i.erev ();
51277  return o;
51278  }
51279 
51280  ::std::ostream&
51281  operator<< (::std::ostream& o, const BaseConductanceBasedSynapseTwo& i)
51282  {
51283  o << static_cast< const ::neuroml2::BaseVoltageDepSynapse& > (i);
51284 
51285  o << ::std::endl << "gbase1: " << i.gbase1 ();
51286  o << ::std::endl << "gbase2: " << i.gbase2 ();
51287  o << ::std::endl << "erev: " << i.erev ();
51288  return o;
51289  }
51290 
51291  ::std::ostream&
51292  operator<< (::std::ostream& o, const GapJunction& i)
51293  {
51294  o << static_cast< const ::neuroml2::BaseSynapse& > (i);
51295 
51296  o << ::std::endl << "conductance: " << i.conductance ();
51297  return o;
51298  }
51299 
51300  ::std::ostream&
51301  operator<< (::std::ostream& o, const SilentSynapse& i)
51302  {
51303  o << static_cast< const ::neuroml2::BaseSynapse& > (i);
51304 
51305  return o;
51306  }
51307 
51308  ::std::ostream&
51309  operator<< (::std::ostream& o, const LinearGradedSynapse& i)
51310  {
51311  o << static_cast< const ::neuroml2::BaseSynapse& > (i);
51312 
51313  o << ::std::endl << "conductance: " << i.conductance ();
51314  return o;
51315  }
51316 
51317  ::std::ostream&
51318  operator<< (::std::ostream& o, const GradedSynapse& i)
51319  {
51320  o << static_cast< const ::neuroml2::BaseSynapse& > (i);
51321 
51322  o << ::std::endl << "conductance: " << i.conductance ();
51323  o << ::std::endl << "delta: " << i.delta ();
51324  o << ::std::endl << "Vth: " << i.Vth ();
51325  o << ::std::endl << "k: " << i.k ();
51326  o << ::std::endl << "erev: " << i.erev ();
51327  return o;
51328  }
51329 
51330  ::std::ostream&
51331  operator<< (::std::ostream& o, const AlphaCurrentSynapse& i)
51332  {
51333  o << static_cast< const ::neuroml2::BaseCurrentBasedSynapse& > (i);
51334 
51335  o << ::std::endl << "tau: " << i.tau ();
51336  o << ::std::endl << "ibase: " << i.ibase ();
51337  return o;
51338  }
51339 
51340  ::std::ostream&
51341  operator<< (::std::ostream& o, const AlphaSynapse& i)
51342  {
51343  o << static_cast< const ::neuroml2::BaseConductanceBasedSynapse& > (i);
51344 
51345  o << ::std::endl << "tau: " << i.tau ();
51346  return o;
51347  }
51348 
51349  ::std::ostream&
51350  operator<< (::std::ostream& o, const ExpOneSynapse& i)
51351  {
51352  o << static_cast< const ::neuroml2::BaseConductanceBasedSynapse& > (i);
51353 
51354  o << ::std::endl << "tauDecay: " << i.tauDecay ();
51355  return o;
51356  }
51357 
51358  ::std::ostream&
51359  operator<< (::std::ostream& o, const ExpTwoSynapse& i)
51360  {
51361  o << static_cast< const ::neuroml2::BaseConductanceBasedSynapse& > (i);
51362 
51363  o << ::std::endl << "tauDecay: " << i.tauDecay ();
51364  o << ::std::endl << "tauRise: " << i.tauRise ();
51365  return o;
51366  }
51367 
51368  ::std::ostream&
51369  operator<< (::std::ostream& o, const ExpThreeSynapse& i)
51370  {
51371  o << static_cast< const ::neuroml2::BaseConductanceBasedSynapseTwo& > (i);
51372 
51373  o << ::std::endl << "tauDecay1: " << i.tauDecay1 ();
51374  o << ::std::endl << "tauDecay2: " << i.tauDecay2 ();
51375  o << ::std::endl << "tauRise: " << i.tauRise ();
51376  return o;
51377  }
51378 
51379  ::std::ostream&
51380  operator<< (::std::ostream& o, const DoubleSynapse& i)
51381  {
51382  o << static_cast< const ::neuroml2::BaseVoltageDepSynapse& > (i);
51383 
51384  o << ::std::endl << "synapse1: " << i.synapse1 ();
51385  o << ::std::endl << "synapse2: " << i.synapse2 ();
51386  o << ::std::endl << "synapse1Path: " << i.synapse1Path ();
51387  o << ::std::endl << "synapse2Path: " << i.synapse2Path ();
51388  return o;
51389  }
51390 
51391  ::std::ostream&
51392  operator<< (::std::ostream& o, const BlockingPlasticSynapse& i)
51393  {
51394  o << static_cast< const ::neuroml2::ExpTwoSynapse& > (i);
51395 
51396  if (i.plasticityMechanism ())
51397  {
51398  o << ::std::endl << "plasticityMechanism: " << *i.plasticityMechanism ();
51399  }
51400 
51401  if (i.blockMechanism ())
51402  {
51403  o << ::std::endl << "blockMechanism: " << *i.blockMechanism ();
51404  }
51405 
51406  return o;
51407  }
51408 
51409  ::std::ostream&
51410  operator<< (::std::ostream& o, BlockTypes::value i)
51411  {
51412  return o << BlockTypes::_xsd_BlockTypes_literals_[i];
51413  }
51414 
51415  ::std::ostream&
51416  operator<< (::std::ostream& o, const BlockTypes& i)
51417  {
51418  return o << static_cast< const ::xml_schema::string& > (i);
51419  }
51420 
51421  ::std::ostream&
51422  operator<< (::std::ostream& o, const BlockMechanism& i)
51423  {
51424  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
51425 
51426  o << ::std::endl << "type: " << i.type ();
51427  o << ::std::endl << "species: " << i.species ();
51428  o << ::std::endl << "blockConcentration: " << i.blockConcentration ();
51429  o << ::std::endl << "scalingConc: " << i.scalingConc ();
51430  o << ::std::endl << "scalingVolt: " << i.scalingVolt ();
51431  return o;
51432  }
51433 
51434  ::std::ostream&
51435  operator<< (::std::ostream& o, PlasticityTypes::value i)
51436  {
51437  return o << PlasticityTypes::_xsd_PlasticityTypes_literals_[i];
51438  }
51439 
51440  ::std::ostream&
51441  operator<< (::std::ostream& o, const PlasticityTypes& i)
51442  {
51443  return o << static_cast< const ::xml_schema::string& > (i);
51444  }
51445 
51446  ::std::ostream&
51447  operator<< (::std::ostream& o, const PlasticityMechanism& i)
51448  {
51449  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
51450 
51451  o << ::std::endl << "type: " << i.type ();
51452  o << ::std::endl << "initReleaseProb: " << i.initReleaseProb ();
51453  o << ::std::endl << "tauRec: " << i.tauRec ();
51454  if (i.tauFac ())
51455  {
51456  o << ::std::endl << "tauFac: " << *i.tauFac ();
51457  }
51458 
51459  return o;
51460  }
51461 
51462  ::std::ostream&
51463  operator<< (::std::ostream& o, const BaseCell& i)
51464  {
51465  o << static_cast< const ::neuroml2::Standalone& > (i);
51466 
51467  if (i.neuroLexId ())
51468  {
51469  o << ::std::endl << "neuroLexId: " << *i.neuroLexId ();
51470  }
51471 
51472  return o;
51473  }
51474 
51475  ::std::ostream&
51476  operator<< (::std::ostream& o, const IafTauCell& i)
51477  {
51478  o << static_cast< const ::neuroml2::BaseCell& > (i);
51479 
51480  o << ::std::endl << "leakReversal: " << i.leakReversal ();
51481  o << ::std::endl << "thresh: " << i.thresh ();
51482  o << ::std::endl << "reset: " << i.reset ();
51483  o << ::std::endl << "tau: " << i.tau ();
51484  return o;
51485  }
51486 
51487  ::std::ostream&
51488  operator<< (::std::ostream& o, const IafTauRefCell& i)
51489  {
51490  o << static_cast< const ::neuroml2::IafTauCell& > (i);
51491 
51492  o << ::std::endl << "refract: " << i.refract ();
51493  return o;
51494  }
51495 
51496  ::std::ostream&
51497  operator<< (::std::ostream& o, const IafCell& i)
51498  {
51499  o << static_cast< const ::neuroml2::BaseCell& > (i);
51500 
51501  o << ::std::endl << "leakReversal: " << i.leakReversal ();
51502  o << ::std::endl << "thresh: " << i.thresh ();
51503  o << ::std::endl << "reset: " << i.reset ();
51504  o << ::std::endl << "C: " << i.C ();
51505  o << ::std::endl << "leakConductance: " << i.leakConductance ();
51506  return o;
51507  }
51508 
51509  ::std::ostream&
51510  operator<< (::std::ostream& o, const IafRefCell& i)
51511  {
51512  o << static_cast< const ::neuroml2::IafCell& > (i);
51513 
51514  o << ::std::endl << "refract: " << i.refract ();
51515  return o;
51516  }
51517 
51518  ::std::ostream&
51519  operator<< (::std::ostream& o, const IzhikevichCell& i)
51520  {
51521  o << static_cast< const ::neuroml2::BaseCell& > (i);
51522 
51523  o << ::std::endl << "v0: " << i.v0 ();
51524  o << ::std::endl << "thresh: " << i.thresh ();
51525  o << ::std::endl << "a: " << i.a ();
51526  o << ::std::endl << "b: " << i.b ();
51527  o << ::std::endl << "c: " << i.c ();
51528  o << ::std::endl << "d: " << i.d ();
51529  return o;
51530  }
51531 
51532  ::std::ostream&
51533  operator<< (::std::ostream& o, const BaseCellMembPotCap& i)
51534  {
51535  o << static_cast< const ::neuroml2::BaseCell& > (i);
51536 
51537  o << ::std::endl << "C: " << i.C ();
51538  return o;
51539  }
51540 
51541  ::std::ostream&
51542  operator<< (::std::ostream& o, const Izhikevich2007Cell& i)
51543  {
51544  o << static_cast< const ::neuroml2::BaseCellMembPotCap& > (i);
51545 
51546  o << ::std::endl << "v0: " << i.v0 ();
51547  o << ::std::endl << "k: " << i.k ();
51548  o << ::std::endl << "vr: " << i.vr ();
51549  o << ::std::endl << "vt: " << i.vt ();
51550  o << ::std::endl << "vpeak: " << i.vpeak ();
51551  o << ::std::endl << "a: " << i.a ();
51552  o << ::std::endl << "b: " << i.b ();
51553  o << ::std::endl << "c: " << i.c ();
51554  o << ::std::endl << "d: " << i.d ();
51555  return o;
51556  }
51557 
51558  ::std::ostream&
51559  operator<< (::std::ostream& o, const AdExIaFCell& i)
51560  {
51561  o << static_cast< const ::neuroml2::BaseCellMembPotCap& > (i);
51562 
51563  o << ::std::endl << "gL: " << i.gL ();
51564  o << ::std::endl << "EL: " << i.EL ();
51565  o << ::std::endl << "reset: " << i.reset ();
51566  o << ::std::endl << "VT: " << i.VT ();
51567  o << ::std::endl << "thresh: " << i.thresh ();
51568  o << ::std::endl << "delT: " << i.delT ();
51569  o << ::std::endl << "tauw: " << i.tauw ();
51570  o << ::std::endl << "refract: " << i.refract ();
51571  o << ::std::endl << "a: " << i.a ();
51572  o << ::std::endl << "b: " << i.b ();
51573  return o;
51574  }
51575 
51576  ::std::ostream&
51577  operator<< (::std::ostream& o, const FitzHughNagumoCell& i)
51578  {
51579  o << static_cast< const ::neuroml2::BaseCell& > (i);
51580 
51581  o << ::std::endl << "I: " << i.I ();
51582  return o;
51583  }
51584 
51585  ::std::ostream&
51586  operator<< (::std::ostream& o, const FitzHughNagumo1969Cell& i)
51587  {
51588  o << static_cast< const ::neuroml2::BaseCell& > (i);
51589 
51590  o << ::std::endl << "a: " << i.a ();
51591  o << ::std::endl << "b: " << i.b ();
51592  o << ::std::endl << "I: " << i.I ();
51593  o << ::std::endl << "phi: " << i.phi ();
51594  o << ::std::endl << "V0: " << i.V0 ();
51595  o << ::std::endl << "W0: " << i.W0 ();
51596  return o;
51597  }
51598 
51599  ::std::ostream&
51600  operator<< (::std::ostream& o, const PinskyRinzelCA3Cell& i)
51601  {
51602  o << static_cast< const ::neuroml2::BaseCell& > (i);
51603 
51604  o << ::std::endl << "iSoma: " << i.iSoma ();
51605  o << ::std::endl << "iDend: " << i.iDend ();
51606  o << ::std::endl << "gc: " << i.gc ();
51607  o << ::std::endl << "gLs: " << i.gLs ();
51608  o << ::std::endl << "gLd: " << i.gLd ();
51609  o << ::std::endl << "gNa: " << i.gNa ();
51610  o << ::std::endl << "gKdr: " << i.gKdr ();
51611  o << ::std::endl << "gCa: " << i.gCa ();
51612  o << ::std::endl << "gKahp: " << i.gKahp ();
51613  o << ::std::endl << "gKC: " << i.gKC ();
51614  o << ::std::endl << "gNmda: " << i.gNmda ();
51615  o << ::std::endl << "gAmpa: " << i.gAmpa ();
51616  o << ::std::endl << "eNa: " << i.eNa ();
51617  o << ::std::endl << "eCa: " << i.eCa ();
51618  o << ::std::endl << "eK: " << i.eK ();
51619  o << ::std::endl << "eL: " << i.eL ();
51620  o << ::std::endl << "qd0: " << i.qd0 ();
51621  o << ::std::endl << "pp: " << i.pp ();
51622  o << ::std::endl << "alphac: " << i.alphac ();
51623  o << ::std::endl << "betac: " << i.betac ();
51624  o << ::std::endl << "cm: " << i.cm ();
51625  return o;
51626  }
51627 
51628  ::std::ostream&
51629  operator<< (::std::ostream& o, const HindmarshRose1984Cell& i)
51630  {
51631  o << static_cast< const ::neuroml2::BaseCellMembPotCap& > (i);
51632 
51633  o << ::std::endl << "a: " << i.a ();
51634  o << ::std::endl << "b: " << i.b ();
51635  o << ::std::endl << "c: " << i.c ();
51636  o << ::std::endl << "d: " << i.d ();
51637  o << ::std::endl << "s: " << i.s ();
51638  o << ::std::endl << "x1: " << i.x1 ();
51639  o << ::std::endl << "r: " << i.r ();
51640  o << ::std::endl << "x0: " << i.x0 ();
51641  o << ::std::endl << "y0: " << i.y0 ();
51642  o << ::std::endl << "z0: " << i.z0 ();
51643  o << ::std::endl << "v_scaling: " << i.v_scaling ();
51644  return o;
51645  }
51646 
51647  ::std::ostream&
51648  operator<< (::std::ostream& o, const Cell& i)
51649  {
51650  o << static_cast< const ::neuroml2::BaseCell& > (i);
51651 
51652  if (i.morphology ())
51653  {
51654  o << ::std::endl << "morphology: " << *i.morphology ();
51655  }
51656 
51657  if (i.biophysicalProperties ())
51658  {
51659  o << ::std::endl << "biophysicalProperties: " << *i.biophysicalProperties ();
51660  }
51661 
51662  if (i.morphology1 ())
51663  {
51664  o << ::std::endl << "morphology: " << *i.morphology1 ();
51665  }
51666 
51667  if (i.biophysicalProperties1 ())
51668  {
51669  o << ::std::endl << "biophysicalProperties: " << *i.biophysicalProperties1 ();
51670  }
51671 
51672  return o;
51673  }
51674 
51675  ::std::ostream&
51676  operator<< (::std::ostream& o, const Cell2CaPools& i)
51677  {
51678  o << static_cast< const ::neuroml2::Cell& > (i);
51679 
51680  if (i.biophysicalProperties2CaPools ())
51681  {
51682  o << ::std::endl << "biophysicalProperties2CaPools: " << *i.biophysicalProperties2CaPools ();
51683  }
51684 
51685  return o;
51686  }
51687 
51688  ::std::ostream&
51689  operator<< (::std::ostream& o, const Morphology_base& i)
51690  {
51691  o << static_cast< const ::neuroml2::Standalone& > (i);
51692 
51694  b (i.segment ().begin ()), e (i.segment ().end ());
51695  b != e; ++b)
51696  {
51697  o << ::std::endl << "segment: " << *b;
51698  }
51699 
51701  b (i.segmentGroup ().begin ()), e (i.segmentGroup ().end ());
51702  b != e; ++b)
51703  {
51704  o << ::std::endl << "segmentGroup: " << *b;
51705  }
51706 
51707  return o;
51708  }
51709 
51710  ::std::ostream&
51711  operator<< (::std::ostream& o, const BaseNonNegativeIntegerId& i)
51712  {
51713  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
51714 
51715  o << ::std::endl << "id: " << i.id ();
51716  return o;
51717  }
51718 
51719  ::std::ostream&
51720  operator<< (::std::ostream& o, const Segment_base& i)
51721  {
51722  o << static_cast< const ::neuroml2::BaseNonNegativeIntegerId& > (i);
51723 
51724  if (i.parent ())
51725  {
51726  o << ::std::endl << "parent: " << *i.parent ();
51727  }
51728 
51729  if (i.proximal ())
51730  {
51731  o << ::std::endl << "proximal: " << *i.proximal ();
51732  }
51733 
51734  o << ::std::endl << "distal: " << i.distal ();
51735  if (i.name ())
51736  {
51737  o << ::std::endl << "name: " << *i.name ();
51738  }
51739 
51740  if (i.neuroLexId ())
51741  {
51742  o << ::std::endl << "neuroLexId: " << *i.neuroLexId ();
51743  }
51744 
51745  return o;
51746  }
51747 
51748  ::std::ostream&
51749  operator<< (::std::ostream& o, const SegmentParent& i)
51750  {
51751  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
51752 
51753  o << ::std::endl << "segment: " << i.segment ();
51754  o << ::std::endl << "fractionAlong: " << i.fractionAlong ();
51755  return o;
51756  }
51757 
51758  ::std::ostream&
51759  operator<< (::std::ostream& o, const Point3DWithDiam& i)
51760  {
51761  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
51762 
51763  o << ::std::endl << "x: " << i.x ();
51764  o << ::std::endl << "y: " << i.y ();
51765  o << ::std::endl << "z: " << i.z ();
51766  o << ::std::endl << "diameter: " << i.diameter ();
51767  return o;
51768  }
51769 
51770  ::std::ostream&
51771  operator<< (::std::ostream& o, const SegmentGroup& i)
51772  {
51773  o << static_cast< const ::neuroml2::Base& > (i);
51774 
51775  if (i.notes ())
51776  {
51777  o << ::std::endl << "notes: " << *i.notes ();
51778  }
51779 
51781  b (i.property ().begin ()), e (i.property ().end ());
51782  b != e; ++b)
51783  {
51784  o << ::std::endl << "property: " << *b;
51785  }
51786 
51787  if (i.annotation ())
51788  {
51789  o << ::std::endl << "annotation: " << *i.annotation ();
51790  }
51791 
51793  b (i.member ().begin ()), e (i.member ().end ());
51794  b != e; ++b)
51795  {
51796  o << ::std::endl << "member: " << *b;
51797  }
51798 
51800  b (i.include ().begin ()), e (i.include ().end ());
51801  b != e; ++b)
51802  {
51803  o << ::std::endl << "include: " << *b;
51804  }
51805 
51807  b (i.path ().begin ()), e (i.path ().end ());
51808  b != e; ++b)
51809  {
51810  o << ::std::endl << "path: " << *b;
51811  }
51812 
51814  b (i.subTree ().begin ()), e (i.subTree ().end ());
51815  b != e; ++b)
51816  {
51817  o << ::std::endl << "subTree: " << *b;
51818  }
51819 
51821  b (i.inhomogeneousParameter ().begin ()), e (i.inhomogeneousParameter ().end ());
51822  b != e; ++b)
51823  {
51824  o << ::std::endl << "inhomogeneousParameter: " << *b;
51825  }
51826 
51827  if (i.neuroLexId ())
51828  {
51829  o << ::std::endl << "neuroLexId: " << *i.neuroLexId ();
51830  }
51831 
51832  return o;
51833  }
51834 
51835  ::std::ostream&
51836  operator<< (::std::ostream& o, const InhomogeneousParameter& i)
51837  {
51838  o << static_cast< const ::neuroml2::Base& > (i);
51839 
51840  if (i.proximal ())
51841  {
51842  o << ::std::endl << "proximal: " << *i.proximal ();
51843  }
51844 
51845  if (i.distal ())
51846  {
51847  o << ::std::endl << "distal: " << *i.distal ();
51848  }
51849 
51850  o << ::std::endl << "variable: " << i.variable ();
51851  o << ::std::endl << "metric: " << i.metric ();
51852  return o;
51853  }
51854 
51855  ::std::ostream&
51856  operator<< (::std::ostream& o, Metric::value i)
51857  {
51858  return o << Metric::_xsd_Metric_literals_[i];
51859  }
51860 
51861  ::std::ostream&
51862  operator<< (::std::ostream& o, const Metric& i)
51863  {
51864  return o << static_cast< const ::xml_schema::string& > (i);
51865  }
51866 
51867  ::std::ostream&
51868  operator<< (::std::ostream& o, const ProximalDetails& i)
51869  {
51870  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
51871 
51872  o << ::std::endl << "translationStart: " << i.translationStart ();
51873  return o;
51874  }
51875 
51876  ::std::ostream&
51877  operator<< (::std::ostream& o, const DistalDetails& i)
51878  {
51879  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
51880 
51881  o << ::std::endl << "normalizationEnd: " << i.normalizationEnd ();
51882  return o;
51883  }
51884 
51885  ::std::ostream&
51886  operator<< (::std::ostream& o, const Member& i)
51887  {
51888  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
51889 
51890  o << ::std::endl << "segment: " << i.segment ();
51891  return o;
51892  }
51893 
51894  ::std::ostream&
51895  operator<< (::std::ostream& o, const Include& i)
51896  {
51897  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
51898 
51899  o << ::std::endl << "segmentGroup: " << i.segmentGroup ();
51900  return o;
51901  }
51902 
51903  ::std::ostream&
51904  operator<< (::std::ostream& o, const Path& i)
51905  {
51906  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
51907 
51908  if (i.from ())
51909  {
51910  o << ::std::endl << "from: " << *i.from ();
51911  }
51912 
51913  if (i.to ())
51914  {
51915  o << ::std::endl << "to: " << *i.to ();
51916  }
51917 
51918  return o;
51919  }
51920 
51921  ::std::ostream&
51922  operator<< (::std::ostream& o, const SubTree& i)
51923  {
51924  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
51925 
51926  if (i.from ())
51927  {
51928  o << ::std::endl << "from: " << *i.from ();
51929  }
51930 
51931  if (i.to ())
51932  {
51933  o << ::std::endl << "to: " << *i.to ();
51934  }
51935 
51936  return o;
51937  }
51938 
51939  ::std::ostream&
51940  operator<< (::std::ostream& o, const SegmentEndPoint& i)
51941  {
51942  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
51943 
51944  o << ::std::endl << "segment: " << i.segment ();
51945  return o;
51946  }
51947 
51948  ::std::ostream&
51949  operator<< (::std::ostream& o, const BiophysicalProperties& i)
51950  {
51951  o << static_cast< const ::neuroml2::Standalone& > (i);
51952 
51953  o << ::std::endl << "membraneProperties: " << i.membraneProperties ();
51954  if (i.intracellularProperties ())
51955  {
51956  o << ::std::endl << "intracellularProperties: " << *i.intracellularProperties ();
51957  }
51958 
51959  if (i.extracellularProperties ())
51960  {
51961  o << ::std::endl << "extracellularProperties: " << *i.extracellularProperties ();
51962  }
51963 
51964  return o;
51965  }
51966 
51967  ::std::ostream&
51968  operator<< (::std::ostream& o, const BiophysicalProperties2CaPools& i)
51969  {
51970  o << static_cast< const ::neuroml2::Standalone& > (i);
51971 
51972  o << ::std::endl << "membraneProperties2CaPools: " << i.membraneProperties2CaPools ();
51973  if (i.intracellularProperties2CaPools ())
51974  {
51975  o << ::std::endl << "intracellularProperties2CaPools: " << *i.intracellularProperties2CaPools ();
51976  }
51977 
51978  if (i.extracellularProperties ())
51979  {
51980  o << ::std::endl << "extracellularProperties: " << *i.extracellularProperties ();
51981  }
51982 
51983  return o;
51984  }
51985 
51986  ::std::ostream&
51987  operator<< (::std::ostream& o, const MembraneProperties& i)
51988  {
51989  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
51990 
51992  b (i.channelPopulation ().begin ()), e (i.channelPopulation ().end ());
51993  b != e; ++b)
51994  {
51995  o << ::std::endl << "channelPopulation: " << *b;
51996  }
51997 
51999  b (i.channelDensity ().begin ()), e (i.channelDensity ().end ());
52000  b != e; ++b)
52001  {
52002  o << ::std::endl << "channelDensity: " << *b;
52003  }
52004 
52006  b (i.channelDensityVShift ().begin ()), e (i.channelDensityVShift ().end ());
52007  b != e; ++b)
52008  {
52009  o << ::std::endl << "channelDensityVShift: " << *b;
52010  }
52011 
52013  b (i.channelDensityNernst ().begin ()), e (i.channelDensityNernst ().end ());
52014  b != e; ++b)
52015  {
52016  o << ::std::endl << "channelDensityNernst: " << *b;
52017  }
52018 
52020  b (i.channelDensityGHK ().begin ()), e (i.channelDensityGHK ().end ());
52021  b != e; ++b)
52022  {
52023  o << ::std::endl << "channelDensityGHK: " << *b;
52024  }
52025 
52027  b (i.channelDensityGHK2 ().begin ()), e (i.channelDensityGHK2 ().end ());
52028  b != e; ++b)
52029  {
52030  o << ::std::endl << "channelDensityGHK2: " << *b;
52031  }
52032 
52034  b (i.channelDensityNonUniform ().begin ()), e (i.channelDensityNonUniform ().end ());
52035  b != e; ++b)
52036  {
52037  o << ::std::endl << "channelDensityNonUniform: " << *b;
52038  }
52039 
52041  b (i.channelDensityNonUniformNernst ().begin ()), e (i.channelDensityNonUniformNernst ().end ());
52042  b != e; ++b)
52043  {
52044  o << ::std::endl << "channelDensityNonUniformNernst: " << *b;
52045  }
52046 
52048  b (i.channelDensityNonUniformGHK ().begin ()), e (i.channelDensityNonUniformGHK ().end ());
52049  b != e; ++b)
52050  {
52051  o << ::std::endl << "channelDensityNonUniformGHK: " << *b;
52052  }
52053 
52055  b (i.spikeThresh ().begin ()), e (i.spikeThresh ().end ());
52056  b != e; ++b)
52057  {
52058  o << ::std::endl << "spikeThresh: " << *b;
52059  }
52060 
52062  b (i.specificCapacitance ().begin ()), e (i.specificCapacitance ().end ());
52063  b != e; ++b)
52064  {
52065  o << ::std::endl << "specificCapacitance: " << *b;
52066  }
52067 
52069  b (i.initMembPotential ().begin ()), e (i.initMembPotential ().end ());
52070  b != e; ++b)
52071  {
52072  o << ::std::endl << "initMembPotential: " << *b;
52073  }
52074 
52075  return o;
52076  }
52077 
52078  ::std::ostream&
52079  operator<< (::std::ostream& o, const MembraneProperties2CaPools& i)
52080  {
52081  o << static_cast< const ::neuroml2::MembraneProperties& > (i);
52082 
52084  b (i.channelDensityNernstCa2 ().begin ()), e (i.channelDensityNernstCa2 ().end ());
52085  b != e; ++b)
52086  {
52087  o << ::std::endl << "channelDensityNernstCa2: " << *b;
52088  }
52089 
52090  return o;
52091  }
52092 
52093  ::std::ostream&
52094  operator<< (::std::ostream& o, const SpikeThresh& i)
52095  {
52096  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
52097 
52098  o << ::std::endl << "value: " << i.value ();
52099  o << ::std::endl << "segmentGroup: " << i.segmentGroup ();
52100  return o;
52101  }
52102 
52103  ::std::ostream&
52104  operator<< (::std::ostream& o, const SpecificCapacitance& i)
52105  {
52106  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
52107 
52108  o << ::std::endl << "value: " << i.value ();
52109  o << ::std::endl << "segmentGroup: " << i.segmentGroup ();
52110  return o;
52111  }
52112 
52113  ::std::ostream&
52114  operator<< (::std::ostream& o, const InitMembPotential& i)
52115  {
52116  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
52117 
52118  o << ::std::endl << "value: " << i.value ();
52119  o << ::std::endl << "segmentGroup: " << i.segmentGroup ();
52120  return o;
52121  }
52122 
52123  ::std::ostream&
52124  operator<< (::std::ostream& o, const Resistivity& i)
52125  {
52126  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
52127 
52128  o << ::std::endl << "value: " << i.value ();
52129  o << ::std::endl << "segmentGroup: " << i.segmentGroup ();
52130  return o;
52131  }
52132 
52133  ::std::ostream&
52134  operator<< (::std::ostream& o, const ChannelPopulation& i)
52135  {
52136  o << static_cast< const ::neuroml2::Base& > (i);
52137 
52139  b (i.variableParameter ().begin ()), e (i.variableParameter ().end ());
52140  b != e; ++b)
52141  {
52142  o << ::std::endl << "variableParameter: " << *b;
52143  }
52144 
52145  o << ::std::endl << "ionChannel: " << i.ionChannel ();
52146  o << ::std::endl << "number: " << i.number ();
52147  o << ::std::endl << "erev: " << i.erev ();
52148  o << ::std::endl << "segmentGroup: " << i.segmentGroup ();
52149  if (i.segment ())
52150  {
52151  o << ::std::endl << "segment: " << *i.segment ();
52152  }
52153 
52154  o << ::std::endl << "ion: " << i.ion ();
52155  return o;
52156  }
52157 
52158  ::std::ostream&
52159  operator<< (::std::ostream& o, const ChannelDensityNonUniform& i)
52160  {
52161  o << static_cast< const ::neuroml2::Base& > (i);
52162 
52164  b (i.variableParameter ().begin ()), e (i.variableParameter ().end ());
52165  b != e; ++b)
52166  {
52167  o << ::std::endl << "variableParameter: " << *b;
52168  }
52169 
52170  o << ::std::endl << "ionChannel: " << i.ionChannel ();
52171  o << ::std::endl << "erev: " << i.erev ();
52172  o << ::std::endl << "ion: " << i.ion ();
52173  return o;
52174  }
52175 
52176  ::std::ostream&
52177  operator<< (::std::ostream& o, const ChannelDensityNonUniformNernst& i)
52178  {
52179  o << static_cast< const ::neuroml2::Base& > (i);
52180 
52182  b (i.variableParameter ().begin ()), e (i.variableParameter ().end ());
52183  b != e; ++b)
52184  {
52185  o << ::std::endl << "variableParameter: " << *b;
52186  }
52187 
52188  o << ::std::endl << "ionChannel: " << i.ionChannel ();
52189  o << ::std::endl << "ion: " << i.ion ();
52190  return o;
52191  }
52192 
52193  ::std::ostream&
52194  operator<< (::std::ostream& o, const ChannelDensityNonUniformGHK& i)
52195  {
52196  o << static_cast< const ::neuroml2::Base& > (i);
52197 
52199  b (i.variableParameter ().begin ()), e (i.variableParameter ().end ());
52200  b != e; ++b)
52201  {
52202  o << ::std::endl << "variableParameter: " << *b;
52203  }
52204 
52205  o << ::std::endl << "ionChannel: " << i.ionChannel ();
52206  o << ::std::endl << "ion: " << i.ion ();
52207  return o;
52208  }
52209 
52210  ::std::ostream&
52211  operator<< (::std::ostream& o, const ChannelDensity& i)
52212  {
52213  o << static_cast< const ::neuroml2::Base& > (i);
52214 
52216  b (i.variableParameter ().begin ()), e (i.variableParameter ().end ());
52217  b != e; ++b)
52218  {
52219  o << ::std::endl << "variableParameter: " << *b;
52220  }
52221 
52222  o << ::std::endl << "ionChannel: " << i.ionChannel ();
52223  if (i.condDensity ())
52224  {
52225  o << ::std::endl << "condDensity: " << *i.condDensity ();
52226  }
52227 
52228  o << ::std::endl << "erev: " << i.erev ();
52229  o << ::std::endl << "segmentGroup: " << i.segmentGroup ();
52230  if (i.segment ())
52231  {
52232  o << ::std::endl << "segment: " << *i.segment ();
52233  }
52234 
52235  o << ::std::endl << "ion: " << i.ion ();
52236  return o;
52237  }
52238 
52239  ::std::ostream&
52240  operator<< (::std::ostream& o, const ChannelDensityVShift& i)
52241  {
52242  o << static_cast< const ::neuroml2::ChannelDensity& > (i);
52243 
52244  o << ::std::endl << "vShift: " << i.vShift ();
52245  return o;
52246  }
52247 
52248  ::std::ostream&
52249  operator<< (::std::ostream& o, const ChannelDensityNernst& i)
52250  {
52251  o << static_cast< const ::neuroml2::Base& > (i);
52252 
52254  b (i.variableParameter ().begin ()), e (i.variableParameter ().end ());
52255  b != e; ++b)
52256  {
52257  o << ::std::endl << "variableParameter: " << *b;
52258  }
52259 
52260  o << ::std::endl << "ionChannel: " << i.ionChannel ();
52261  if (i.condDensity ())
52262  {
52263  o << ::std::endl << "condDensity: " << *i.condDensity ();
52264  }
52265 
52266  o << ::std::endl << "segmentGroup: " << i.segmentGroup ();
52267  if (i.segment ())
52268  {
52269  o << ::std::endl << "segment: " << *i.segment ();
52270  }
52271 
52272  o << ::std::endl << "ion: " << i.ion ();
52273  return o;
52274  }
52275 
52276  ::std::ostream&
52277  operator<< (::std::ostream& o, const ChannelDensityNernstCa2& i)
52278  {
52279  o << static_cast< const ::neuroml2::ChannelDensityNernst& > (i);
52280 
52281  return o;
52282  }
52283 
52284  ::std::ostream&
52285  operator<< (::std::ostream& o, const ChannelDensityGHK& i)
52286  {
52287  o << static_cast< const ::neuroml2::Base& > (i);
52288 
52289  o << ::std::endl << "ionChannel: " << i.ionChannel ();
52290  o << ::std::endl << "permeability: " << i.permeability ();
52291  o << ::std::endl << "segmentGroup: " << i.segmentGroup ();
52292  if (i.segment ())
52293  {
52294  o << ::std::endl << "segment: " << *i.segment ();
52295  }
52296 
52297  o << ::std::endl << "ion: " << i.ion ();
52298  return o;
52299  }
52300 
52301  ::std::ostream&
52302  operator<< (::std::ostream& o, const ChannelDensityGHK2& i)
52303  {
52304  o << static_cast< const ::neuroml2::Base& > (i);
52305 
52306  o << ::std::endl << "ionChannel: " << i.ionChannel ();
52307  if (i.condDensity ())
52308  {
52309  o << ::std::endl << "condDensity: " << *i.condDensity ();
52310  }
52311 
52312  o << ::std::endl << "segmentGroup: " << i.segmentGroup ();
52313  if (i.segment ())
52314  {
52315  o << ::std::endl << "segment: " << *i.segment ();
52316  }
52317 
52318  o << ::std::endl << "ion: " << i.ion ();
52319  return o;
52320  }
52321 
52322  ::std::ostream&
52323  operator<< (::std::ostream& o, const VariableParameter& i)
52324  {
52325  if (i.inhomogeneousValue ())
52326  {
52327  o << ::std::endl << "inhomogeneousValue: " << *i.inhomogeneousValue ();
52328  }
52329 
52330  o << ::std::endl << "parameter: " << i.parameter ();
52331  o << ::std::endl << "segmentGroup: " << i.segmentGroup ();
52332  return o;
52333  }
52334 
52335  ::std::ostream&
52336  operator<< (::std::ostream& o, const InhomogeneousValue& i)
52337  {
52338  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
52339 
52340  o << ::std::endl << "inhomogeneousParameter: " << i.inhomogeneousParameter ();
52341  o << ::std::endl << "value: " << i.value ();
52342  return o;
52343  }
52344 
52345  ::std::ostream&
52346  operator<< (::std::ostream& o, const Species& i)
52347  {
52348  o << static_cast< const ::neuroml2::Base& > (i);
52349 
52350  o << ::std::endl << "concentrationModel: " << i.concentrationModel ();
52351  if (i.ion ())
52352  {
52353  o << ::std::endl << "ion: " << *i.ion ();
52354  }
52355 
52356  o << ::std::endl << "initialConcentration: " << i.initialConcentration ();
52357  o << ::std::endl << "initialExtConcentration: " << i.initialExtConcentration ();
52358  o << ::std::endl << "segmentGroup: " << i.segmentGroup ();
52359  return o;
52360  }
52361 
52362  ::std::ostream&
52363  operator<< (::std::ostream& o, const ConcentrationModel_D& i)
52364  {
52365  o << static_cast< const ::neuroml2::DecayingPoolConcentrationModel& > (i);
52366 
52367  o << ::std::endl << "type: " << i.type ();
52368  return o;
52369  }
52370 
52371  ::std::ostream&
52372  operator<< (::std::ostream& o, const IntracellularProperties& i)
52373  {
52374  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
52375 
52377  b (i.species ().begin ()), e (i.species ().end ());
52378  b != e; ++b)
52379  {
52380  o << ::std::endl << "species: " << *b;
52381  }
52382 
52384  b (i.resistivity ().begin ()), e (i.resistivity ().end ());
52385  b != e; ++b)
52386  {
52387  o << ::std::endl << "resistivity: " << *b;
52388  }
52389 
52390  return o;
52391  }
52392 
52393  ::std::ostream&
52394  operator<< (::std::ostream& o, const IntracellularProperties2CaPools& i)
52395  {
52396  o << static_cast< const ::neuroml2::IntracellularProperties& > (i);
52397 
52398  return o;
52399  }
52400 
52401  ::std::ostream&
52402  operator<< (::std::ostream& o, const ExtracellularProperties& i)
52403  {
52404  o << static_cast< const ::neuroml2::Base& > (i);
52405 
52407  b (i.species ().begin ()), e (i.species ().end ());
52408  b != e; ++b)
52409  {
52410  o << ::std::endl << "species: " << *b;
52411  }
52412 
52413  return o;
52414  }
52415 
52416  ::std::ostream&
52417  operator<< (::std::ostream& o, const ExtracellularPropertiesLocal& i)
52418  {
52419  o << static_cast< const ::neuroml2::Base& > (i);
52420 
52422  b (i.species ().begin ()), e (i.species ().end ());
52423  b != e; ++b)
52424  {
52425  o << ::std::endl << "species: " << *b;
52426  }
52427 
52428  return o;
52429  }
52430 
52431  ::std::ostream&
52432  operator<< (::std::ostream& o, const ReactionScheme& i)
52433  {
52434  o << static_cast< const ::neuroml2::Base& > (i);
52435 
52436  o << ::std::endl << "source: " << i.source ();
52437  o << ::std::endl << "type: " << i.type ();
52438  return o;
52439  }
52440 
52441  ::std::ostream&
52442  operator<< (::std::ostream& o, const PulseGenerator& i)
52443  {
52444  o << static_cast< const ::neuroml2::Standalone& > (i);
52445 
52446  o << ::std::endl << "delay: " << i.delay ();
52447  o << ::std::endl << "duration: " << i.duration ();
52448  o << ::std::endl << "amplitude: " << i.amplitude ();
52449  return o;
52450  }
52451 
52452  ::std::ostream&
52453  operator<< (::std::ostream& o, const PulseGeneratorDL& i)
52454  {
52455  o << static_cast< const ::neuroml2::Standalone& > (i);
52456 
52457  o << ::std::endl << "delay: " << i.delay ();
52458  o << ::std::endl << "duration: " << i.duration ();
52459  o << ::std::endl << "amplitude: " << i.amplitude ();
52460  return o;
52461  }
52462 
52463  ::std::ostream&
52464  operator<< (::std::ostream& o, const SineGenerator& i)
52465  {
52466  o << static_cast< const ::neuroml2::Standalone& > (i);
52467 
52468  o << ::std::endl << "delay: " << i.delay ();
52469  o << ::std::endl << "phase: " << i.phase ();
52470  o << ::std::endl << "duration: " << i.duration ();
52471  o << ::std::endl << "amplitude: " << i.amplitude ();
52472  o << ::std::endl << "period: " << i.period ();
52473  return o;
52474  }
52475 
52476  ::std::ostream&
52477  operator<< (::std::ostream& o, const SineGeneratorDL& i)
52478  {
52479  o << static_cast< const ::neuroml2::Standalone& > (i);
52480 
52481  o << ::std::endl << "delay: " << i.delay ();
52482  o << ::std::endl << "phase: " << i.phase ();
52483  o << ::std::endl << "duration: " << i.duration ();
52484  o << ::std::endl << "amplitude: " << i.amplitude ();
52485  o << ::std::endl << "period: " << i.period ();
52486  return o;
52487  }
52488 
52489  ::std::ostream&
52490  operator<< (::std::ostream& o, const RampGenerator& i)
52491  {
52492  o << static_cast< const ::neuroml2::Standalone& > (i);
52493 
52494  o << ::std::endl << "delay: " << i.delay ();
52495  o << ::std::endl << "duration: " << i.duration ();
52496  o << ::std::endl << "startAmplitude: " << i.startAmplitude ();
52497  o << ::std::endl << "finishAmplitude: " << i.finishAmplitude ();
52498  o << ::std::endl << "baselineAmplitude: " << i.baselineAmplitude ();
52499  return o;
52500  }
52501 
52502  ::std::ostream&
52503  operator<< (::std::ostream& o, const RampGeneratorDL& i)
52504  {
52505  o << static_cast< const ::neuroml2::Standalone& > (i);
52506 
52507  o << ::std::endl << "delay: " << i.delay ();
52508  o << ::std::endl << "duration: " << i.duration ();
52509  o << ::std::endl << "startAmplitude: " << i.startAmplitude ();
52510  o << ::std::endl << "finishAmplitude: " << i.finishAmplitude ();
52511  o << ::std::endl << "baselineAmplitude: " << i.baselineAmplitude ();
52512  return o;
52513  }
52514 
52515  ::std::ostream&
52516  operator<< (::std::ostream& o, const CompoundInput& i)
52517  {
52518  o << static_cast< const ::neuroml2::Standalone& > (i);
52519 
52521  b (i.pulseGenerator ().begin ()), e (i.pulseGenerator ().end ());
52522  b != e; ++b)
52523  {
52524  o << ::std::endl << "pulseGenerator: " << *b;
52525  }
52526 
52528  b (i.sineGenerator ().begin ()), e (i.sineGenerator ().end ());
52529  b != e; ++b)
52530  {
52531  o << ::std::endl << "sineGenerator: " << *b;
52532  }
52533 
52535  b (i.rampGenerator ().begin ()), e (i.rampGenerator ().end ());
52536  b != e; ++b)
52537  {
52538  o << ::std::endl << "rampGenerator: " << *b;
52539  }
52540 
52541  return o;
52542  }
52543 
52544  ::std::ostream&
52545  operator<< (::std::ostream& o, const CompoundInputDL& i)
52546  {
52547  o << static_cast< const ::neuroml2::Standalone& > (i);
52548 
52550  b (i.pulseGeneratorDL ().begin ()), e (i.pulseGeneratorDL ().end ());
52551  b != e; ++b)
52552  {
52553  o << ::std::endl << "pulseGeneratorDL: " << *b;
52554  }
52555 
52557  b (i.sineGeneratorDL ().begin ()), e (i.sineGeneratorDL ().end ());
52558  b != e; ++b)
52559  {
52560  o << ::std::endl << "sineGeneratorDL: " << *b;
52561  }
52562 
52564  b (i.rampGeneratorDL ().begin ()), e (i.rampGeneratorDL ().end ());
52565  b != e; ++b)
52566  {
52567  o << ::std::endl << "rampGeneratorDL: " << *b;
52568  }
52569 
52570  return o;
52571  }
52572 
52573  ::std::ostream&
52574  operator<< (::std::ostream& o, const VoltageClamp& i)
52575  {
52576  o << static_cast< const ::neuroml2::Standalone& > (i);
52577 
52578  o << ::std::endl << "delay: " << i.delay ();
52579  o << ::std::endl << "duration: " << i.duration ();
52580  o << ::std::endl << "targetVoltage: " << i.targetVoltage ();
52581  o << ::std::endl << "simpleSeriesResistance: " << i.simpleSeriesResistance ();
52582  return o;
52583  }
52584 
52585  ::std::ostream&
52586  operator<< (::std::ostream& o, const VoltageClampTriple& i)
52587  {
52588  o << static_cast< const ::neuroml2::Standalone& > (i);
52589 
52590  o << ::std::endl << "active: " << i.active ();
52591  o << ::std::endl << "delay: " << i.delay ();
52592  o << ::std::endl << "duration: " << i.duration ();
52593  o << ::std::endl << "conditioningVoltage: " << i.conditioningVoltage ();
52594  o << ::std::endl << "testingVoltage: " << i.testingVoltage ();
52595  o << ::std::endl << "returnVoltage: " << i.returnVoltage ();
52596  o << ::std::endl << "simpleSeriesResistance: " << i.simpleSeriesResistance ();
52597  return o;
52598  }
52599 
52600  ::std::ostream&
52601  operator<< (::std::ostream& o, const Spike& i)
52602  {
52603  o << static_cast< const ::neuroml2::BaseNonNegativeIntegerId& > (i);
52604 
52605  o << ::std::endl << "time: " << i.time ();
52606  return o;
52607  }
52608 
52609  ::std::ostream&
52610  operator<< (::std::ostream& o, const SpikeArray& i)
52611  {
52612  o << static_cast< const ::neuroml2::Standalone& > (i);
52613 
52615  b (i.spike ().begin ()), e (i.spike ().end ());
52616  b != e; ++b)
52617  {
52618  o << ::std::endl << "spike: " << *b;
52619  }
52620 
52621  return o;
52622  }
52623 
52624  ::std::ostream&
52625  operator<< (::std::ostream& o, const TimedSynapticInput& i)
52626  {
52627  o << static_cast< const ::neuroml2::Standalone& > (i);
52628 
52630  b (i.spike ().begin ()), e (i.spike ().end ());
52631  b != e; ++b)
52632  {
52633  o << ::std::endl << "spike: " << *b;
52634  }
52635 
52636  o << ::std::endl << "synapse: " << i.synapse ();
52637  o << ::std::endl << "spikeTarget: " << i.spikeTarget ();
52638  return o;
52639  }
52640 
52641  ::std::ostream&
52642  operator<< (::std::ostream& o, const SpikeGenerator& i)
52643  {
52644  o << static_cast< const ::neuroml2::Standalone& > (i);
52645 
52646  o << ::std::endl << "period: " << i.period ();
52647  return o;
52648  }
52649 
52650  ::std::ostream&
52651  operator<< (::std::ostream& o, const SpikeGeneratorRandom& i)
52652  {
52653  o << static_cast< const ::neuroml2::Standalone& > (i);
52654 
52655  o << ::std::endl << "maxISI: " << i.maxISI ();
52656  o << ::std::endl << "minISI: " << i.minISI ();
52657  return o;
52658  }
52659 
52660  ::std::ostream&
52661  operator<< (::std::ostream& o, const SpikeGeneratorPoisson& i)
52662  {
52663  o << static_cast< const ::neuroml2::Standalone& > (i);
52664 
52665  o << ::std::endl << "averageRate: " << i.averageRate ();
52666  return o;
52667  }
52668 
52669  ::std::ostream&
52670  operator<< (::std::ostream& o, const SpikeGeneratorRefPoisson& i)
52671  {
52672  o << static_cast< const ::neuroml2::SpikeGeneratorPoisson& > (i);
52673 
52674  o << ::std::endl << "minimumISI: " << i.minimumISI ();
52675  return o;
52676  }
52677 
52678  ::std::ostream&
52679  operator<< (::std::ostream& o, const PoissonFiringSynapse& i)
52680  {
52681  o << static_cast< const ::neuroml2::Standalone& > (i);
52682 
52683  o << ::std::endl << "averageRate: " << i.averageRate ();
52684  o << ::std::endl << "synapse: " << i.synapse ();
52685  o << ::std::endl << "spikeTarget: " << i.spikeTarget ();
52686  return o;
52687  }
52688 
52689  ::std::ostream&
52690  operator<< (::std::ostream& o, const TransientPoissonFiringSynapse& i)
52691  {
52692  o << static_cast< const ::neuroml2::Standalone& > (i);
52693 
52694  o << ::std::endl << "averageRate: " << i.averageRate ();
52695  o << ::std::endl << "delay: " << i.delay ();
52696  o << ::std::endl << "duration: " << i.duration ();
52697  o << ::std::endl << "synapse: " << i.synapse ();
52698  o << ::std::endl << "spikeTarget: " << i.spikeTarget ();
52699  return o;
52700  }
52701 
52702  ::std::ostream&
52703  operator<< (::std::ostream& o, const Network& i)
52704  {
52705  o << static_cast< const ::neuroml2::Standalone& > (i);
52706 
52708  b (i.space ().begin ()), e (i.space ().end ());
52709  b != e; ++b)
52710  {
52711  o << ::std::endl << "space: " << *b;
52712  }
52713 
52715  b (i.region ().begin ()), e (i.region ().end ());
52716  b != e; ++b)
52717  {
52718  o << ::std::endl << "region: " << *b;
52719  }
52720 
52722  b (i.extracellularProperties ().begin ()), e (i.extracellularProperties ().end ());
52723  b != e; ++b)
52724  {
52725  o << ::std::endl << "extracellularProperties: " << *b;
52726  }
52727 
52729  b (i.population ().begin ()), e (i.population ().end ());
52730  b != e; ++b)
52731  {
52732  o << ::std::endl << "population: " << *b;
52733  }
52734 
52736  b (i.cellSet ().begin ()), e (i.cellSet ().end ());
52737  b != e; ++b)
52738  {
52739  o << ::std::endl << "cellSet: " << *b;
52740  }
52741 
52743  b (i.synapticConnection ().begin ()), e (i.synapticConnection ().end ());
52744  b != e; ++b)
52745  {
52746  o << ::std::endl << "synapticConnection: " << *b;
52747  }
52748 
52750  b (i.projection ().begin ()), e (i.projection ().end ());
52751  b != e; ++b)
52752  {
52753  o << ::std::endl << "projection: " << *b;
52754  }
52755 
52757  b (i.electricalProjection ().begin ()), e (i.electricalProjection ().end ());
52758  b != e; ++b)
52759  {
52760  o << ::std::endl << "electricalProjection: " << *b;
52761  }
52762 
52764  b (i.continuousProjection ().begin ()), e (i.continuousProjection ().end ());
52765  b != e; ++b)
52766  {
52767  o << ::std::endl << "continuousProjection: " << *b;
52768  }
52769 
52771  b (i.explicitInput ().begin ()), e (i.explicitInput ().end ());
52772  b != e; ++b)
52773  {
52774  o << ::std::endl << "explicitInput: " << *b;
52775  }
52776 
52778  b (i.inputList ().begin ()), e (i.inputList ().end ());
52779  b != e; ++b)
52780  {
52781  o << ::std::endl << "inputList: " << *b;
52782  }
52783 
52784  if (i.type ())
52785  {
52786  o << ::std::endl << "type: " << *i.type ();
52787  }
52788 
52789  if (i.temperature ())
52790  {
52791  o << ::std::endl << "temperature: " << *i.temperature ();
52792  }
52793 
52794  if (i.neuroLexId ())
52795  {
52796  o << ::std::endl << "neuroLexId: " << *i.neuroLexId ();
52797  }
52798 
52799  return o;
52800  }
52801 
52802  ::std::ostream&
52803  operator<< (::std::ostream& o, networkTypes::value i)
52804  {
52805  return o << networkTypes::_xsd_networkTypes_literals_[i];
52806  }
52807 
52808  ::std::ostream&
52809  operator<< (::std::ostream& o, const networkTypes& i)
52810  {
52811  return o << static_cast< const ::xml_schema::string& > (i);
52812  }
52813 
52814  ::std::ostream&
52815  operator<< (::std::ostream& o, const Space& i)
52816  {
52817  o << static_cast< const ::neuroml2::Base& > (i);
52818 
52819  if (i.structure ())
52820  {
52821  o << ::std::endl << "structure: " << *i.structure ();
52822  }
52823 
52824  if (i.basedOn ())
52825  {
52826  o << ::std::endl << "basedOn: " << *i.basedOn ();
52827  }
52828 
52829  return o;
52830  }
52831 
52832  ::std::ostream&
52833  operator<< (::std::ostream& o, const SpaceStructure& i)
52834  {
52835  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
52836 
52837  if (i.xSpacing ())
52838  {
52839  o << ::std::endl << "xSpacing: " << *i.xSpacing ();
52840  }
52841 
52842  if (i.ySpacing ())
52843  {
52844  o << ::std::endl << "ySpacing: " << *i.ySpacing ();
52845  }
52846 
52847  if (i.zSpacing ())
52848  {
52849  o << ::std::endl << "zSpacing: " << *i.zSpacing ();
52850  }
52851 
52852  o << ::std::endl << "xStart: " << i.xStart ();
52853  o << ::std::endl << "yStart: " << i.yStart ();
52854  o << ::std::endl << "zStart: " << i.zStart ();
52855  return o;
52856  }
52857 
52858  ::std::ostream&
52859  operator<< (::std::ostream& o, allowedSpaces::value i)
52860  {
52861  return o << allowedSpaces::_xsd_allowedSpaces_literals_[i];
52862  }
52863 
52864  ::std::ostream&
52865  operator<< (::std::ostream& o, const allowedSpaces& i)
52866  {
52867  return o << static_cast< const ::xml_schema::string& > (i);
52868  }
52869 
52870  ::std::ostream&
52871  operator<< (::std::ostream& o, const Region& i)
52872  {
52873  o << static_cast< const ::neuroml2::Base& > (i);
52874 
52875  if (i.space ())
52876  {
52877  o << ::std::endl << "space: " << *i.space ();
52878  }
52879 
52880  return o;
52881  }
52882 
52883  ::std::ostream&
52884  operator<< (::std::ostream& o, const Population& i)
52885  {
52886  o << static_cast< const ::neuroml2::Standalone& > (i);
52887 
52888  if (i.layout ())
52889  {
52890  o << ::std::endl << "layout: " << *i.layout ();
52891  }
52892 
52894  b (i.instance ().begin ()), e (i.instance ().end ());
52895  b != e; ++b)
52896  {
52897  o << ::std::endl << "instance: " << *b;
52898  }
52899 
52900  o << ::std::endl << "component: " << i.component ();
52901  if (i.size ())
52902  {
52903  o << ::std::endl << "size: " << *i.size ();
52904  }
52905 
52906  if (i.type ())
52907  {
52908  o << ::std::endl << "type: " << *i.type ();
52909  }
52910 
52911  if (i.extracellularProperties ())
52912  {
52913  o << ::std::endl << "extracellularProperties: " << *i.extracellularProperties ();
52914  }
52915 
52916  if (i.neuroLexId ())
52917  {
52918  o << ::std::endl << "neuroLexId: " << *i.neuroLexId ();
52919  }
52920 
52921  return o;
52922  }
52923 
52924  ::std::ostream&
52925  operator<< (::std::ostream& o, populationTypes::value i)
52926  {
52927  return o << populationTypes::_xsd_populationTypes_literals_[i];
52928  }
52929 
52930  ::std::ostream&
52931  operator<< (::std::ostream& o, const populationTypes& i)
52932  {
52933  return o << static_cast< const ::xml_schema::string& > (i);
52934  }
52935 
52936  ::std::ostream&
52937  operator<< (::std::ostream& o, const Layout& i)
52938  {
52939  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
52940 
52941  if (i.random ())
52942  {
52943  o << ::std::endl << "random: " << *i.random ();
52944  }
52945 
52946  if (i.grid ())
52947  {
52948  o << ::std::endl << "grid: " << *i.grid ();
52949  }
52950 
52951  if (i.unstructured ())
52952  {
52953  o << ::std::endl << "unstructured: " << *i.unstructured ();
52954  }
52955 
52956  if (i.space ())
52957  {
52958  o << ::std::endl << "space: " << *i.space ();
52959  }
52960 
52961  return o;
52962  }
52963 
52964  ::std::ostream&
52965  operator<< (::std::ostream& o, const UnstructuredLayout& i)
52966  {
52967  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
52968 
52969  if (i.number ())
52970  {
52971  o << ::std::endl << "number: " << *i.number ();
52972  }
52973 
52974  return o;
52975  }
52976 
52977  ::std::ostream&
52978  operator<< (::std::ostream& o, const RandomLayout& i)
52979  {
52980  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
52981 
52982  if (i.number ())
52983  {
52984  o << ::std::endl << "number: " << *i.number ();
52985  }
52986 
52987  if (i.region ())
52988  {
52989  o << ::std::endl << "region: " << *i.region ();
52990  }
52991 
52992  return o;
52993  }
52994 
52995  ::std::ostream&
52996  operator<< (::std::ostream& o, const GridLayout& i)
52997  {
52998  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
52999 
53000  if (i.xSize ())
53001  {
53002  o << ::std::endl << "xSize: " << *i.xSize ();
53003  }
53004 
53005  if (i.ySize ())
53006  {
53007  o << ::std::endl << "ySize: " << *i.ySize ();
53008  }
53009 
53010  if (i.zSize ())
53011  {
53012  o << ::std::endl << "zSize: " << *i.zSize ();
53013  }
53014 
53015  return o;
53016  }
53017 
53018  ::std::ostream&
53019  operator<< (::std::ostream& o, const Instance& i)
53020  {
53021  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
53022 
53023  o << ::std::endl << "location: " << i.location ();
53024  if (i.id ())
53025  {
53026  o << ::std::endl << "id: " << *i.id ();
53027  }
53028 
53029  if (i.i ())
53030  {
53031  o << ::std::endl << "i: " << *i.i ();
53032  }
53033 
53034  if (i.j ())
53035  {
53036  o << ::std::endl << "j: " << *i.j ();
53037  }
53038 
53039  if (i.k ())
53040  {
53041  o << ::std::endl << "k: " << *i.k ();
53042  }
53043 
53044  return o;
53045  }
53046 
53047  ::std::ostream&
53048  operator<< (::std::ostream& o, const Location& i)
53049  {
53050  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
53051 
53052  o << ::std::endl << "x: " << i.x ();
53053  o << ::std::endl << "y: " << i.y ();
53054  o << ::std::endl << "z: " << i.z ();
53055  return o;
53056  }
53057 
53058  ::std::ostream&
53059  operator<< (::std::ostream& o, const CellSet& i)
53060  {
53061  o << static_cast< const ::neuroml2::Base& > (i);
53062 
53063  o << ::std::endl << "select: " << i.select ();
53064  return o;
53065  }
53066 
53067  ::std::ostream&
53068  operator<< (::std::ostream& o, const SynapticConnection& i)
53069  {
53070  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
53071 
53072  if (i.neuroLexId ())
53073  {
53074  o << ::std::endl << "neuroLexId: " << *i.neuroLexId ();
53075  }
53076 
53077  o << ::std::endl << "from: " << i.from ();
53078  o << ::std::endl << "to: " << i.to ();
53079  o << ::std::endl << "synapse: " << i.synapse ();
53080  if (i.destination ())
53081  {
53082  o << ::std::endl << "destination: " << *i.destination ();
53083  }
53084 
53085  return o;
53086  }
53087 
53088  ::std::ostream&
53089  operator<< (::std::ostream& o, const BaseProjection& i)
53090  {
53091  o << static_cast< const ::neuroml2::Base& > (i);
53092 
53093  o << ::std::endl << "presynapticPopulation: " << i.presynapticPopulation ();
53094  o << ::std::endl << "postsynapticPopulation: " << i.postsynapticPopulation ();
53095  return o;
53096  }
53097 
53098  ::std::ostream&
53099  operator<< (::std::ostream& o, const Projection& i)
53100  {
53101  o << static_cast< const ::neuroml2::BaseProjection& > (i);
53102 
53104  b (i.connection ().begin ()), e (i.connection ().end ());
53105  b != e; ++b)
53106  {
53107  o << ::std::endl << "connection: " << *b;
53108  }
53109 
53111  b (i.connectionWD ().begin ()), e (i.connectionWD ().end ());
53112  b != e; ++b)
53113  {
53114  o << ::std::endl << "connectionWD: " << *b;
53115  }
53116 
53117  o << ::std::endl << "synapse: " << i.synapse ();
53118  return o;
53119  }
53120 
53121  ::std::ostream&
53122  operator<< (::std::ostream& o, const BaseConnection& i)
53123  {
53124  o << static_cast< const ::neuroml2::BaseNonNegativeIntegerId& > (i);
53125 
53126  if (i.neuroLexId ())
53127  {
53128  o << ::std::endl << "neuroLexId: " << *i.neuroLexId ();
53129  }
53130 
53131  return o;
53132  }
53133 
53134  ::std::ostream&
53135  operator<< (::std::ostream& o, const BaseConnectionOldFormat& i)
53136  {
53137  o << static_cast< const ::neuroml2::BaseConnection& > (i);
53138 
53139  o << ::std::endl << "preCellId: " << i.preCellId ();
53140  o << ::std::endl << "preSegmentId: " << i.preSegmentId ();
53141  o << ::std::endl << "preFractionAlong: " << i.preFractionAlong ();
53142  o << ::std::endl << "postCellId: " << i.postCellId ();
53143  o << ::std::endl << "postSegmentId: " << i.postSegmentId ();
53144  o << ::std::endl << "postFractionAlong: " << i.postFractionAlong ();
53145  return o;
53146  }
53147 
53148  ::std::ostream&
53149  operator<< (::std::ostream& o, const BaseConnectionNewFormat& i)
53150  {
53151  o << static_cast< const ::neuroml2::BaseConnection& > (i);
53152 
53153  o << ::std::endl << "preCell: " << i.preCell ();
53154  o << ::std::endl << "preSegment: " << i.preSegment ();
53155  o << ::std::endl << "preFractionAlong: " << i.preFractionAlong ();
53156  o << ::std::endl << "postCell: " << i.postCell ();
53157  o << ::std::endl << "postSegment: " << i.postSegment ();
53158  o << ::std::endl << "postFractionAlong: " << i.postFractionAlong ();
53159  return o;
53160  }
53161 
53162  ::std::ostream&
53163  operator<< (::std::ostream& o, const Connection_base& i)
53164  {
53165  o << static_cast< const ::neuroml2::BaseConnectionOldFormat& > (i);
53166 
53167  return o;
53168  }
53169 
53170  ::std::ostream&
53171  operator<< (::std::ostream& o, const ConnectionWD& i)
53172  {
53173  o << static_cast< const ::neuroml2::BaseConnectionOldFormat& > (i);
53174 
53175  o << ::std::endl << "weight: " << i.weight ();
53176  o << ::std::endl << "delay: " << i.delay ();
53177  return o;
53178  }
53179 
53180  ::std::ostream&
53181  operator<< (::std::ostream& o, const ElectricalProjection& i)
53182  {
53183  o << static_cast< const ::neuroml2::BaseProjection& > (i);
53184 
53186  b (i.electricalConnection ().begin ()), e (i.electricalConnection ().end ());
53187  b != e; ++b)
53188  {
53189  o << ::std::endl << "electricalConnection: " << *b;
53190  }
53191 
53193  b (i.electricalConnectionInstance ().begin ()), e (i.electricalConnectionInstance ().end ());
53194  b != e; ++b)
53195  {
53196  o << ::std::endl << "electricalConnectionInstance: " << *b;
53197  }
53198 
53200  b (i.electricalConnectionInstanceW ().begin ()), e (i.electricalConnectionInstanceW ().end ());
53201  b != e; ++b)
53202  {
53203  o << ::std::endl << "electricalConnectionInstanceW: " << *b;
53204  }
53205 
53206  return o;
53207  }
53208 
53209  ::std::ostream&
53210  operator<< (::std::ostream& o, const ElectricalConnection& i)
53211  {
53212  o << static_cast< const ::neuroml2::BaseConnectionNewFormat& > (i);
53213 
53214  o << ::std::endl << "synapse: " << i.synapse ();
53215  return o;
53216  }
53217 
53218  ::std::ostream&
53219  operator<< (::std::ostream& o, const ElectricalConnectionInstance& i)
53220  {
53221  o << static_cast< const ::neuroml2::ElectricalConnection& > (i);
53222 
53223  return o;
53224  }
53225 
53226  ::std::ostream&
53227  operator<< (::std::ostream& o, const ElectricalConnectionInstanceW& i)
53228  {
53229  o << static_cast< const ::neuroml2::ElectricalConnectionInstance& > (i);
53230 
53231  o << ::std::endl << "weight: " << i.weight ();
53232  return o;
53233  }
53234 
53235  ::std::ostream&
53236  operator<< (::std::ostream& o, const ContinuousProjection& i)
53237  {
53238  o << static_cast< const ::neuroml2::BaseProjection& > (i);
53239 
53241  b (i.continuousConnection ().begin ()), e (i.continuousConnection ().end ());
53242  b != e; ++b)
53243  {
53244  o << ::std::endl << "continuousConnection: " << *b;
53245  }
53246 
53248  b (i.continuousConnectionInstance ().begin ()), e (i.continuousConnectionInstance ().end ());
53249  b != e; ++b)
53250  {
53251  o << ::std::endl << "continuousConnectionInstance: " << *b;
53252  }
53253 
53255  b (i.continuousConnectionInstanceW ().begin ()), e (i.continuousConnectionInstanceW ().end ());
53256  b != e; ++b)
53257  {
53258  o << ::std::endl << "continuousConnectionInstanceW: " << *b;
53259  }
53260 
53261  return o;
53262  }
53263 
53264  ::std::ostream&
53265  operator<< (::std::ostream& o, const ContinuousConnection& i)
53266  {
53267  o << static_cast< const ::neuroml2::BaseConnectionNewFormat& > (i);
53268 
53269  o << ::std::endl << "preComponent: " << i.preComponent ();
53270  o << ::std::endl << "postComponent: " << i.postComponent ();
53271  return o;
53272  }
53273 
53274  ::std::ostream&
53275  operator<< (::std::ostream& o, const ContinuousConnectionInstance& i)
53276  {
53277  o << static_cast< const ::neuroml2::ContinuousConnection& > (i);
53278 
53279  return o;
53280  }
53281 
53282  ::std::ostream&
53283  operator<< (::std::ostream& o, const ContinuousConnectionInstanceW& i)
53284  {
53285  o << static_cast< const ::neuroml2::ContinuousConnectionInstance& > (i);
53286 
53287  o << ::std::endl << "weight: " << i.weight ();
53288  return o;
53289  }
53290 
53291  ::std::ostream&
53292  operator<< (::std::ostream& o, const ExplicitInput& i)
53293  {
53294  o << static_cast< const ::neuroml2::BaseWithoutId& > (i);
53295 
53296  o << ::std::endl << "target: " << i.target ();
53297  o << ::std::endl << "input: " << i.input ();
53298  if (i.destination ())
53299  {
53300  o << ::std::endl << "destination: " << *i.destination ();
53301  }
53302 
53303  return o;
53304  }
53305 
53306  ::std::ostream&
53307  operator<< (::std::ostream& o, const InputList& i)
53308  {
53309  o << static_cast< const ::neuroml2::Base& > (i);
53310 
53312  b (i.input ().begin ()), e (i.input ().end ());
53313  b != e; ++b)
53314  {
53315  o << ::std::endl << "input: " << *b;
53316  }
53317 
53319  b (i.inputW ().begin ()), e (i.inputW ().end ());
53320  b != e; ++b)
53321  {
53322  o << ::std::endl << "inputW: " << *b;
53323  }
53324 
53325  o << ::std::endl << "population: " << i.population ();
53326  o << ::std::endl << "component: " << i.component ();
53327  return o;
53328  }
53329 
53330  ::std::ostream&
53331  operator<< (::std::ostream& o, const Input& i)
53332  {
53333  o << static_cast< const ::neuroml2::BaseNonNegativeIntegerId& > (i);
53334 
53335  o << ::std::endl << "target: " << i.target ();
53336  o << ::std::endl << "destination: " << i.destination ();
53337  if (i.segmentId ())
53338  {
53339  o << ::std::endl << "segmentId: " << *i.segmentId ();
53340  }
53341 
53342  if (i.fractionAlong ())
53343  {
53344  o << ::std::endl << "fractionAlong: " << *i.fractionAlong ();
53345  }
53346 
53347  return o;
53348  }
53349 
53350  ::std::ostream&
53351  operator<< (::std::ostream& o, const InputW& i)
53352  {
53353  o << static_cast< const ::neuroml2::Input& > (i);
53354 
53355  o << ::std::endl << "weight: " << i.weight ();
53356  return o;
53357  }
53358 
53359  ::std::ostream&
53360  operator<< (::std::ostream& o, const basePyNNCell& i)
53361  {
53362  o << static_cast< const ::neuroml2::BaseCell& > (i);
53363 
53364  o << ::std::endl << "cm: " << i.cm ();
53365  o << ::std::endl << "i_offset: " << i.i_offset ();
53366  o << ::std::endl << "tau_syn_E: " << i.tau_syn_E ();
53367  o << ::std::endl << "tau_syn_I: " << i.tau_syn_I ();
53368  o << ::std::endl << "v_init: " << i.v_init ();
53369  return o;
53370  }
53371 
53372  ::std::ostream&
53373  operator<< (::std::ostream& o, const basePyNNIaFCell& i)
53374  {
53375  o << static_cast< const ::neuroml2::basePyNNCell& > (i);
53376 
53377  o << ::std::endl << "tau_m: " << i.tau_m ();
53378  o << ::std::endl << "tau_refrac: " << i.tau_refrac ();
53379  o << ::std::endl << "v_reset: " << i.v_reset ();
53380  o << ::std::endl << "v_rest: " << i.v_rest ();
53381  o << ::std::endl << "v_thresh: " << i.v_thresh ();
53382  return o;
53383  }
53384 
53385  ::std::ostream&
53386  operator<< (::std::ostream& o, const basePyNNIaFCondCell& i)
53387  {
53388  o << static_cast< const ::neuroml2::basePyNNIaFCell& > (i);
53389 
53390  o << ::std::endl << "e_rev_E: " << i.e_rev_E ();
53391  o << ::std::endl << "e_rev_I: " << i.e_rev_I ();
53392  return o;
53393  }
53394 
53395  ::std::ostream&
53396  operator<< (::std::ostream& o, const IF_curr_alpha& i)
53397  {
53398  o << static_cast< const ::neuroml2::basePyNNIaFCell& > (i);
53399 
53400  return o;
53401  }
53402 
53403  ::std::ostream&
53404  operator<< (::std::ostream& o, const IF_curr_exp& i)
53405  {
53406  o << static_cast< const ::neuroml2::basePyNNIaFCell& > (i);
53407 
53408  return o;
53409  }
53410 
53411  ::std::ostream&
53412  operator<< (::std::ostream& o, const IF_cond_alpha& i)
53413  {
53414  o << static_cast< const ::neuroml2::basePyNNIaFCondCell& > (i);
53415 
53416  return o;
53417  }
53418 
53419  ::std::ostream&
53420  operator<< (::std::ostream& o, const IF_cond_exp& i)
53421  {
53422  o << static_cast< const ::neuroml2::basePyNNIaFCondCell& > (i);
53423 
53424  return o;
53425  }
53426 
53427  ::std::ostream&
53428  operator<< (::std::ostream& o, const EIF_cond_exp_isfa_ista& i)
53429  {
53430  o << static_cast< const ::neuroml2::basePyNNIaFCondCell& > (i);
53431 
53432  o << ::std::endl << "a: " << i.a ();
53433  o << ::std::endl << "b: " << i.b ();
53434  o << ::std::endl << "delta_T: " << i.delta_T ();
53435  o << ::std::endl << "tau_w: " << i.tau_w ();
53436  o << ::std::endl << "v_spike: " << i.v_spike ();
53437  return o;
53438  }
53439 
53440  ::std::ostream&
53441  operator<< (::std::ostream& o, const EIF_cond_alpha_isfa_ista& i)
53442  {
53443  o << static_cast< const ::neuroml2::EIF_cond_exp_isfa_ista& > (i);
53444 
53445  return o;
53446  }
53447 
53448  ::std::ostream&
53449  operator<< (::std::ostream& o, const HH_cond_exp& i)
53450  {
53451  o << static_cast< const ::neuroml2::basePyNNCell& > (i);
53452 
53453  o << ::std::endl << "v_offset: " << i.v_offset ();
53454  o << ::std::endl << "e_rev_E: " << i.e_rev_E ();
53455  o << ::std::endl << "e_rev_I: " << i.e_rev_I ();
53456  o << ::std::endl << "e_rev_K: " << i.e_rev_K ();
53457  o << ::std::endl << "e_rev_Na: " << i.e_rev_Na ();
53458  o << ::std::endl << "e_rev_leak: " << i.e_rev_leak ();
53459  o << ::std::endl << "g_leak: " << i.g_leak ();
53460  o << ::std::endl << "gbar_K: " << i.gbar_K ();
53461  o << ::std::endl << "gbar_Na: " << i.gbar_Na ();
53462  return o;
53463  }
53464 
53465  ::std::ostream&
53466  operator<< (::std::ostream& o, const BasePynnSynapse& i)
53467  {
53468  o << static_cast< const ::neuroml2::BaseSynapse& > (i);
53469 
53470  o << ::std::endl << "tau_syn: " << i.tau_syn ();
53471  return o;
53472  }
53473 
53474  ::std::ostream&
53475  operator<< (::std::ostream& o, const ExpCondSynapse& i)
53476  {
53477  o << static_cast< const ::neuroml2::BasePynnSynapse& > (i);
53478 
53479  o << ::std::endl << "e_rev: " << i.e_rev ();
53480  return o;
53481  }
53482 
53483  ::std::ostream&
53484  operator<< (::std::ostream& o, const AlphaCondSynapse& i)
53485  {
53486  o << static_cast< const ::neuroml2::BasePynnSynapse& > (i);
53487 
53488  o << ::std::endl << "e_rev: " << i.e_rev ();
53489  return o;
53490  }
53491 
53492  ::std::ostream&
53493  operator<< (::std::ostream& o, const ExpCurrSynapse& i)
53494  {
53495  o << static_cast< const ::neuroml2::BasePynnSynapse& > (i);
53496 
53497  return o;
53498  }
53499 
53500  ::std::ostream&
53501  operator<< (::std::ostream& o, const AlphaCurrSynapse& i)
53502  {
53503  o << static_cast< const ::neuroml2::BasePynnSynapse& > (i);
53504 
53505  return o;
53506  }
53507 
53508  ::std::ostream&
53509  operator<< (::std::ostream& o, const SpikeSourcePoisson& i)
53510  {
53511  o << static_cast< const ::neuroml2::Standalone& > (i);
53512 
53513  o << ::std::endl << "start: " << i.start ();
53514  o << ::std::endl << "duration: " << i.duration ();
53515  o << ::std::endl << "rate: " << i.rate ();
53516  return o;
53517  }
53518 }
53519 
53520 #include <istream>
53521 #include <xsd/cxx/xml/sax/std-input-source.hxx>
53522 #include <xsd/cxx/tree/error-handler.hxx>
53523 
53524 namespace neuroml2
53525 {
53526  ::std::unique_ptr< ::neuroml2::NeuroMLDocument >
53528  ::xml_schema::flags f,
53530  {
53531  ::xsd::cxx::xml::auto_initializer i (
53532  (f & ::xml_schema::flags::dont_initialize) == 0,
53533  (f & ::xml_schema::flags::keep_dom) == 0);
53534 
53535  ::xsd::cxx::tree::error_handler< char > h;
53536 
53537  ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
53538  ::xsd::cxx::xml::dom::parse< char > (
53539  u, h, p, f));
53540 
53541  h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > ();
53542 
53543  return ::std::unique_ptr< ::neuroml2::NeuroMLDocument > (
53544  ::neuroml2::neuroml (
53545  std::move (d), f | ::xml_schema::flags::own_dom, p));
53546  }
53547 
53548  ::std::unique_ptr< ::neuroml2::NeuroMLDocument >
53551  ::xml_schema::flags f,
53553  {
53554  ::xsd::cxx::xml::auto_initializer i (
53555  (f & ::xml_schema::flags::dont_initialize) == 0,
53556  (f & ::xml_schema::flags::keep_dom) == 0);
53557 
53558  ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
53559  ::xsd::cxx::xml::dom::parse< char > (
53560  u, h, p, f));
53561 
53562  if (!d.get ())
53563  throw ::xsd::cxx::tree::parsing< char > ();
53564 
53565  return ::std::unique_ptr< ::neuroml2::NeuroMLDocument > (
53566  ::neuroml2::neuroml (
53567  std::move (d), f | ::xml_schema::flags::own_dom, p));
53568  }
53569 
53570  ::std::unique_ptr< ::neuroml2::NeuroMLDocument >
53572  ::xercesc::DOMErrorHandler& h,
53573  ::xml_schema::flags f,
53575  {
53576  ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
53577  ::xsd::cxx::xml::dom::parse< char > (
53578  u, h, p, f));
53579 
53580  if (!d.get ())
53581  throw ::xsd::cxx::tree::parsing< char > ();
53582 
53583  return ::std::unique_ptr< ::neuroml2::NeuroMLDocument > (
53584  ::neuroml2::neuroml (
53585  std::move (d), f | ::xml_schema::flags::own_dom, p));
53586  }
53587 
53588  ::std::unique_ptr< ::neuroml2::NeuroMLDocument >
53589  neuroml (::std::istream& is,
53590  ::xml_schema::flags f,
53592  {
53593  ::xsd::cxx::xml::auto_initializer i (
53594  (f & ::xml_schema::flags::dont_initialize) == 0,
53595  (f & ::xml_schema::flags::keep_dom) == 0);
53596 
53597  ::xsd::cxx::xml::sax::std_input_source isrc (is);
53598  return ::neuroml2::neuroml (isrc, f, p);
53599  }
53600 
53601  ::std::unique_ptr< ::neuroml2::NeuroMLDocument >
53602  neuroml (::std::istream& is,
53604  ::xml_schema::flags f,
53606  {
53607  ::xsd::cxx::xml::auto_initializer i (
53608  (f & ::xml_schema::flags::dont_initialize) == 0,
53609  (f & ::xml_schema::flags::keep_dom) == 0);
53610 
53611  ::xsd::cxx::xml::sax::std_input_source isrc (is);
53612  return ::neuroml2::neuroml (isrc, h, f, p);
53613  }
53614 
53615  ::std::unique_ptr< ::neuroml2::NeuroMLDocument >
53616  neuroml (::std::istream& is,
53617  ::xercesc::DOMErrorHandler& h,
53618  ::xml_schema::flags f,
53620  {
53621  ::xsd::cxx::xml::sax::std_input_source isrc (is);
53622  return ::neuroml2::neuroml (isrc, h, f, p);
53623  }
53624 
53625  ::std::unique_ptr< ::neuroml2::NeuroMLDocument >
53626  neuroml (::std::istream& is,
53627  const ::std::string& sid,
53628  ::xml_schema::flags f,
53630  {
53631  ::xsd::cxx::xml::auto_initializer i (
53632  (f & ::xml_schema::flags::dont_initialize) == 0,
53633  (f & ::xml_schema::flags::keep_dom) == 0);
53634 
53635  ::xsd::cxx::xml::sax::std_input_source isrc (is, sid);
53636  return ::neuroml2::neuroml (isrc, f, p);
53637  }
53638 
53639  ::std::unique_ptr< ::neuroml2::NeuroMLDocument >
53640  neuroml (::std::istream& is,
53641  const ::std::string& sid,
53643  ::xml_schema::flags f,
53645  {
53646  ::xsd::cxx::xml::auto_initializer i (
53647  (f & ::xml_schema::flags::dont_initialize) == 0,
53648  (f & ::xml_schema::flags::keep_dom) == 0);
53649 
53650  ::xsd::cxx::xml::sax::std_input_source isrc (is, sid);
53651  return ::neuroml2::neuroml (isrc, h, f, p);
53652  }
53653 
53654  ::std::unique_ptr< ::neuroml2::NeuroMLDocument >
53655  neuroml (::std::istream& is,
53656  const ::std::string& sid,
53657  ::xercesc::DOMErrorHandler& h,
53658  ::xml_schema::flags f,
53660  {
53661  ::xsd::cxx::xml::sax::std_input_source isrc (is, sid);
53662  return ::neuroml2::neuroml (isrc, h, f, p);
53663  }
53664 
53665  ::std::unique_ptr< ::neuroml2::NeuroMLDocument >
53666  neuroml (::xercesc::InputSource& i,
53667  ::xml_schema::flags f,
53669  {
53670  ::xsd::cxx::tree::error_handler< char > h;
53671 
53672  ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
53673  ::xsd::cxx::xml::dom::parse< char > (
53674  i, h, p, f));
53675 
53676  h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > ();
53677 
53678  return ::std::unique_ptr< ::neuroml2::NeuroMLDocument > (
53679  ::neuroml2::neuroml (
53680  std::move (d), f | ::xml_schema::flags::own_dom, p));
53681  }
53682 
53683  ::std::unique_ptr< ::neuroml2::NeuroMLDocument >
53684  neuroml (::xercesc::InputSource& i,
53686  ::xml_schema::flags f,
53688  {
53689  ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
53690  ::xsd::cxx::xml::dom::parse< char > (
53691  i, h, p, f));
53692 
53693  if (!d.get ())
53694  throw ::xsd::cxx::tree::parsing< char > ();
53695 
53696  return ::std::unique_ptr< ::neuroml2::NeuroMLDocument > (
53697  ::neuroml2::neuroml (
53698  std::move (d), f | ::xml_schema::flags::own_dom, p));
53699  }
53700 
53701  ::std::unique_ptr< ::neuroml2::NeuroMLDocument >
53702  neuroml (::xercesc::InputSource& i,
53703  ::xercesc::DOMErrorHandler& h,
53704  ::xml_schema::flags f,
53706  {
53707  ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
53708  ::xsd::cxx::xml::dom::parse< char > (
53709  i, h, p, f));
53710 
53711  if (!d.get ())
53712  throw ::xsd::cxx::tree::parsing< char > ();
53713 
53714  return ::std::unique_ptr< ::neuroml2::NeuroMLDocument > (
53715  ::neuroml2::neuroml (
53716  std::move (d), f | ::xml_schema::flags::own_dom, p));
53717  }
53718 
53719  ::std::unique_ptr< ::neuroml2::NeuroMLDocument >
53720  neuroml (const ::xercesc::DOMDocument& doc,
53721  ::xml_schema::flags f,
53723  {
53724  if (f & ::xml_schema::flags::keep_dom)
53725  {
53726  ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
53727  static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true)));
53728 
53729  return ::std::unique_ptr< ::neuroml2::NeuroMLDocument > (
53730  ::neuroml2::neuroml (
53731  std::move (d), f | ::xml_schema::flags::own_dom, p));
53732  }
53733 
53734  const ::xercesc::DOMElement& e (*doc.getDocumentElement ());
53735  const ::xsd::cxx::xml::qualified_name< char > n (
53736  ::xsd::cxx::xml::dom::name< char > (e));
53737 
53738  if (n.name () == "neuroml" &&
53739  n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
53740  {
53741  ::std::unique_ptr< ::neuroml2::NeuroMLDocument > r (
53742  ::xsd::cxx::tree::traits< ::neuroml2::NeuroMLDocument, char >::create (
53743  e, f, 0));
53744  return r;
53745  }
53746 
53747  throw ::xsd::cxx::tree::unexpected_element < char > (
53748  n.name (),
53749  n.namespace_ (),
53750  "neuroml",
53751  "http://www.neuroml.org/schema/neuroml2");
53752  }
53753 
53754  ::std::unique_ptr< ::neuroml2::NeuroMLDocument >
53755  neuroml (::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d,
53756  ::xml_schema::flags f,
53758  {
53759  ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > c (
53760  ((f & ::xml_schema::flags::keep_dom) &&
53761  !(f & ::xml_schema::flags::own_dom))
53762  ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true))
53763  : 0);
53764 
53765  ::xercesc::DOMDocument& doc (c.get () ? *c : *d);
53766  const ::xercesc::DOMElement& e (*doc.getDocumentElement ());
53767 
53768  const ::xsd::cxx::xml::qualified_name< char > n (
53769  ::xsd::cxx::xml::dom::name< char > (e));
53770 
53771  if (f & ::xml_schema::flags::keep_dom)
53772  doc.setUserData (::xml_schema::dom::tree_node_key,
53773  (c.get () ? &c : &d),
53774  0);
53775 
53776  if (n.name () == "neuroml" &&
53777  n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
53778  {
53779  ::std::unique_ptr< ::neuroml2::NeuroMLDocument > r (
53780  ::xsd::cxx::tree::traits< ::neuroml2::NeuroMLDocument, char >::create (
53781  e, f, 0));
53782  return r;
53783  }
53784 
53785  throw ::xsd::cxx::tree::unexpected_element < char > (
53786  n.name (),
53787  n.namespace_ (),
53788  "neuroml",
53789  "http://www.neuroml.org/schema/neuroml2");
53790  }
53791 }
53792 
53793 #include <ostream>
53794 #include <xsd/cxx/tree/error-handler.hxx>
53795 #include <xsd/cxx/xml/dom/serialization-source.hxx>
53796 
53797 namespace neuroml2
53798 {
53799  void
53800  operator<< (::xercesc::DOMElement& e, const NmlId& i)
53801  {
53802  e << static_cast< const ::xml_schema::string& > (i);
53803  }
53804 
53805  void
53806  operator<< (::xercesc::DOMAttr& a, const NmlId& i)
53807  {
53808  a << static_cast< const ::xml_schema::string& > (i);
53809  }
53810 
53811  void
53812  operator<< (::xml_schema::list_stream& l,
53813  const NmlId& i)
53814  {
53815  l << static_cast< const ::xml_schema::string& > (i);
53816  }
53817 
53818  void
53819  operator<< (::xercesc::DOMElement& e, const Nml2Quantity& i)
53820  {
53821  e << static_cast< const ::xml_schema::string& > (i);
53822  }
53823 
53824  void
53825  operator<< (::xercesc::DOMAttr& a, const Nml2Quantity& i)
53826  {
53827  a << static_cast< const ::xml_schema::string& > (i);
53828  }
53829 
53830  void
53831  operator<< (::xml_schema::list_stream& l,
53832  const Nml2Quantity& i)
53833  {
53834  l << static_cast< const ::xml_schema::string& > (i);
53835  }
53836 
53837  void
53838  operator<< (::xercesc::DOMElement& e, const Nml2Quantity_none& i)
53839  {
53840  e << static_cast< const ::xml_schema::string& > (i);
53841  }
53842 
53843  void
53844  operator<< (::xercesc::DOMAttr& a, const Nml2Quantity_none& i)
53845  {
53846  a << static_cast< const ::xml_schema::string& > (i);
53847  }
53848 
53849  void
53850  operator<< (::xml_schema::list_stream& l,
53851  const Nml2Quantity_none& i)
53852  {
53853  l << static_cast< const ::xml_schema::string& > (i);
53854  }
53855 
53856  void
53857  operator<< (::xercesc::DOMElement& e, const Nml2Quantity_voltage& i)
53858  {
53859  e << static_cast< const ::xml_schema::string& > (i);
53860  }
53861 
53862  void
53863  operator<< (::xercesc::DOMAttr& a, const Nml2Quantity_voltage& i)
53864  {
53865  a << static_cast< const ::xml_schema::string& > (i);
53866  }
53867 
53868  void
53869  operator<< (::xml_schema::list_stream& l,
53870  const Nml2Quantity_voltage& i)
53871  {
53872  l << static_cast< const ::xml_schema::string& > (i);
53873  }
53874 
53875  void
53876  operator<< (::xercesc::DOMElement& e, const Nml2Quantity_length& i)
53877  {
53878  e << static_cast< const ::xml_schema::string& > (i);
53879  }
53880 
53881  void
53882  operator<< (::xercesc::DOMAttr& a, const Nml2Quantity_length& i)
53883  {
53884  a << static_cast< const ::xml_schema::string& > (i);
53885  }
53886 
53887  void
53888  operator<< (::xml_schema::list_stream& l,
53889  const Nml2Quantity_length& i)
53890  {
53891  l << static_cast< const ::xml_schema::string& > (i);
53892  }
53893 
53894  void
53895  operator<< (::xercesc::DOMElement& e, const Nml2Quantity_resistance& i)
53896  {
53897  e << static_cast< const ::xml_schema::string& > (i);
53898  }
53899 
53900  void
53901  operator<< (::xercesc::DOMAttr& a, const Nml2Quantity_resistance& i)
53902  {
53903  a << static_cast< const ::xml_schema::string& > (i);
53904  }
53905 
53906  void
53907  operator<< (::xml_schema::list_stream& l,
53908  const Nml2Quantity_resistance& i)
53909  {
53910  l << static_cast< const ::xml_schema::string& > (i);
53911  }
53912 
53913  void
53914  operator<< (::xercesc::DOMElement& e, const Nml2Quantity_resistivity& i)
53915  {
53916  e << static_cast< const ::xml_schema::string& > (i);
53917  }
53918 
53919  void
53920  operator<< (::xercesc::DOMAttr& a, const Nml2Quantity_resistivity& i)
53921  {
53922  a << static_cast< const ::xml_schema::string& > (i);
53923  }
53924 
53925  void
53926  operator<< (::xml_schema::list_stream& l,
53927  const Nml2Quantity_resistivity& i)
53928  {
53929  l << static_cast< const ::xml_schema::string& > (i);
53930  }
53931 
53932  void
53933  operator<< (::xercesc::DOMElement& e, const Nml2Quantity_conductance& i)
53934  {
53935  e << static_cast< const ::xml_schema::string& > (i);
53936  }
53937 
53938  void
53939  operator<< (::xercesc::DOMAttr& a, const Nml2Quantity_conductance& i)
53940  {
53941  a << static_cast< const ::xml_schema::string& > (i);
53942  }
53943 
53944  void
53945  operator<< (::xml_schema::list_stream& l,
53946  const Nml2Quantity_conductance& i)
53947  {
53948  l << static_cast< const ::xml_schema::string& > (i);
53949  }
53950 
53951  void
53952  operator<< (::xercesc::DOMElement& e, const Nml2Quantity_conductanceDensity& i)
53953  {
53954  e << static_cast< const ::xml_schema::string& > (i);
53955  }
53956 
53957  void
53958  operator<< (::xercesc::DOMAttr& a, const Nml2Quantity_conductanceDensity& i)
53959  {
53960  a << static_cast< const ::xml_schema::string& > (i);
53961  }
53962 
53963  void
53964  operator<< (::xml_schema::list_stream& l,
53965  const Nml2Quantity_conductanceDensity& i)
53966  {
53967  l << static_cast< const ::xml_schema::string& > (i);
53968  }
53969 
53970  void
53971  operator<< (::xercesc::DOMElement& e, const Nml2Quantity_permeability& i)
53972  {
53973  e << static_cast< const ::xml_schema::string& > (i);
53974  }
53975 
53976  void
53977  operator<< (::xercesc::DOMAttr& a, const Nml2Quantity_permeability& i)
53978  {
53979  a << static_cast< const ::xml_schema::string& > (i);
53980  }
53981 
53982  void
53983  operator<< (::xml_schema::list_stream& l,
53984  const Nml2Quantity_permeability& i)
53985  {
53986  l << static_cast< const ::xml_schema::string& > (i);
53987  }
53988 
53989  void
53990  operator<< (::xercesc::DOMElement& e, const Nml2Quantity_time& i)
53991  {
53992  e << static_cast< const ::xml_schema::string& > (i);
53993  }
53994 
53995  void
53996  operator<< (::xercesc::DOMAttr& a, const Nml2Quantity_time& i)
53997  {
53998  a << static_cast< const ::xml_schema::string& > (i);
53999  }
54000 
54001  void
54002  operator<< (::xml_schema::list_stream& l,
54003  const Nml2Quantity_time& i)
54004  {
54005  l << static_cast< const ::xml_schema::string& > (i);
54006  }
54007 
54008  void
54009  operator<< (::xercesc::DOMElement& e, const Nml2Quantity_pertime& i)
54010  {
54011  e << static_cast< const ::xml_schema::string& > (i);
54012  }
54013 
54014  void
54015  operator<< (::xercesc::DOMAttr& a, const Nml2Quantity_pertime& i)
54016  {
54017  a << static_cast< const ::xml_schema::string& > (i);
54018  }
54019 
54020  void
54021  operator<< (::xml_schema::list_stream& l,
54022  const Nml2Quantity_pertime& i)
54023  {
54024  l << static_cast< const ::xml_schema::string& > (i);
54025  }
54026 
54027  void
54028  operator<< (::xercesc::DOMElement& e, const Nml2Quantity_capacitance& i)
54029  {
54030  e << static_cast< const ::xml_schema::string& > (i);
54031  }
54032 
54033  void
54034  operator<< (::xercesc::DOMAttr& a, const Nml2Quantity_capacitance& i)
54035  {
54036  a << static_cast< const ::xml_schema::string& > (i);
54037  }
54038 
54039  void
54040  operator<< (::xml_schema::list_stream& l,
54041  const Nml2Quantity_capacitance& i)
54042  {
54043  l << static_cast< const ::xml_schema::string& > (i);
54044  }
54045 
54046  void
54047  operator<< (::xercesc::DOMElement& e, const Nml2Quantity_specificCapacitance& i)
54048  {
54049  e << static_cast< const ::xml_schema::string& > (i);
54050  }
54051 
54052  void
54053  operator<< (::xercesc::DOMAttr& a, const Nml2Quantity_specificCapacitance& i)
54054  {
54055  a << static_cast< const ::xml_schema::string& > (i);
54056  }
54057 
54058  void
54059  operator<< (::xml_schema::list_stream& l,
54060  const Nml2Quantity_specificCapacitance& i)
54061  {
54062  l << static_cast< const ::xml_schema::string& > (i);
54063  }
54064 
54065  void
54066  operator<< (::xercesc::DOMElement& e, const Nml2Quantity_concentration& i)
54067  {
54068  e << static_cast< const ::xml_schema::string& > (i);
54069  }
54070 
54071  void
54072  operator<< (::xercesc::DOMAttr& a, const Nml2Quantity_concentration& i)
54073  {
54074  a << static_cast< const ::xml_schema::string& > (i);
54075  }
54076 
54077  void
54078  operator<< (::xml_schema::list_stream& l,
54079  const Nml2Quantity_concentration& i)
54080  {
54081  l << static_cast< const ::xml_schema::string& > (i);
54082  }
54083 
54084  void
54085  operator<< (::xercesc::DOMElement& e, const Nml2Quantity_current& i)
54086  {
54087  e << static_cast< const ::xml_schema::string& > (i);
54088  }
54089 
54090  void
54091  operator<< (::xercesc::DOMAttr& a, const Nml2Quantity_current& i)
54092  {
54093  a << static_cast< const ::xml_schema::string& > (i);
54094  }
54095 
54096  void
54097  operator<< (::xml_schema::list_stream& l,
54098  const Nml2Quantity_current& i)
54099  {
54100  l << static_cast< const ::xml_schema::string& > (i);
54101  }
54102 
54103  void
54104  operator<< (::xercesc::DOMElement& e, const Nml2Quantity_currentDensity& i)
54105  {
54106  e << static_cast< const ::xml_schema::string& > (i);
54107  }
54108 
54109  void
54110  operator<< (::xercesc::DOMAttr& a, const Nml2Quantity_currentDensity& i)
54111  {
54112  a << static_cast< const ::xml_schema::string& > (i);
54113  }
54114 
54115  void
54116  operator<< (::xml_schema::list_stream& l,
54117  const Nml2Quantity_currentDensity& i)
54118  {
54119  l << static_cast< const ::xml_schema::string& > (i);
54120  }
54121 
54122  void
54123  operator<< (::xercesc::DOMElement& e, const Nml2Quantity_temperature& i)
54124  {
54125  e << static_cast< const ::xml_schema::string& > (i);
54126  }
54127 
54128  void
54129  operator<< (::xercesc::DOMAttr& a, const Nml2Quantity_temperature& i)
54130  {
54131  a << static_cast< const ::xml_schema::string& > (i);
54132  }
54133 
54134  void
54135  operator<< (::xml_schema::list_stream& l,
54136  const Nml2Quantity_temperature& i)
54137  {
54138  l << static_cast< const ::xml_schema::string& > (i);
54139  }
54140 
54141  void
54142  operator<< (::xercesc::DOMElement& e, const Nml2Quantity_rhoFactor& i)
54143  {
54144  e << static_cast< const ::xml_schema::string& > (i);
54145  }
54146 
54147  void
54148  operator<< (::xercesc::DOMAttr& a, const Nml2Quantity_rhoFactor& i)
54149  {
54150  a << static_cast< const ::xml_schema::string& > (i);
54151  }
54152 
54153  void
54154  operator<< (::xml_schema::list_stream& l,
54155  const Nml2Quantity_rhoFactor& i)
54156  {
54157  l << static_cast< const ::xml_schema::string& > (i);
54158  }
54159 
54160  void
54161  operator<< (::xercesc::DOMElement& e, const Nml2Quantity_conductancePerVoltage& i)
54162  {
54163  e << static_cast< const ::xml_schema::string& > (i);
54164  }
54165 
54166  void
54167  operator<< (::xercesc::DOMAttr& a, const Nml2Quantity_conductancePerVoltage& i)
54168  {
54169  a << static_cast< const ::xml_schema::string& > (i);
54170  }
54171 
54172  void
54173  operator<< (::xml_schema::list_stream& l,
54174  const Nml2Quantity_conductancePerVoltage& i)
54175  {
54176  l << static_cast< const ::xml_schema::string& > (i);
54177  }
54178 
54179  void
54180  operator<< (::xercesc::DOMElement& e, const MetaId& i)
54181  {
54182  e << static_cast< const ::xml_schema::string& > (i);
54183  }
54184 
54185  void
54186  operator<< (::xercesc::DOMAttr& a, const MetaId& i)
54187  {
54188  a << static_cast< const ::xml_schema::string& > (i);
54189  }
54190 
54191  void
54192  operator<< (::xml_schema::list_stream& l,
54193  const MetaId& i)
54194  {
54195  l << static_cast< const ::xml_schema::string& > (i);
54196  }
54197 
54198  void
54199  operator<< (::xercesc::DOMElement& e, const NeuroLexId& i)
54200  {
54201  e << static_cast< const ::xml_schema::string& > (i);
54202  }
54203 
54204  void
54205  operator<< (::xercesc::DOMAttr& a, const NeuroLexId& i)
54206  {
54207  a << static_cast< const ::xml_schema::string& > (i);
54208  }
54209 
54210  void
54211  operator<< (::xml_schema::list_stream& l,
54212  const NeuroLexId& i)
54213  {
54214  l << static_cast< const ::xml_schema::string& > (i);
54215  }
54216 
54217  void
54218  operator<< (::xercesc::DOMElement& e, const Nml2PopulationReferencePath& i)
54219  {
54220  e << static_cast< const ::xml_schema::string& > (i);
54221  }
54222 
54223  void
54224  operator<< (::xercesc::DOMAttr& a, const Nml2PopulationReferencePath& i)
54225  {
54226  a << static_cast< const ::xml_schema::string& > (i);
54227  }
54228 
54229  void
54230  operator<< (::xml_schema::list_stream& l,
54231  const Nml2PopulationReferencePath& i)
54232  {
54233  l << static_cast< const ::xml_schema::string& > (i);
54234  }
54235 
54236  void
54237  operator<< (::xercesc::DOMElement& e, const NonNegativeInteger& i)
54238  {
54239  e << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::non_negative_integer, char, ::xml_schema::simple_type >& > (i);
54240  }
54241 
54242  void
54243  operator<< (::xercesc::DOMAttr& a, const NonNegativeInteger& i)
54244  {
54245  a << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::non_negative_integer, char, ::xml_schema::simple_type >& > (i);
54246  }
54247 
54248  void
54249  operator<< (::xml_schema::list_stream& l,
54250  const NonNegativeInteger& i)
54251  {
54252  l << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::non_negative_integer, char, ::xml_schema::simple_type >& > (i);
54253  }
54254 
54255  void
54256  operator<< (::xercesc::DOMElement& e, const PositiveInteger& i)
54257  {
54258  e << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::positive_integer, char, ::xml_schema::simple_type >& > (i);
54259  }
54260 
54261  void
54262  operator<< (::xercesc::DOMAttr& a, const PositiveInteger& i)
54263  {
54264  a << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::positive_integer, char, ::xml_schema::simple_type >& > (i);
54265  }
54266 
54267  void
54268  operator<< (::xml_schema::list_stream& l,
54269  const PositiveInteger& i)
54270  {
54271  l << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::positive_integer, char, ::xml_schema::simple_type >& > (i);
54272  }
54273 
54274  void
54275  operator<< (::xercesc::DOMElement& e, const DoubleGreaterThanZero& i)
54276  {
54277  e << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::double_, char, ::xml_schema::simple_type, ::xsd::cxx::tree::schema_type::double_ >& > (i);
54278  }
54279 
54280  void
54281  operator<< (::xercesc::DOMAttr& a, const DoubleGreaterThanZero& i)
54282  {
54283  a << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::double_, char, ::xml_schema::simple_type, ::xsd::cxx::tree::schema_type::double_ >& > (i);
54284  }
54285 
54286  void
54287  operator<< (::xml_schema::list_stream& l,
54288  const DoubleGreaterThanZero& i)
54289  {
54290  l << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::double_, char, ::xml_schema::simple_type, ::xsd::cxx::tree::schema_type::double_ >& > (i);
54291  }
54292 
54293  void
54294  operator<< (::xercesc::DOMElement& e, const ZeroOrOne& i)
54295  {
54296  e << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::double_, char, ::xml_schema::simple_type, ::xsd::cxx::tree::schema_type::double_ >& > (i);
54297  }
54298 
54299  void
54300  operator<< (::xercesc::DOMAttr& a, const ZeroOrOne& i)
54301  {
54302  a << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::double_, char, ::xml_schema::simple_type, ::xsd::cxx::tree::schema_type::double_ >& > (i);
54303  }
54304 
54305  void
54306  operator<< (::xml_schema::list_stream& l,
54307  const ZeroOrOne& i)
54308  {
54309  l << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::double_, char, ::xml_schema::simple_type, ::xsd::cxx::tree::schema_type::double_ >& > (i);
54310  }
54311 
54312  void
54313  operator<< (::xercesc::DOMElement& e, const Notes& i)
54314  {
54315  e << static_cast< const ::xml_schema::string& > (i);
54316  }
54317 
54318  void
54319  operator<< (::xercesc::DOMAttr& a, const Notes& i)
54320  {
54321  a << static_cast< const ::xml_schema::string& > (i);
54322  }
54323 
54324  void
54325  operator<< (::xml_schema::list_stream& l,
54326  const Notes& i)
54327  {
54328  l << static_cast< const ::xml_schema::string& > (i);
54329  }
54330 
54331  void
54332  operator<< (::xercesc::DOMElement& e, const BaseWithoutId& i)
54333  {
54334  e << static_cast< const ::xml_schema::type& > (i);
54335  }
54336 
54337  void
54338  operator<< (::xercesc::DOMAttr&, const BaseWithoutId&)
54339  {
54340  }
54341 
54342  void
54343  operator<< (::xml_schema::list_stream&,
54344  const BaseWithoutId&)
54345  {
54346  }
54347 
54348  void
54349  operator<< (::xercesc::DOMElement& e, const Property& i)
54350  {
54351  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
54352 
54353  // tag
54354  //
54355  {
54356  ::xercesc::DOMAttr& a (
54357  ::xsd::cxx::xml::dom::create_attribute (
54358  "tag",
54359  e));
54360 
54361  a << i.tag ();
54362  }
54363 
54364  // value
54365  //
54366  {
54367  ::xercesc::DOMAttr& a (
54368  ::xsd::cxx::xml::dom::create_attribute (
54369  "value",
54370  e));
54371 
54372  a << i.value ();
54373  }
54374  }
54375 
54376  void
54377  operator<< (::xercesc::DOMElement& e, const Annotation& i)
54378  {
54379  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
54380  }
54381 
54382  void
54383  operator<< (::xercesc::DOMElement& e, const ComponentType& i)
54384  {
54385  e << static_cast< const ::xml_schema::type& > (i);
54386 
54387  // Property
54388  //
54390  b (i.Property ().begin ()), n (i.Property ().end ());
54391  b != n; ++b)
54392  {
54393  ::xercesc::DOMElement& s (
54394  ::xsd::cxx::xml::dom::create_element (
54395  "Property",
54396  "http://www.neuroml.org/schema/neuroml2",
54397  e));
54398 
54399  s << *b;
54400  }
54401 
54402  // Parameter
54403  //
54405  b (i.Parameter ().begin ()), n (i.Parameter ().end ());
54406  b != n; ++b)
54407  {
54408  ::xercesc::DOMElement& s (
54409  ::xsd::cxx::xml::dom::create_element (
54410  "Parameter",
54411  "http://www.neuroml.org/schema/neuroml2",
54412  e));
54413 
54414  s << *b;
54415  }
54416 
54417  // DerivedParameter
54418  //
54420  b (i.DerivedParameter ().begin ()), n (i.DerivedParameter ().end ());
54421  b != n; ++b)
54422  {
54423  ::xercesc::DOMElement& s (
54424  ::xsd::cxx::xml::dom::create_element (
54425  "DerivedParameter",
54426  "http://www.neuroml.org/schema/neuroml2",
54427  e));
54428 
54429  s << *b;
54430  }
54431 
54432  // Constant
54433  //
54435  b (i.Constant ().begin ()), n (i.Constant ().end ());
54436  b != n; ++b)
54437  {
54438  ::xercesc::DOMElement& s (
54439  ::xsd::cxx::xml::dom::create_element (
54440  "Constant",
54441  "http://www.neuroml.org/schema/neuroml2",
54442  e));
54443 
54444  s << *b;
54445  }
54446 
54447  // Exposure
54448  //
54450  b (i.Exposure ().begin ()), n (i.Exposure ().end ());
54451  b != n; ++b)
54452  {
54453  ::xercesc::DOMElement& s (
54454  ::xsd::cxx::xml::dom::create_element (
54455  "Exposure",
54456  "http://www.neuroml.org/schema/neuroml2",
54457  e));
54458 
54459  s << *b;
54460  }
54461 
54462  // Requirement
54463  //
54465  b (i.Requirement ().begin ()), n (i.Requirement ().end ());
54466  b != n; ++b)
54467  {
54468  ::xercesc::DOMElement& s (
54469  ::xsd::cxx::xml::dom::create_element (
54470  "Requirement",
54471  "http://www.neuroml.org/schema/neuroml2",
54472  e));
54473 
54474  s << *b;
54475  }
54476 
54477  // InstanceRequirement
54478  //
54480  b (i.InstanceRequirement ().begin ()), n (i.InstanceRequirement ().end ());
54481  b != n; ++b)
54482  {
54483  ::xercesc::DOMElement& s (
54484  ::xsd::cxx::xml::dom::create_element (
54485  "InstanceRequirement",
54486  "http://www.neuroml.org/schema/neuroml2",
54487  e));
54488 
54489  s << *b;
54490  }
54491 
54492  // Dynamics
54493  //
54495  b (i.Dynamics ().begin ()), n (i.Dynamics ().end ());
54496  b != n; ++b)
54497  {
54498  ::xercesc::DOMElement& s (
54499  ::xsd::cxx::xml::dom::create_element (
54500  "Dynamics",
54501  "http://www.neuroml.org/schema/neuroml2",
54502  e));
54503 
54504  s << *b;
54505  }
54506 
54507  // name
54508  //
54509  {
54510  ::xercesc::DOMAttr& a (
54511  ::xsd::cxx::xml::dom::create_attribute (
54512  "name",
54513  e));
54514 
54515  a << i.name ();
54516  }
54517 
54518  // extends
54519  //
54520  if (i.extends ())
54521  {
54522  ::xercesc::DOMAttr& a (
54523  ::xsd::cxx::xml::dom::create_attribute (
54524  "extends",
54525  e));
54526 
54527  a << *i.extends ();
54528  }
54529 
54530  // description
54531  //
54532  if (i.description ())
54533  {
54534  ::xercesc::DOMAttr& a (
54535  ::xsd::cxx::xml::dom::create_attribute (
54536  "description",
54537  e));
54538 
54539  a << *i.description ();
54540  }
54541  }
54542 
54543  void
54544  operator<< (::xercesc::DOMElement& e, const Constant& i)
54545  {
54546  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
54547 
54548  // name
54549  //
54550  {
54551  ::xercesc::DOMAttr& a (
54552  ::xsd::cxx::xml::dom::create_attribute (
54553  "name",
54554  e));
54555 
54556  a << i.name ();
54557  }
54558 
54559  // dimension
54560  //
54561  {
54562  ::xercesc::DOMAttr& a (
54563  ::xsd::cxx::xml::dom::create_attribute (
54564  "dimension",
54565  e));
54566 
54567  a << i.dimension ();
54568  }
54569 
54570  // value
54571  //
54572  {
54573  ::xercesc::DOMAttr& a (
54574  ::xsd::cxx::xml::dom::create_attribute (
54575  "value",
54576  e));
54577 
54578  a << i.value ();
54579  }
54580 
54581  // description
54582  //
54583  if (i.description ())
54584  {
54585  ::xercesc::DOMAttr& a (
54586  ::xsd::cxx::xml::dom::create_attribute (
54587  "description",
54588  e));
54589 
54590  a << *i.description ();
54591  }
54592  }
54593 
54594  void
54595  operator<< (::xercesc::DOMElement& e, const Exposure& i)
54596  {
54597  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
54598 
54599  // name
54600  //
54601  {
54602  ::xercesc::DOMAttr& a (
54603  ::xsd::cxx::xml::dom::create_attribute (
54604  "name",
54605  e));
54606 
54607  a << i.name ();
54608  }
54609 
54610  // dimension
54611  //
54612  {
54613  ::xercesc::DOMAttr& a (
54614  ::xsd::cxx::xml::dom::create_attribute (
54615  "dimension",
54616  e));
54617 
54618  a << i.dimension ();
54619  }
54620 
54621  // description
54622  //
54623  if (i.description ())
54624  {
54625  ::xercesc::DOMAttr& a (
54626  ::xsd::cxx::xml::dom::create_attribute (
54627  "description",
54628  e));
54629 
54630  a << *i.description ();
54631  }
54632  }
54633 
54634  void
54635  operator<< (::xercesc::DOMElement& e, const NamedDimensionalType& i)
54636  {
54637  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
54638 
54639  // name
54640  //
54641  {
54642  ::xercesc::DOMAttr& a (
54643  ::xsd::cxx::xml::dom::create_attribute (
54644  "name",
54645  e));
54646 
54647  a << i.name ();
54648  }
54649 
54650  // dimension
54651  //
54652  {
54653  ::xercesc::DOMAttr& a (
54654  ::xsd::cxx::xml::dom::create_attribute (
54655  "dimension",
54656  e));
54657 
54658  a << i.dimension ();
54659  }
54660 
54661  // description
54662  //
54663  if (i.description ())
54664  {
54665  ::xercesc::DOMAttr& a (
54666  ::xsd::cxx::xml::dom::create_attribute (
54667  "description",
54668  e));
54669 
54670  a << *i.description ();
54671  }
54672  }
54673 
54674  void
54675  operator<< (::xercesc::DOMElement& e, const NamedDimensionalVariable& i)
54676  {
54677  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
54678 
54679  // name
54680  //
54681  {
54682  ::xercesc::DOMAttr& a (
54683  ::xsd::cxx::xml::dom::create_attribute (
54684  "name",
54685  e));
54686 
54687  a << i.name ();
54688  }
54689 
54690  // dimension
54691  //
54692  {
54693  ::xercesc::DOMAttr& a (
54694  ::xsd::cxx::xml::dom::create_attribute (
54695  "dimension",
54696  e));
54697 
54698  a << i.dimension ();
54699  }
54700 
54701  // description
54702  //
54703  if (i.description ())
54704  {
54705  ::xercesc::DOMAttr& a (
54706  ::xsd::cxx::xml::dom::create_attribute (
54707  "description",
54708  e));
54709 
54710  a << *i.description ();
54711  }
54712 
54713  // exposure
54714  //
54715  if (i.exposure ())
54716  {
54717  ::xercesc::DOMAttr& a (
54718  ::xsd::cxx::xml::dom::create_attribute (
54719  "exposure",
54720  e));
54721 
54722  a << *i.exposure ();
54723  }
54724  }
54725 
54726  void
54727  operator<< (::xercesc::DOMElement& e, const Parameter& i)
54728  {
54729  e << static_cast< const ::neuroml2::NamedDimensionalType& > (i);
54730  }
54731 
54732  void
54733  operator<< (::xercesc::DOMElement& e, const DerivedParameter& i)
54734  {
54735  e << static_cast< const ::neuroml2::NamedDimensionalType& > (i);
54736 
54737  // value
54738  //
54739  {
54740  ::xercesc::DOMAttr& a (
54741  ::xsd::cxx::xml::dom::create_attribute (
54742  "value",
54743  e));
54744 
54745  a << i.value ();
54746  }
54747  }
54748 
54749  void
54750  operator<< (::xercesc::DOMElement& e, const LEMS_Property& i)
54751  {
54752  e << static_cast< const ::neuroml2::NamedDimensionalType& > (i);
54753 
54754  // defaultValue
54755  //
54756  if (i.defaultValue ())
54757  {
54758  ::xercesc::DOMAttr& a (
54759  ::xsd::cxx::xml::dom::create_attribute (
54760  "defaultValue",
54761  e));
54762 
54763  a << ::xml_schema::as_double(*i.defaultValue ());
54764  }
54765  }
54766 
54767  void
54768  operator<< (::xercesc::DOMElement& e, const Requirement& i)
54769  {
54770  e << static_cast< const ::neuroml2::NamedDimensionalType& > (i);
54771  }
54772 
54773  void
54774  operator<< (::xercesc::DOMElement& e, const InstanceRequirement& i)
54775  {
54776  e << static_cast< const ::xml_schema::type& > (i);
54777 
54778  // name
54779  //
54780  {
54781  ::xercesc::DOMAttr& a (
54782  ::xsd::cxx::xml::dom::create_attribute (
54783  "name",
54784  e));
54785 
54786  a << i.name ();
54787  }
54788 
54789  // type
54790  //
54791  {
54792  ::xercesc::DOMAttr& a (
54793  ::xsd::cxx::xml::dom::create_attribute (
54794  "type",
54795  e));
54796 
54797  a << i.type ();
54798  }
54799  }
54800 
54801  void
54802  operator<< (::xercesc::DOMElement& e, const Dynamics& i)
54803  {
54804  e << static_cast< const ::xml_schema::type& > (i);
54805 
54806  // StateVariable
54807  //
54809  b (i.StateVariable ().begin ()), n (i.StateVariable ().end ());
54810  b != n; ++b)
54811  {
54812  ::xercesc::DOMElement& s (
54813  ::xsd::cxx::xml::dom::create_element (
54814  "StateVariable",
54815  "http://www.neuroml.org/schema/neuroml2",
54816  e));
54817 
54818  s << *b;
54819  }
54820 
54821  // DerivedVariable
54822  //
54824  b (i.DerivedVariable ().begin ()), n (i.DerivedVariable ().end ());
54825  b != n; ++b)
54826  {
54827  ::xercesc::DOMElement& s (
54828  ::xsd::cxx::xml::dom::create_element (
54829  "DerivedVariable",
54830  "http://www.neuroml.org/schema/neuroml2",
54831  e));
54832 
54833  s << *b;
54834  }
54835 
54836  // ConditionalDerivedVariable
54837  //
54839  b (i.ConditionalDerivedVariable ().begin ()), n (i.ConditionalDerivedVariable ().end ());
54840  b != n; ++b)
54841  {
54842  ::xercesc::DOMElement& s (
54843  ::xsd::cxx::xml::dom::create_element (
54844  "ConditionalDerivedVariable",
54845  "http://www.neuroml.org/schema/neuroml2",
54846  e));
54847 
54848  s << *b;
54849  }
54850 
54851  // TimeDerivative
54852  //
54854  b (i.TimeDerivative ().begin ()), n (i.TimeDerivative ().end ());
54855  b != n; ++b)
54856  {
54857  ::xercesc::DOMElement& s (
54858  ::xsd::cxx::xml::dom::create_element (
54859  "TimeDerivative",
54860  "http://www.neuroml.org/schema/neuroml2",
54861  e));
54862 
54863  s << *b;
54864  }
54865 
54866  // OnStart
54867  //
54868  if (i.OnStart ())
54869  {
54870  ::xercesc::DOMElement& s (
54871  ::xsd::cxx::xml::dom::create_element (
54872  "OnStart",
54873  "http://www.neuroml.org/schema/neuroml2",
54874  e));
54875 
54876  s << *i.OnStart ();
54877  }
54878 
54879  // OnEvent
54880  //
54882  b (i.OnEvent ().begin ()), n (i.OnEvent ().end ());
54883  b != n; ++b)
54884  {
54885  ::xercesc::DOMElement& s (
54886  ::xsd::cxx::xml::dom::create_element (
54887  "OnEvent",
54888  "http://www.neuroml.org/schema/neuroml2",
54889  e));
54890 
54891  s << *b;
54892  }
54893 
54894  // OnCondition
54895  //
54897  b (i.OnCondition ().begin ()), n (i.OnCondition ().end ());
54898  b != n; ++b)
54899  {
54900  ::xercesc::DOMElement& s (
54901  ::xsd::cxx::xml::dom::create_element (
54902  "OnCondition",
54903  "http://www.neuroml.org/schema/neuroml2",
54904  e));
54905 
54906  s << *b;
54907  }
54908 
54909  // Regime
54910  //
54912  b (i.Regime ().begin ()), n (i.Regime ().end ());
54913  b != n; ++b)
54914  {
54915  ::xercesc::DOMElement& s (
54916  ::xsd::cxx::xml::dom::create_element (
54917  "Regime",
54918  "http://www.neuroml.org/schema/neuroml2",
54919  e));
54920 
54921  s << *b;
54922  }
54923  }
54924 
54925  void
54926  operator<< (::xercesc::DOMElement& e, const DerivedVariable& i)
54927  {
54928  e << static_cast< const ::neuroml2::NamedDimensionalVariable& > (i);
54929 
54930  // value
54931  //
54932  if (i.value ())
54933  {
54934  ::xercesc::DOMAttr& a (
54935  ::xsd::cxx::xml::dom::create_attribute (
54936  "value",
54937  e));
54938 
54939  a << *i.value ();
54940  }
54941 
54942  // select
54943  //
54944  if (i.select ())
54945  {
54946  ::xercesc::DOMAttr& a (
54947  ::xsd::cxx::xml::dom::create_attribute (
54948  "select",
54949  e));
54950 
54951  a << *i.select ();
54952  }
54953  }
54954 
54955  void
54956  operator<< (::xercesc::DOMElement& e, const StateVariable& i)
54957  {
54958  e << static_cast< const ::neuroml2::NamedDimensionalVariable& > (i);
54959  }
54960 
54961  void
54962  operator<< (::xercesc::DOMElement& e, const ConditionalDerivedVariable& i)
54963  {
54964  e << static_cast< const ::neuroml2::NamedDimensionalVariable& > (i);
54965 
54966  // Case
54967  //
54969  b (i.Case ().begin ()), n (i.Case ().end ());
54970  b != n; ++b)
54971  {
54972  ::xercesc::DOMElement& s (
54973  ::xsd::cxx::xml::dom::create_element (
54974  "Case",
54975  "http://www.neuroml.org/schema/neuroml2",
54976  e));
54977 
54978  s << *b;
54979  }
54980  }
54981 
54982  void
54983  operator<< (::xercesc::DOMElement& e, const Case& i)
54984  {
54985  e << static_cast< const ::xml_schema::type& > (i);
54986 
54987  // condition
54988  //
54989  if (i.condition ())
54990  {
54991  ::xercesc::DOMAttr& a (
54992  ::xsd::cxx::xml::dom::create_attribute (
54993  "condition",
54994  e));
54995 
54996  a << *i.condition ();
54997  }
54998 
54999  // value
55000  //
55001  {
55002  ::xercesc::DOMAttr& a (
55003  ::xsd::cxx::xml::dom::create_attribute (
55004  "value",
55005  e));
55006 
55007  a << i.value ();
55008  }
55009  }
55010 
55011  void
55012  operator<< (::xercesc::DOMElement& e, const TimeDerivative& i)
55013  {
55014  e << static_cast< const ::xml_schema::type& > (i);
55015 
55016  // variable
55017  //
55018  {
55019  ::xercesc::DOMAttr& a (
55020  ::xsd::cxx::xml::dom::create_attribute (
55021  "variable",
55022  e));
55023 
55024  a << i.variable ();
55025  }
55026 
55027  // value
55028  //
55029  {
55030  ::xercesc::DOMAttr& a (
55031  ::xsd::cxx::xml::dom::create_attribute (
55032  "value",
55033  e));
55034 
55035  a << i.value ();
55036  }
55037  }
55038 
55039  void
55040  operator<< (::xercesc::DOMElement& e, const OnStart& i)
55041  {
55042  e << static_cast< const ::xml_schema::type& > (i);
55043 
55044  // StateAssignment
55045  //
55047  b (i.StateAssignment ().begin ()), n (i.StateAssignment ().end ());
55048  b != n; ++b)
55049  {
55050  ::xercesc::DOMElement& s (
55051  ::xsd::cxx::xml::dom::create_element (
55052  "StateAssignment",
55053  "http://www.neuroml.org/schema/neuroml2",
55054  e));
55055 
55056  s << *b;
55057  }
55058  }
55059 
55060  void
55061  operator<< (::xercesc::DOMElement& e, const StateAssignment& i)
55062  {
55063  e << static_cast< const ::xml_schema::type& > (i);
55064 
55065  // variable
55066  //
55067  {
55068  ::xercesc::DOMAttr& a (
55069  ::xsd::cxx::xml::dom::create_attribute (
55070  "variable",
55071  e));
55072 
55073  a << i.variable ();
55074  }
55075 
55076  // value
55077  //
55078  {
55079  ::xercesc::DOMAttr& a (
55080  ::xsd::cxx::xml::dom::create_attribute (
55081  "value",
55082  e));
55083 
55084  a << i.value ();
55085  }
55086  }
55087 
55088  void
55089  operator<< (::xercesc::DOMElement& e, const OnEvent& i)
55090  {
55091  e << static_cast< const ::xml_schema::type& > (i);
55092 
55093  // StateAssignment
55094  //
55096  b (i.StateAssignment ().begin ()), n (i.StateAssignment ().end ());
55097  b != n; ++b)
55098  {
55099  ::xercesc::DOMElement& s (
55100  ::xsd::cxx::xml::dom::create_element (
55101  "StateAssignment",
55102  "http://www.neuroml.org/schema/neuroml2",
55103  e));
55104 
55105  s << *b;
55106  }
55107 
55108  // EventOut
55109  //
55111  b (i.EventOut ().begin ()), n (i.EventOut ().end ());
55112  b != n; ++b)
55113  {
55114  ::xercesc::DOMElement& s (
55115  ::xsd::cxx::xml::dom::create_element (
55116  "EventOut",
55117  "http://www.neuroml.org/schema/neuroml2",
55118  e));
55119 
55120  s << *b;
55121  }
55122 
55123  // port
55124  //
55125  {
55126  ::xercesc::DOMAttr& a (
55127  ::xsd::cxx::xml::dom::create_attribute (
55128  "port",
55129  e));
55130 
55131  a << i.port ();
55132  }
55133  }
55134 
55135  void
55136  operator<< (::xercesc::DOMElement& e, const EventOut& i)
55137  {
55138  e << static_cast< const ::xml_schema::type& > (i);
55139 
55140  // port
55141  //
55142  {
55143  ::xercesc::DOMAttr& a (
55144  ::xsd::cxx::xml::dom::create_attribute (
55145  "port",
55146  e));
55147 
55148  a << i.port ();
55149  }
55150  }
55151 
55152  void
55153  operator<< (::xercesc::DOMElement& e, const OnCondition& i)
55154  {
55155  e << static_cast< const ::xml_schema::type& > (i);
55156 
55157  // StateAssignment
55158  //
55160  b (i.StateAssignment ().begin ()), n (i.StateAssignment ().end ());
55161  b != n; ++b)
55162  {
55163  ::xercesc::DOMElement& s (
55164  ::xsd::cxx::xml::dom::create_element (
55165  "StateAssignment",
55166  "http://www.neuroml.org/schema/neuroml2",
55167  e));
55168 
55169  s << *b;
55170  }
55171 
55172  // EventOut
55173  //
55175  b (i.EventOut ().begin ()), n (i.EventOut ().end ());
55176  b != n; ++b)
55177  {
55178  ::xercesc::DOMElement& s (
55179  ::xsd::cxx::xml::dom::create_element (
55180  "EventOut",
55181  "http://www.neuroml.org/schema/neuroml2",
55182  e));
55183 
55184  s << *b;
55185  }
55186 
55187  // Transition
55188  //
55189  if (i.Transition ())
55190  {
55191  ::xercesc::DOMElement& s (
55192  ::xsd::cxx::xml::dom::create_element (
55193  "Transition",
55194  "http://www.neuroml.org/schema/neuroml2",
55195  e));
55196 
55197  s << *i.Transition ();
55198  }
55199 
55200  // test
55201  //
55202  {
55203  ::xercesc::DOMAttr& a (
55204  ::xsd::cxx::xml::dom::create_attribute (
55205  "test",
55206  e));
55207 
55208  a << i.test ();
55209  }
55210  }
55211 
55212  void
55213  operator<< (::xercesc::DOMElement& e, const Transition& i)
55214  {
55215  e << static_cast< const ::xml_schema::type& > (i);
55216 
55217  // regime
55218  //
55219  {
55220  ::xercesc::DOMAttr& a (
55221  ::xsd::cxx::xml::dom::create_attribute (
55222  "regime",
55223  e));
55224 
55225  a << i.regime ();
55226  }
55227  }
55228 
55229  void
55230  operator<< (::xercesc::DOMElement& e, const Regime& i)
55231  {
55232  e << static_cast< const ::xml_schema::type& > (i);
55233 
55234  // TimeDerivative
55235  //
55237  b (i.TimeDerivative ().begin ()), n (i.TimeDerivative ().end ());
55238  b != n; ++b)
55239  {
55240  ::xercesc::DOMElement& s (
55241  ::xsd::cxx::xml::dom::create_element (
55242  "TimeDerivative",
55243  "http://www.neuroml.org/schema/neuroml2",
55244  e));
55245 
55246  s << *b;
55247  }
55248 
55249  // OnEntry
55250  //
55251  if (i.OnEntry ())
55252  {
55253  ::xercesc::DOMElement& s (
55254  ::xsd::cxx::xml::dom::create_element (
55255  "OnEntry",
55256  "http://www.neuroml.org/schema/neuroml2",
55257  e));
55258 
55259  s << *i.OnEntry ();
55260  }
55261 
55262  // OnCondition
55263  //
55265  b (i.OnCondition ().begin ()), n (i.OnCondition ().end ());
55266  b != n; ++b)
55267  {
55268  ::xercesc::DOMElement& s (
55269  ::xsd::cxx::xml::dom::create_element (
55270  "OnCondition",
55271  "http://www.neuroml.org/schema/neuroml2",
55272  e));
55273 
55274  s << *b;
55275  }
55276 
55277  // name
55278  //
55279  {
55280  ::xercesc::DOMAttr& a (
55281  ::xsd::cxx::xml::dom::create_attribute (
55282  "name",
55283  e));
55284 
55285  a << i.name ();
55286  }
55287 
55288  // initial
55289  //
55290  if (i.initial ())
55291  {
55292  ::xercesc::DOMAttr& a (
55293  ::xsd::cxx::xml::dom::create_attribute (
55294  "initial",
55295  e));
55296 
55297  a << *i.initial ();
55298  }
55299  }
55300 
55301  void
55302  operator<< (::xercesc::DOMElement& e, const OnEntry& i)
55303  {
55304  e << static_cast< const ::xml_schema::type& > (i);
55305 
55306  // StateAssignment
55307  //
55309  b (i.StateAssignment ().begin ()), n (i.StateAssignment ().end ());
55310  b != n; ++b)
55311  {
55312  ::xercesc::DOMElement& s (
55313  ::xsd::cxx::xml::dom::create_element (
55314  "StateAssignment",
55315  "http://www.neuroml.org/schema/neuroml2",
55316  e));
55317 
55318  s << *b;
55319  }
55320  }
55321 
55322  void
55323  operator<< (::xercesc::DOMElement& e, const TrueOrFalse& i)
55324  {
55325  e << static_cast< const ::xml_schema::string& > (i);
55326  }
55327 
55328  void
55329  operator<< (::xercesc::DOMAttr& a, const TrueOrFalse& i)
55330  {
55331  a << static_cast< const ::xml_schema::string& > (i);
55332  }
55333 
55334  void
55335  operator<< (::xml_schema::list_stream& l,
55336  const TrueOrFalse& i)
55337  {
55338  l << static_cast< const ::xml_schema::string& > (i);
55339  }
55340 
55341  void
55342  operator<< (::xercesc::DOMElement& e, const ZeroToOne& i)
55343  {
55344  e << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::float_, char, ::xml_schema::simple_type >& > (i);
55345  }
55346 
55347  void
55348  operator<< (::xercesc::DOMAttr& a, const ZeroToOne& i)
55349  {
55350  a << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::float_, char, ::xml_schema::simple_type >& > (i);
55351  }
55352 
55353  void
55354  operator<< (::xml_schema::list_stream& l,
55355  const ZeroToOne& i)
55356  {
55357  l << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::float_, char, ::xml_schema::simple_type >& > (i);
55358  }
55359 
55360  void
55361  neuroml (::std::ostream& o,
55362  const ::neuroml2::NeuroMLDocument& s,
55365  ::xml_schema::flags f)
55366  {
55367  ::xsd::cxx::xml::auto_initializer i (
55368  (f & ::xml_schema::flags::dont_initialize) == 0);
55369 
55370  ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
55371  ::neuroml2::neuroml (s, m, f));
55372 
55373  ::xsd::cxx::tree::error_handler< char > h;
55374 
55375  ::xsd::cxx::xml::dom::ostream_format_target t (o);
55376  if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
55377  {
55378  h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > ();
55379  }
55380  }
55381 
55382  void
55383  neuroml (::std::ostream& o,
55384  const ::neuroml2::NeuroMLDocument& s,
55388  ::xml_schema::flags f)
55389  {
55390  ::xsd::cxx::xml::auto_initializer i (
55391  (f & ::xml_schema::flags::dont_initialize) == 0);
55392 
55393  ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
55394  ::neuroml2::neuroml (s, m, f));
55395  ::xsd::cxx::xml::dom::ostream_format_target t (o);
55396  if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
55397  {
55398  throw ::xsd::cxx::tree::serialization< char > ();
55399  }
55400  }
55401 
55402  void
55403  neuroml (::std::ostream& o,
55404  const ::neuroml2::NeuroMLDocument& s,
55405  ::xercesc::DOMErrorHandler& h,
55408  ::xml_schema::flags f)
55409  {
55410  ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
55411  ::neuroml2::neuroml (s, m, f));
55412  ::xsd::cxx::xml::dom::ostream_format_target t (o);
55413  if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
55414  {
55415  throw ::xsd::cxx::tree::serialization< char > ();
55416  }
55417  }
55418 
55419  void
55420  neuroml (::xercesc::XMLFormatTarget& t,
55421  const ::neuroml2::NeuroMLDocument& s,
55424  ::xml_schema::flags f)
55425  {
55426  ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
55427  ::neuroml2::neuroml (s, m, f));
55428 
55429  ::xsd::cxx::tree::error_handler< char > h;
55430 
55431  if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
55432  {
55433  h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > ();
55434  }
55435  }
55436 
55437  void
55438  neuroml (::xercesc::XMLFormatTarget& t,
55439  const ::neuroml2::NeuroMLDocument& s,
55443  ::xml_schema::flags f)
55444  {
55445  ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
55446  ::neuroml2::neuroml (s, m, f));
55447  if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
55448  {
55449  throw ::xsd::cxx::tree::serialization< char > ();
55450  }
55451  }
55452 
55453  void
55454  neuroml (::xercesc::XMLFormatTarget& t,
55455  const ::neuroml2::NeuroMLDocument& s,
55456  ::xercesc::DOMErrorHandler& h,
55459  ::xml_schema::flags f)
55460  {
55461  ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
55462  ::neuroml2::neuroml (s, m, f));
55463  if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
55464  {
55465  throw ::xsd::cxx::tree::serialization< char > ();
55466  }
55467  }
55468 
55469  void
55470  neuroml (::xercesc::DOMDocument& d,
55471  const ::neuroml2::NeuroMLDocument& s,
55473  {
55474  ::xercesc::DOMElement& e (*d.getDocumentElement ());
55475  const ::xsd::cxx::xml::qualified_name< char > n (
55476  ::xsd::cxx::xml::dom::name< char > (e));
55477 
55478  if (n.name () == "neuroml" &&
55479  n.namespace_ () == "http://www.neuroml.org/schema/neuroml2")
55480  {
55481  e << s;
55482  }
55483  else
55484  {
55485  throw ::xsd::cxx::tree::unexpected_element < char > (
55486  n.name (),
55487  n.namespace_ (),
55488  "neuroml",
55489  "http://www.neuroml.org/schema/neuroml2");
55490  }
55491  }
55492 
55493  ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument >
55494  neuroml (const ::neuroml2::NeuroMLDocument& s,
55496  ::xml_schema::flags f)
55497  {
55498  ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
55499  ::xsd::cxx::xml::dom::serialize< char > (
55500  "neuroml",
55501  "http://www.neuroml.org/schema/neuroml2",
55502  m, f));
55503 
55504  ::neuroml2::neuroml (*d, s, f);
55505  return d;
55506  }
55507 
55508  void
55509  operator<< (::xercesc::DOMElement& e, const Base& i)
55510  {
55511  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
55512 
55513  // id
55514  //
55515  {
55516  ::xercesc::DOMAttr& a (
55517  ::xsd::cxx::xml::dom::create_attribute (
55518  "id",
55519  e));
55520 
55521  a << i.id ();
55522  }
55523  }
55524 
55525  void
55526  operator<< (::xercesc::DOMElement& e, const Standalone& i)
55527  {
55528  e << static_cast< const ::neuroml2::Base& > (i);
55529 
55530  // notes
55531  //
55532  if (i.notes ())
55533  {
55534  ::xercesc::DOMElement& s (
55535  ::xsd::cxx::xml::dom::create_element (
55536  "notes",
55537  "http://www.neuroml.org/schema/neuroml2",
55538  e));
55539 
55540  s << *i.notes ();
55541  }
55542 
55543  // property
55544  //
55546  b (i.property ().begin ()), n (i.property ().end ());
55547  b != n; ++b)
55548  {
55549  ::xercesc::DOMElement& s (
55550  ::xsd::cxx::xml::dom::create_element (
55551  "property",
55552  "http://www.neuroml.org/schema/neuroml2",
55553  e));
55554 
55555  s << *b;
55556  }
55557 
55558  // annotation
55559  //
55560  if (i.annotation ())
55561  {
55562  ::xercesc::DOMElement& s (
55563  ::xsd::cxx::xml::dom::create_element (
55564  "annotation",
55565  "http://www.neuroml.org/schema/neuroml2",
55566  e));
55567 
55568  s << *i.annotation ();
55569  }
55570 
55571  // metaid
55572  //
55573  if (i.metaid ())
55574  {
55575  ::xercesc::DOMAttr& a (
55576  ::xsd::cxx::xml::dom::create_attribute (
55577  "metaid",
55578  e));
55579 
55580  a << *i.metaid ();
55581  }
55582  }
55583 
55584  void
55585  operator<< (::xercesc::DOMElement& e, const NeuroMLDocument_base& i)
55586  {
55587  e << static_cast< const ::neuroml2::Standalone& > (i);
55588 
55589  // include
55590  //
55592  b (i.include ().begin ()), n (i.include ().end ());
55593  b != n; ++b)
55594  {
55595  ::xercesc::DOMElement& s (
55596  ::xsd::cxx::xml::dom::create_element (
55597  "include",
55598  "http://www.neuroml.org/schema/neuroml2",
55599  e));
55600 
55601  s << *b;
55602  }
55603 
55604  // extracellularProperties
55605  //
55607  b (i.extracellularProperties ().begin ()), n (i.extracellularProperties ().end ());
55608  b != n; ++b)
55609  {
55610  ::xercesc::DOMElement& s (
55611  ::xsd::cxx::xml::dom::create_element (
55612  "extracellularProperties",
55613  "http://www.neuroml.org/schema/neuroml2",
55614  e));
55615 
55616  s << *b;
55617  }
55618 
55619  // intracellularProperties
55620  //
55622  b (i.intracellularProperties ().begin ()), n (i.intracellularProperties ().end ());
55623  b != n; ++b)
55624  {
55625  ::xercesc::DOMElement& s (
55626  ::xsd::cxx::xml::dom::create_element (
55627  "intracellularProperties",
55628  "http://www.neuroml.org/schema/neuroml2",
55629  e));
55630 
55631  s << *b;
55632  }
55633 
55634  // morphology
55635  //
55637  b (i.morphology ().begin ()), n (i.morphology ().end ());
55638  b != n; ++b)
55639  {
55640  ::xercesc::DOMElement& s (
55641  ::xsd::cxx::xml::dom::create_element (
55642  "morphology",
55643  "http://www.neuroml.org/schema/neuroml2",
55644  e));
55645 
55646  s << *b;
55647  }
55648 
55649  // ionChannel
55650  //
55652  b (i.ionChannel ().begin ()), n (i.ionChannel ().end ());
55653  b != n; ++b)
55654  {
55655  ::xercesc::DOMElement& s (
55656  ::xsd::cxx::xml::dom::create_element (
55657  "ionChannel",
55658  "http://www.neuroml.org/schema/neuroml2",
55659  e));
55660 
55661  s << *b;
55662  }
55663 
55664  // ionChannelHH
55665  //
55667  b (i.ionChannelHH ().begin ()), n (i.ionChannelHH ().end ());
55668  b != n; ++b)
55669  {
55670  ::xercesc::DOMElement& s (
55671  ::xsd::cxx::xml::dom::create_element (
55672  "ionChannelHH",
55673  "http://www.neuroml.org/schema/neuroml2",
55674  e));
55675 
55676  s << *b;
55677  }
55678 
55679  // ionChannelVShift
55680  //
55682  b (i.ionChannelVShift ().begin ()), n (i.ionChannelVShift ().end ());
55683  b != n; ++b)
55684  {
55685  ::xercesc::DOMElement& s (
55686  ::xsd::cxx::xml::dom::create_element (
55687  "ionChannelVShift",
55688  "http://www.neuroml.org/schema/neuroml2",
55689  e));
55690 
55691  s << *b;
55692  }
55693 
55694  // ionChannelKS
55695  //
55697  b (i.ionChannelKS ().begin ()), n (i.ionChannelKS ().end ());
55698  b != n; ++b)
55699  {
55700  ::xercesc::DOMElement& s (
55701  ::xsd::cxx::xml::dom::create_element (
55702  "ionChannelKS",
55703  "http://www.neuroml.org/schema/neuroml2",
55704  e));
55705 
55706  s << *b;
55707  }
55708 
55709  // decayingPoolConcentrationModel
55710  //
55712  b (i.decayingPoolConcentrationModel ().begin ()), n (i.decayingPoolConcentrationModel ().end ());
55713  b != n; ++b)
55714  {
55715  ::xercesc::DOMElement& s (
55716  ::xsd::cxx::xml::dom::create_element (
55717  "decayingPoolConcentrationModel",
55718  "http://www.neuroml.org/schema/neuroml2",
55719  e));
55720 
55721  s << *b;
55722  }
55723 
55724  // fixedFactorConcentrationModel
55725  //
55727  b (i.fixedFactorConcentrationModel ().begin ()), n (i.fixedFactorConcentrationModel ().end ());
55728  b != n; ++b)
55729  {
55730  ::xercesc::DOMElement& s (
55731  ::xsd::cxx::xml::dom::create_element (
55732  "fixedFactorConcentrationModel",
55733  "http://www.neuroml.org/schema/neuroml2",
55734  e));
55735 
55736  s << *b;
55737  }
55738 
55739  // alphaCurrentSynapse
55740  //
55742  b (i.alphaCurrentSynapse ().begin ()), n (i.alphaCurrentSynapse ().end ());
55743  b != n; ++b)
55744  {
55745  ::xercesc::DOMElement& s (
55746  ::xsd::cxx::xml::dom::create_element (
55747  "alphaCurrentSynapse",
55748  "http://www.neuroml.org/schema/neuroml2",
55749  e));
55750 
55751  s << *b;
55752  }
55753 
55754  // alphaSynapse
55755  //
55757  b (i.alphaSynapse ().begin ()), n (i.alphaSynapse ().end ());
55758  b != n; ++b)
55759  {
55760  ::xercesc::DOMElement& s (
55761  ::xsd::cxx::xml::dom::create_element (
55762  "alphaSynapse",
55763  "http://www.neuroml.org/schema/neuroml2",
55764  e));
55765 
55766  s << *b;
55767  }
55768 
55769  // expOneSynapse
55770  //
55772  b (i.expOneSynapse ().begin ()), n (i.expOneSynapse ().end ());
55773  b != n; ++b)
55774  {
55775  ::xercesc::DOMElement& s (
55776  ::xsd::cxx::xml::dom::create_element (
55777  "expOneSynapse",
55778  "http://www.neuroml.org/schema/neuroml2",
55779  e));
55780 
55781  s << *b;
55782  }
55783 
55784  // expTwoSynapse
55785  //
55787  b (i.expTwoSynapse ().begin ()), n (i.expTwoSynapse ().end ());
55788  b != n; ++b)
55789  {
55790  ::xercesc::DOMElement& s (
55791  ::xsd::cxx::xml::dom::create_element (
55792  "expTwoSynapse",
55793  "http://www.neuroml.org/schema/neuroml2",
55794  e));
55795 
55796  s << *b;
55797  }
55798 
55799  // expThreeSynapse
55800  //
55802  b (i.expThreeSynapse ().begin ()), n (i.expThreeSynapse ().end ());
55803  b != n; ++b)
55804  {
55805  ::xercesc::DOMElement& s (
55806  ::xsd::cxx::xml::dom::create_element (
55807  "expThreeSynapse",
55808  "http://www.neuroml.org/schema/neuroml2",
55809  e));
55810 
55811  s << *b;
55812  }
55813 
55814  // blockingPlasticSynapse
55815  //
55817  b (i.blockingPlasticSynapse ().begin ()), n (i.blockingPlasticSynapse ().end ());
55818  b != n; ++b)
55819  {
55820  ::xercesc::DOMElement& s (
55821  ::xsd::cxx::xml::dom::create_element (
55822  "blockingPlasticSynapse",
55823  "http://www.neuroml.org/schema/neuroml2",
55824  e));
55825 
55826  s << *b;
55827  }
55828 
55829  // doubleSynapse
55830  //
55832  b (i.doubleSynapse ().begin ()), n (i.doubleSynapse ().end ());
55833  b != n; ++b)
55834  {
55835  ::xercesc::DOMElement& s (
55836  ::xsd::cxx::xml::dom::create_element (
55837  "doubleSynapse",
55838  "http://www.neuroml.org/schema/neuroml2",
55839  e));
55840 
55841  s << *b;
55842  }
55843 
55844  // gapJunction
55845  //
55847  b (i.gapJunction ().begin ()), n (i.gapJunction ().end ());
55848  b != n; ++b)
55849  {
55850  ::xercesc::DOMElement& s (
55851  ::xsd::cxx::xml::dom::create_element (
55852  "gapJunction",
55853  "http://www.neuroml.org/schema/neuroml2",
55854  e));
55855 
55856  s << *b;
55857  }
55858 
55859  // silentSynapse
55860  //
55862  b (i.silentSynapse ().begin ()), n (i.silentSynapse ().end ());
55863  b != n; ++b)
55864  {
55865  ::xercesc::DOMElement& s (
55866  ::xsd::cxx::xml::dom::create_element (
55867  "silentSynapse",
55868  "http://www.neuroml.org/schema/neuroml2",
55869  e));
55870 
55871  s << *b;
55872  }
55873 
55874  // linearGradedSynapse
55875  //
55877  b (i.linearGradedSynapse ().begin ()), n (i.linearGradedSynapse ().end ());
55878  b != n; ++b)
55879  {
55880  ::xercesc::DOMElement& s (
55881  ::xsd::cxx::xml::dom::create_element (
55882  "linearGradedSynapse",
55883  "http://www.neuroml.org/schema/neuroml2",
55884  e));
55885 
55886  s << *b;
55887  }
55888 
55889  // gradedSynapse
55890  //
55892  b (i.gradedSynapse ().begin ()), n (i.gradedSynapse ().end ());
55893  b != n; ++b)
55894  {
55895  ::xercesc::DOMElement& s (
55896  ::xsd::cxx::xml::dom::create_element (
55897  "gradedSynapse",
55898  "http://www.neuroml.org/schema/neuroml2",
55899  e));
55900 
55901  s << *b;
55902  }
55903 
55904  // biophysicalProperties
55905  //
55907  b (i.biophysicalProperties ().begin ()), n (i.biophysicalProperties ().end ());
55908  b != n; ++b)
55909  {
55910  ::xercesc::DOMElement& s (
55911  ::xsd::cxx::xml::dom::create_element (
55912  "biophysicalProperties",
55913  "http://www.neuroml.org/schema/neuroml2",
55914  e));
55915 
55916  s << *b;
55917  }
55918 
55919  // cell
55920  //
55922  b (i.cell ().begin ()), n (i.cell ().end ());
55923  b != n; ++b)
55924  {
55925  ::xercesc::DOMElement& s (
55926  ::xsd::cxx::xml::dom::create_element (
55927  "cell",
55928  "http://www.neuroml.org/schema/neuroml2",
55929  e));
55930 
55931  s << *b;
55932  }
55933 
55934  // cell2CaPools
55935  //
55937  b (i.cell2CaPools ().begin ()), n (i.cell2CaPools ().end ());
55938  b != n; ++b)
55939  {
55940  ::xercesc::DOMElement& s (
55941  ::xsd::cxx::xml::dom::create_element (
55942  "cell2CaPools",
55943  "http://www.neuroml.org/schema/neuroml2",
55944  e));
55945 
55946  s << *b;
55947  }
55948 
55949  // baseCell
55950  //
55952  b (i.baseCell ().begin ()), n (i.baseCell ().end ());
55953  b != n; ++b)
55954  {
55955  ::xercesc::DOMElement& s (
55956  ::xsd::cxx::xml::dom::create_element (
55957  "baseCell",
55958  "http://www.neuroml.org/schema/neuroml2",
55959  e));
55960 
55961  s << *b;
55962  }
55963 
55964  // iafTauCell
55965  //
55967  b (i.iafTauCell ().begin ()), n (i.iafTauCell ().end ());
55968  b != n; ++b)
55969  {
55970  ::xercesc::DOMElement& s (
55971  ::xsd::cxx::xml::dom::create_element (
55972  "iafTauCell",
55973  "http://www.neuroml.org/schema/neuroml2",
55974  e));
55975 
55976  s << *b;
55977  }
55978 
55979  // iafTauRefCell
55980  //
55982  b (i.iafTauRefCell ().begin ()), n (i.iafTauRefCell ().end ());
55983  b != n; ++b)
55984  {
55985  ::xercesc::DOMElement& s (
55986  ::xsd::cxx::xml::dom::create_element (
55987  "iafTauRefCell",
55988  "http://www.neuroml.org/schema/neuroml2",
55989  e));
55990 
55991  s << *b;
55992  }
55993 
55994  // iafCell
55995  //
55997  b (i.iafCell ().begin ()), n (i.iafCell ().end ());
55998  b != n; ++b)
55999  {
56000  ::xercesc::DOMElement& s (
56001  ::xsd::cxx::xml::dom::create_element (
56002  "iafCell",
56003  "http://www.neuroml.org/schema/neuroml2",
56004  e));
56005 
56006  s << *b;
56007  }
56008 
56009  // iafRefCell
56010  //
56012  b (i.iafRefCell ().begin ()), n (i.iafRefCell ().end ());
56013  b != n; ++b)
56014  {
56015  ::xercesc::DOMElement& s (
56016  ::xsd::cxx::xml::dom::create_element (
56017  "iafRefCell",
56018  "http://www.neuroml.org/schema/neuroml2",
56019  e));
56020 
56021  s << *b;
56022  }
56023 
56024  // izhikevichCell
56025  //
56027  b (i.izhikevichCell ().begin ()), n (i.izhikevichCell ().end ());
56028  b != n; ++b)
56029  {
56030  ::xercesc::DOMElement& s (
56031  ::xsd::cxx::xml::dom::create_element (
56032  "izhikevichCell",
56033  "http://www.neuroml.org/schema/neuroml2",
56034  e));
56035 
56036  s << *b;
56037  }
56038 
56039  // izhikevich2007Cell
56040  //
56042  b (i.izhikevich2007Cell ().begin ()), n (i.izhikevich2007Cell ().end ());
56043  b != n; ++b)
56044  {
56045  ::xercesc::DOMElement& s (
56046  ::xsd::cxx::xml::dom::create_element (
56047  "izhikevich2007Cell",
56048  "http://www.neuroml.org/schema/neuroml2",
56049  e));
56050 
56051  s << *b;
56052  }
56053 
56054  // adExIaFCell
56055  //
56057  b (i.adExIaFCell ().begin ()), n (i.adExIaFCell ().end ());
56058  b != n; ++b)
56059  {
56060  ::xercesc::DOMElement& s (
56061  ::xsd::cxx::xml::dom::create_element (
56062  "adExIaFCell",
56063  "http://www.neuroml.org/schema/neuroml2",
56064  e));
56065 
56066  s << *b;
56067  }
56068 
56069  // fitzHughNagumoCell
56070  //
56072  b (i.fitzHughNagumoCell ().begin ()), n (i.fitzHughNagumoCell ().end ());
56073  b != n; ++b)
56074  {
56075  ::xercesc::DOMElement& s (
56076  ::xsd::cxx::xml::dom::create_element (
56077  "fitzHughNagumoCell",
56078  "http://www.neuroml.org/schema/neuroml2",
56079  e));
56080 
56081  s << *b;
56082  }
56083 
56084  // fitzHughNagumo1969Cell
56085  //
56087  b (i.fitzHughNagumo1969Cell ().begin ()), n (i.fitzHughNagumo1969Cell ().end ());
56088  b != n; ++b)
56089  {
56090  ::xercesc::DOMElement& s (
56091  ::xsd::cxx::xml::dom::create_element (
56092  "fitzHughNagumo1969Cell",
56093  "http://www.neuroml.org/schema/neuroml2",
56094  e));
56095 
56096  s << *b;
56097  }
56098 
56099  // pinskyRinzelCA3Cell
56100  //
56102  b (i.pinskyRinzelCA3Cell ().begin ()), n (i.pinskyRinzelCA3Cell ().end ());
56103  b != n; ++b)
56104  {
56105  ::xercesc::DOMElement& s (
56106  ::xsd::cxx::xml::dom::create_element (
56107  "pinskyRinzelCA3Cell",
56108  "http://www.neuroml.org/schema/neuroml2",
56109  e));
56110 
56111  s << *b;
56112  }
56113 
56114  // hindmarshRose1984Cell
56115  //
56117  b (i.hindmarshRose1984Cell ().begin ()), n (i.hindmarshRose1984Cell ().end ());
56118  b != n; ++b)
56119  {
56120  ::xercesc::DOMElement& s (
56121  ::xsd::cxx::xml::dom::create_element (
56122  "hindmarshRose1984Cell",
56123  "http://www.neuroml.org/schema/neuroml2",
56124  e));
56125 
56126  s << *b;
56127  }
56128 
56129  // pulseGenerator
56130  //
56132  b (i.pulseGenerator ().begin ()), n (i.pulseGenerator ().end ());
56133  b != n; ++b)
56134  {
56135  ::xercesc::DOMElement& s (
56136  ::xsd::cxx::xml::dom::create_element (
56137  "pulseGenerator",
56138  "http://www.neuroml.org/schema/neuroml2",
56139  e));
56140 
56141  s << *b;
56142  }
56143 
56144  // pulseGeneratorDL
56145  //
56147  b (i.pulseGeneratorDL ().begin ()), n (i.pulseGeneratorDL ().end ());
56148  b != n; ++b)
56149  {
56150  ::xercesc::DOMElement& s (
56151  ::xsd::cxx::xml::dom::create_element (
56152  "pulseGeneratorDL",
56153  "http://www.neuroml.org/schema/neuroml2",
56154  e));
56155 
56156  s << *b;
56157  }
56158 
56159  // sineGenerator
56160  //
56162  b (i.sineGenerator ().begin ()), n (i.sineGenerator ().end ());
56163  b != n; ++b)
56164  {
56165  ::xercesc::DOMElement& s (
56166  ::xsd::cxx::xml::dom::create_element (
56167  "sineGenerator",
56168  "http://www.neuroml.org/schema/neuroml2",
56169  e));
56170 
56171  s << *b;
56172  }
56173 
56174  // sineGeneratorDL
56175  //
56177  b (i.sineGeneratorDL ().begin ()), n (i.sineGeneratorDL ().end ());
56178  b != n; ++b)
56179  {
56180  ::xercesc::DOMElement& s (
56181  ::xsd::cxx::xml::dom::create_element (
56182  "sineGeneratorDL",
56183  "http://www.neuroml.org/schema/neuroml2",
56184  e));
56185 
56186  s << *b;
56187  }
56188 
56189  // rampGenerator
56190  //
56192  b (i.rampGenerator ().begin ()), n (i.rampGenerator ().end ());
56193  b != n; ++b)
56194  {
56195  ::xercesc::DOMElement& s (
56196  ::xsd::cxx::xml::dom::create_element (
56197  "rampGenerator",
56198  "http://www.neuroml.org/schema/neuroml2",
56199  e));
56200 
56201  s << *b;
56202  }
56203 
56204  // rampGeneratorDL
56205  //
56207  b (i.rampGeneratorDL ().begin ()), n (i.rampGeneratorDL ().end ());
56208  b != n; ++b)
56209  {
56210  ::xercesc::DOMElement& s (
56211  ::xsd::cxx::xml::dom::create_element (
56212  "rampGeneratorDL",
56213  "http://www.neuroml.org/schema/neuroml2",
56214  e));
56215 
56216  s << *b;
56217  }
56218 
56219  // compoundInput
56220  //
56222  b (i.compoundInput ().begin ()), n (i.compoundInput ().end ());
56223  b != n; ++b)
56224  {
56225  ::xercesc::DOMElement& s (
56226  ::xsd::cxx::xml::dom::create_element (
56227  "compoundInput",
56228  "http://www.neuroml.org/schema/neuroml2",
56229  e));
56230 
56231  s << *b;
56232  }
56233 
56234  // compoundInputDL
56235  //
56237  b (i.compoundInputDL ().begin ()), n (i.compoundInputDL ().end ());
56238  b != n; ++b)
56239  {
56240  ::xercesc::DOMElement& s (
56241  ::xsd::cxx::xml::dom::create_element (
56242  "compoundInputDL",
56243  "http://www.neuroml.org/schema/neuroml2",
56244  e));
56245 
56246  s << *b;
56247  }
56248 
56249  // voltageClamp
56250  //
56252  b (i.voltageClamp ().begin ()), n (i.voltageClamp ().end ());
56253  b != n; ++b)
56254  {
56255  ::xercesc::DOMElement& s (
56256  ::xsd::cxx::xml::dom::create_element (
56257  "voltageClamp",
56258  "http://www.neuroml.org/schema/neuroml2",
56259  e));
56260 
56261  s << *b;
56262  }
56263 
56264  // voltageClampTriple
56265  //
56267  b (i.voltageClampTriple ().begin ()), n (i.voltageClampTriple ().end ());
56268  b != n; ++b)
56269  {
56270  ::xercesc::DOMElement& s (
56271  ::xsd::cxx::xml::dom::create_element (
56272  "voltageClampTriple",
56273  "http://www.neuroml.org/schema/neuroml2",
56274  e));
56275 
56276  s << *b;
56277  }
56278 
56279  // spikeArray
56280  //
56282  b (i.spikeArray ().begin ()), n (i.spikeArray ().end ());
56283  b != n; ++b)
56284  {
56285  ::xercesc::DOMElement& s (
56286  ::xsd::cxx::xml::dom::create_element (
56287  "spikeArray",
56288  "http://www.neuroml.org/schema/neuroml2",
56289  e));
56290 
56291  s << *b;
56292  }
56293 
56294  // timedSynapticInput
56295  //
56297  b (i.timedSynapticInput ().begin ()), n (i.timedSynapticInput ().end ());
56298  b != n; ++b)
56299  {
56300  ::xercesc::DOMElement& s (
56301  ::xsd::cxx::xml::dom::create_element (
56302  "timedSynapticInput",
56303  "http://www.neuroml.org/schema/neuroml2",
56304  e));
56305 
56306  s << *b;
56307  }
56308 
56309  // spikeGenerator
56310  //
56312  b (i.spikeGenerator ().begin ()), n (i.spikeGenerator ().end ());
56313  b != n; ++b)
56314  {
56315  ::xercesc::DOMElement& s (
56316  ::xsd::cxx::xml::dom::create_element (
56317  "spikeGenerator",
56318  "http://www.neuroml.org/schema/neuroml2",
56319  e));
56320 
56321  s << *b;
56322  }
56323 
56324  // spikeGeneratorRandom
56325  //
56327  b (i.spikeGeneratorRandom ().begin ()), n (i.spikeGeneratorRandom ().end ());
56328  b != n; ++b)
56329  {
56330  ::xercesc::DOMElement& s (
56331  ::xsd::cxx::xml::dom::create_element (
56332  "spikeGeneratorRandom",
56333  "http://www.neuroml.org/schema/neuroml2",
56334  e));
56335 
56336  s << *b;
56337  }
56338 
56339  // spikeGeneratorPoisson
56340  //
56342  b (i.spikeGeneratorPoisson ().begin ()), n (i.spikeGeneratorPoisson ().end ());
56343  b != n; ++b)
56344  {
56345  ::xercesc::DOMElement& s (
56346  ::xsd::cxx::xml::dom::create_element (
56347  "spikeGeneratorPoisson",
56348  "http://www.neuroml.org/schema/neuroml2",
56349  e));
56350 
56351  s << *b;
56352  }
56353 
56354  // spikeGeneratorRefPoisson
56355  //
56357  b (i.spikeGeneratorRefPoisson ().begin ()), n (i.spikeGeneratorRefPoisson ().end ());
56358  b != n; ++b)
56359  {
56360  ::xercesc::DOMElement& s (
56361  ::xsd::cxx::xml::dom::create_element (
56362  "spikeGeneratorRefPoisson",
56363  "http://www.neuroml.org/schema/neuroml2",
56364  e));
56365 
56366  s << *b;
56367  }
56368 
56369  // poissonFiringSynapse
56370  //
56372  b (i.poissonFiringSynapse ().begin ()), n (i.poissonFiringSynapse ().end ());
56373  b != n; ++b)
56374  {
56375  ::xercesc::DOMElement& s (
56376  ::xsd::cxx::xml::dom::create_element (
56377  "poissonFiringSynapse",
56378  "http://www.neuroml.org/schema/neuroml2",
56379  e));
56380 
56381  s << *b;
56382  }
56383 
56384  // transientPoissonFiringSynapse
56385  //
56387  b (i.transientPoissonFiringSynapse ().begin ()), n (i.transientPoissonFiringSynapse ().end ());
56388  b != n; ++b)
56389  {
56390  ::xercesc::DOMElement& s (
56391  ::xsd::cxx::xml::dom::create_element (
56392  "transientPoissonFiringSynapse",
56393  "http://www.neuroml.org/schema/neuroml2",
56394  e));
56395 
56396  s << *b;
56397  }
56398 
56399  // IF_curr_alpha
56400  //
56402  b (i.IF_curr_alpha ().begin ()), n (i.IF_curr_alpha ().end ());
56403  b != n; ++b)
56404  {
56405  ::xercesc::DOMElement& s (
56406  ::xsd::cxx::xml::dom::create_element (
56407  "IF_curr_alpha",
56408  "http://www.neuroml.org/schema/neuroml2",
56409  e));
56410 
56411  s << *b;
56412  }
56413 
56414  // IF_curr_exp
56415  //
56417  b (i.IF_curr_exp ().begin ()), n (i.IF_curr_exp ().end ());
56418  b != n; ++b)
56419  {
56420  ::xercesc::DOMElement& s (
56421  ::xsd::cxx::xml::dom::create_element (
56422  "IF_curr_exp",
56423  "http://www.neuroml.org/schema/neuroml2",
56424  e));
56425 
56426  s << *b;
56427  }
56428 
56429  // IF_cond_alpha
56430  //
56432  b (i.IF_cond_alpha ().begin ()), n (i.IF_cond_alpha ().end ());
56433  b != n; ++b)
56434  {
56435  ::xercesc::DOMElement& s (
56436  ::xsd::cxx::xml::dom::create_element (
56437  "IF_cond_alpha",
56438  "http://www.neuroml.org/schema/neuroml2",
56439  e));
56440 
56441  s << *b;
56442  }
56443 
56444  // IF_cond_exp
56445  //
56447  b (i.IF_cond_exp ().begin ()), n (i.IF_cond_exp ().end ());
56448  b != n; ++b)
56449  {
56450  ::xercesc::DOMElement& s (
56451  ::xsd::cxx::xml::dom::create_element (
56452  "IF_cond_exp",
56453  "http://www.neuroml.org/schema/neuroml2",
56454  e));
56455 
56456  s << *b;
56457  }
56458 
56459  // EIF_cond_exp_isfa_ista
56460  //
56462  b (i.EIF_cond_exp_isfa_ista ().begin ()), n (i.EIF_cond_exp_isfa_ista ().end ());
56463  b != n; ++b)
56464  {
56465  ::xercesc::DOMElement& s (
56466  ::xsd::cxx::xml::dom::create_element (
56467  "EIF_cond_exp_isfa_ista",
56468  "http://www.neuroml.org/schema/neuroml2",
56469  e));
56470 
56471  s << *b;
56472  }
56473 
56474  // EIF_cond_alpha_isfa_ista
56475  //
56477  b (i.EIF_cond_alpha_isfa_ista ().begin ()), n (i.EIF_cond_alpha_isfa_ista ().end ());
56478  b != n; ++b)
56479  {
56480  ::xercesc::DOMElement& s (
56481  ::xsd::cxx::xml::dom::create_element (
56482  "EIF_cond_alpha_isfa_ista",
56483  "http://www.neuroml.org/schema/neuroml2",
56484  e));
56485 
56486  s << *b;
56487  }
56488 
56489  // HH_cond_exp
56490  //
56492  b (i.HH_cond_exp ().begin ()), n (i.HH_cond_exp ().end ());
56493  b != n; ++b)
56494  {
56495  ::xercesc::DOMElement& s (
56496  ::xsd::cxx::xml::dom::create_element (
56497  "HH_cond_exp",
56498  "http://www.neuroml.org/schema/neuroml2",
56499  e));
56500 
56501  s << *b;
56502  }
56503 
56504  // expCondSynapse
56505  //
56507  b (i.expCondSynapse ().begin ()), n (i.expCondSynapse ().end ());
56508  b != n; ++b)
56509  {
56510  ::xercesc::DOMElement& s (
56511  ::xsd::cxx::xml::dom::create_element (
56512  "expCondSynapse",
56513  "http://www.neuroml.org/schema/neuroml2",
56514  e));
56515 
56516  s << *b;
56517  }
56518 
56519  // alphaCondSynapse
56520  //
56522  b (i.alphaCondSynapse ().begin ()), n (i.alphaCondSynapse ().end ());
56523  b != n; ++b)
56524  {
56525  ::xercesc::DOMElement& s (
56526  ::xsd::cxx::xml::dom::create_element (
56527  "alphaCondSynapse",
56528  "http://www.neuroml.org/schema/neuroml2",
56529  e));
56530 
56531  s << *b;
56532  }
56533 
56534  // expCurrSynapse
56535  //
56537  b (i.expCurrSynapse ().begin ()), n (i.expCurrSynapse ().end ());
56538  b != n; ++b)
56539  {
56540  ::xercesc::DOMElement& s (
56541  ::xsd::cxx::xml::dom::create_element (
56542  "expCurrSynapse",
56543  "http://www.neuroml.org/schema/neuroml2",
56544  e));
56545 
56546  s << *b;
56547  }
56548 
56549  // alphaCurrSynapse
56550  //
56552  b (i.alphaCurrSynapse ().begin ()), n (i.alphaCurrSynapse ().end ());
56553  b != n; ++b)
56554  {
56555  ::xercesc::DOMElement& s (
56556  ::xsd::cxx::xml::dom::create_element (
56557  "alphaCurrSynapse",
56558  "http://www.neuroml.org/schema/neuroml2",
56559  e));
56560 
56561  s << *b;
56562  }
56563 
56564  // SpikeSourcePoisson
56565  //
56567  b (i.SpikeSourcePoisson ().begin ()), n (i.SpikeSourcePoisson ().end ());
56568  b != n; ++b)
56569  {
56570  ::xercesc::DOMElement& s (
56571  ::xsd::cxx::xml::dom::create_element (
56572  "SpikeSourcePoisson",
56573  "http://www.neuroml.org/schema/neuroml2",
56574  e));
56575 
56576  s << *b;
56577  }
56578 
56579  // network
56580  //
56582  b (i.network ().begin ()), n (i.network ().end ());
56583  b != n; ++b)
56584  {
56585  ::xercesc::DOMElement& s (
56586  ::xsd::cxx::xml::dom::create_element (
56587  "network",
56588  "http://www.neuroml.org/schema/neuroml2",
56589  e));
56590 
56591  s << *b;
56592  }
56593 
56594  // ComponentType
56595  //
56597  b (i.ComponentType ().begin ()), n (i.ComponentType ().end ());
56598  b != n; ++b)
56599  {
56600  ::xercesc::DOMElement& s (
56601  ::xsd::cxx::xml::dom::create_element (
56602  "ComponentType",
56603  "http://www.neuroml.org/schema/neuroml2",
56604  e));
56605 
56606  s << *b;
56607  }
56608  }
56609 
56610  void
56611  operator<< (::xercesc::DOMElement& e, const IncludeType& i)
56612  {
56613  e << static_cast< const ::xml_schema::type& > (i);
56614 
56615  // href
56616  //
56617  {
56618  ::xercesc::DOMAttr& a (
56619  ::xsd::cxx::xml::dom::create_attribute (
56620  "href",
56621  e));
56622 
56623  a << i.href ();
56624  }
56625  }
56626 
56627  void
56628  operator<< (::xercesc::DOMElement& e, const IonChannelScalable& i)
56629  {
56630  e << static_cast< const ::neuroml2::Standalone& > (i);
56631 
56632  // q10ConductanceScaling
56633  //
56635  b (i.q10ConductanceScaling ().begin ()), n (i.q10ConductanceScaling ().end ());
56636  b != n; ++b)
56637  {
56638  ::xercesc::DOMElement& s (
56639  ::xsd::cxx::xml::dom::create_element (
56640  "q10ConductanceScaling",
56641  "http://www.neuroml.org/schema/neuroml2",
56642  e));
56643 
56644  s << *b;
56645  }
56646 
56647  // neuroLexId
56648  //
56649  if (i.neuroLexId ())
56650  {
56651  ::xercesc::DOMAttr& a (
56652  ::xsd::cxx::xml::dom::create_attribute (
56653  "neuroLexId",
56654  e));
56655 
56656  a << *i.neuroLexId ();
56657  }
56658  }
56659 
56660  void
56661  operator<< (::xercesc::DOMElement& e, const IonChannelKS& i)
56662  {
56663  e << static_cast< const ::neuroml2::Standalone& > (i);
56664 
56665  // gateKS
56666  //
56668  b (i.gateKS ().begin ()), n (i.gateKS ().end ());
56669  b != n; ++b)
56670  {
56671  ::xercesc::DOMElement& s (
56672  ::xsd::cxx::xml::dom::create_element (
56673  "gateKS",
56674  "http://www.neuroml.org/schema/neuroml2",
56675  e));
56676 
56677  s << *b;
56678  }
56679 
56680  // species
56681  //
56682  if (i.species ())
56683  {
56684  ::xercesc::DOMAttr& a (
56685  ::xsd::cxx::xml::dom::create_attribute (
56686  "species",
56687  e));
56688 
56689  a << *i.species ();
56690  }
56691 
56692  // conductance
56693  //
56694  if (i.conductance ())
56695  {
56696  ::xercesc::DOMAttr& a (
56697  ::xsd::cxx::xml::dom::create_attribute (
56698  "conductance",
56699  e));
56700 
56701  a << *i.conductance ();
56702  }
56703 
56704  // neuroLexId
56705  //
56706  if (i.neuroLexId ())
56707  {
56708  ::xercesc::DOMAttr& a (
56709  ::xsd::cxx::xml::dom::create_attribute (
56710  "neuroLexId",
56711  e));
56712 
56713  a << *i.neuroLexId ();
56714  }
56715  }
56716 
56717  void
56718  operator<< (::xercesc::DOMElement& e, const IonChannel& i)
56719  {
56720  e << static_cast< const ::neuroml2::IonChannelScalable& > (i);
56721 
56722  // gate
56723  //
56725  b (i.gate ().begin ()), n (i.gate ().end ());
56726  b != n; ++b)
56727  {
56728  ::xercesc::DOMElement& s (
56729  ::xsd::cxx::xml::dom::create_element (
56730  "gate",
56731  "http://www.neuroml.org/schema/neuroml2",
56732  e));
56733 
56734  s << *b;
56735  }
56736 
56737  // gateHHrates
56738  //
56740  b (i.gateHHrates ().begin ()), n (i.gateHHrates ().end ());
56741  b != n; ++b)
56742  {
56743  ::xercesc::DOMElement& s (
56744  ::xsd::cxx::xml::dom::create_element (
56745  "gateHHrates",
56746  "http://www.neuroml.org/schema/neuroml2",
56747  e));
56748 
56749  s << *b;
56750  }
56751 
56752  // gateHHratesTau
56753  //
56755  b (i.gateHHratesTau ().begin ()), n (i.gateHHratesTau ().end ());
56756  b != n; ++b)
56757  {
56758  ::xercesc::DOMElement& s (
56759  ::xsd::cxx::xml::dom::create_element (
56760  "gateHHratesTau",
56761  "http://www.neuroml.org/schema/neuroml2",
56762  e));
56763 
56764  s << *b;
56765  }
56766 
56767  // gateHHtauInf
56768  //
56770  b (i.gateHHtauInf ().begin ()), n (i.gateHHtauInf ().end ());
56771  b != n; ++b)
56772  {
56773  ::xercesc::DOMElement& s (
56774  ::xsd::cxx::xml::dom::create_element (
56775  "gateHHtauInf",
56776  "http://www.neuroml.org/schema/neuroml2",
56777  e));
56778 
56779  s << *b;
56780  }
56781 
56782  // gateHHratesInf
56783  //
56785  b (i.gateHHratesInf ().begin ()), n (i.gateHHratesInf ().end ());
56786  b != n; ++b)
56787  {
56788  ::xercesc::DOMElement& s (
56789  ::xsd::cxx::xml::dom::create_element (
56790  "gateHHratesInf",
56791  "http://www.neuroml.org/schema/neuroml2",
56792  e));
56793 
56794  s << *b;
56795  }
56796 
56797  // gateHHratesTauInf
56798  //
56800  b (i.gateHHratesTauInf ().begin ()), n (i.gateHHratesTauInf ().end ());
56801  b != n; ++b)
56802  {
56803  ::xercesc::DOMElement& s (
56804  ::xsd::cxx::xml::dom::create_element (
56805  "gateHHratesTauInf",
56806  "http://www.neuroml.org/schema/neuroml2",
56807  e));
56808 
56809  s << *b;
56810  }
56811 
56812  // gateHHInstantaneous
56813  //
56815  b (i.gateHHInstantaneous ().begin ()), n (i.gateHHInstantaneous ().end ());
56816  b != n; ++b)
56817  {
56818  ::xercesc::DOMElement& s (
56819  ::xsd::cxx::xml::dom::create_element (
56820  "gateHHInstantaneous",
56821  "http://www.neuroml.org/schema/neuroml2",
56822  e));
56823 
56824  s << *b;
56825  }
56826 
56827  // gateFractional
56828  //
56830  b (i.gateFractional ().begin ()), n (i.gateFractional ().end ());
56831  b != n; ++b)
56832  {
56833  ::xercesc::DOMElement& s (
56834  ::xsd::cxx::xml::dom::create_element (
56835  "gateFractional",
56836  "http://www.neuroml.org/schema/neuroml2",
56837  e));
56838 
56839  s << *b;
56840  }
56841 
56842  // species
56843  //
56844  if (i.species ())
56845  {
56846  ::xercesc::DOMAttr& a (
56847  ::xsd::cxx::xml::dom::create_attribute (
56848  "species",
56849  e));
56850 
56851  a << *i.species ();
56852  }
56853 
56854  // type
56855  //
56856  if (i.type ())
56857  {
56858  ::xercesc::DOMAttr& a (
56859  ::xsd::cxx::xml::dom::create_attribute (
56860  "type",
56861  e));
56862 
56863  a << *i.type ();
56864  }
56865 
56866  // conductance
56867  //
56868  if (i.conductance ())
56869  {
56870  ::xercesc::DOMAttr& a (
56871  ::xsd::cxx::xml::dom::create_attribute (
56872  "conductance",
56873  e));
56874 
56875  a << *i.conductance ();
56876  }
56877  }
56878 
56879  void
56880  operator<< (::xercesc::DOMElement& e, const IonChannelHH& i)
56881  {
56882  e << static_cast< const ::neuroml2::IonChannel& > (i);
56883  }
56884 
56885  void
56886  operator<< (::xercesc::DOMElement& e, const IonChannelVShift& i)
56887  {
56888  e << static_cast< const ::neuroml2::IonChannel& > (i);
56889 
56890  // vShift
56891  //
56892  {
56893  ::xercesc::DOMAttr& a (
56894  ::xsd::cxx::xml::dom::create_attribute (
56895  "vShift",
56896  e));
56897 
56898  a << i.vShift ();
56899  }
56900  }
56901 
56902  void
56903  operator<< (::xercesc::DOMElement& e, const channelTypes& i)
56904  {
56905  e << static_cast< const ::xml_schema::string& > (i);
56906  }
56907 
56908  void
56909  operator<< (::xercesc::DOMAttr& a, const channelTypes& i)
56910  {
56911  a << static_cast< const ::xml_schema::string& > (i);
56912  }
56913 
56914  void
56915  operator<< (::xml_schema::list_stream& l,
56916  const channelTypes& i)
56917  {
56918  l << static_cast< const ::xml_schema::string& > (i);
56919  }
56920 
56921  void
56922  operator<< (::xercesc::DOMElement& e, const Q10ConductanceScaling& i)
56923  {
56924  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
56925 
56926  // q10Factor
56927  //
56928  {
56929  ::xercesc::DOMAttr& a (
56930  ::xsd::cxx::xml::dom::create_attribute (
56931  "q10Factor",
56932  e));
56933 
56934  a << i.q10Factor ();
56935  }
56936 
56937  // experimentalTemp
56938  //
56939  {
56940  ::xercesc::DOMAttr& a (
56941  ::xsd::cxx::xml::dom::create_attribute (
56942  "experimentalTemp",
56943  e));
56944 
56945  a << i.experimentalTemp ();
56946  }
56947  }
56948 
56949  void
56950  operator<< (::xercesc::DOMElement& e, const gateTypes& i)
56951  {
56952  e << static_cast< const ::xml_schema::string& > (i);
56953  }
56954 
56955  void
56956  operator<< (::xercesc::DOMAttr& a, const gateTypes& i)
56957  {
56958  a << static_cast< const ::xml_schema::string& > (i);
56959  }
56960 
56961  void
56962  operator<< (::xml_schema::list_stream& l,
56963  const gateTypes& i)
56964  {
56965  l << static_cast< const ::xml_schema::string& > (i);
56966  }
56967 
56968  void
56969  operator<< (::xercesc::DOMElement& e, const ClosedState& i)
56970  {
56971  e << static_cast< const ::neuroml2::Base& > (i);
56972  }
56973 
56974  void
56975  operator<< (::xercesc::DOMElement& e, const OpenState& i)
56976  {
56977  e << static_cast< const ::neuroml2::Base& > (i);
56978  }
56979 
56980  void
56981  operator<< (::xercesc::DOMElement& e, const ForwardTransition& i)
56982  {
56983  e << static_cast< const ::neuroml2::Base& > (i);
56984 
56985  // from
56986  //
56987  {
56988  ::xercesc::DOMAttr& a (
56989  ::xsd::cxx::xml::dom::create_attribute (
56990  "from",
56991  e));
56992 
56993  a << i.from ();
56994  }
56995 
56996  // to
56997  //
56998  {
56999  ::xercesc::DOMAttr& a (
57000  ::xsd::cxx::xml::dom::create_attribute (
57001  "to",
57002  e));
57003 
57004  a << i.to ();
57005  }
57006  }
57007 
57008  void
57009  operator<< (::xercesc::DOMElement& e, const ReverseTransition& i)
57010  {
57011  e << static_cast< const ::neuroml2::Base& > (i);
57012 
57013  // from
57014  //
57015  {
57016  ::xercesc::DOMAttr& a (
57017  ::xsd::cxx::xml::dom::create_attribute (
57018  "from",
57019  e));
57020 
57021  a << i.from ();
57022  }
57023 
57024  // to
57025  //
57026  {
57027  ::xercesc::DOMAttr& a (
57028  ::xsd::cxx::xml::dom::create_attribute (
57029  "to",
57030  e));
57031 
57032  a << i.to ();
57033  }
57034  }
57035 
57036  void
57037  operator<< (::xercesc::DOMElement& e, const TauInfTransition& i)
57038  {
57039  e << static_cast< const ::neuroml2::Base& > (i);
57040 
57041  // steadyState
57042  //
57043  {
57044  ::xercesc::DOMElement& s (
57045  ::xsd::cxx::xml::dom::create_element (
57046  "steadyState",
57047  "http://www.neuroml.org/schema/neuroml2",
57048  e));
57049 
57050  s << i.steadyState ();
57051  }
57052 
57053  // timeCourse
57054  //
57055  {
57056  ::xercesc::DOMElement& s (
57057  ::xsd::cxx::xml::dom::create_element (
57058  "timeCourse",
57059  "http://www.neuroml.org/schema/neuroml2",
57060  e));
57061 
57062  s << i.timeCourse ();
57063  }
57064 
57065  // from
57066  //
57067  {
57068  ::xercesc::DOMAttr& a (
57069  ::xsd::cxx::xml::dom::create_attribute (
57070  "from",
57071  e));
57072 
57073  a << i.from ();
57074  }
57075 
57076  // to
57077  //
57078  {
57079  ::xercesc::DOMAttr& a (
57080  ::xsd::cxx::xml::dom::create_attribute (
57081  "to",
57082  e));
57083 
57084  a << i.to ();
57085  }
57086  }
57087 
57088  void
57089  operator<< (::xercesc::DOMElement& e, const GateKS& i)
57090  {
57091  e << static_cast< const ::neuroml2::Base& > (i);
57092 
57093  // notes
57094  //
57095  if (i.notes ())
57096  {
57097  ::xercesc::DOMElement& s (
57098  ::xsd::cxx::xml::dom::create_element (
57099  "notes",
57100  "http://www.neuroml.org/schema/neuroml2",
57101  e));
57102 
57103  s << *i.notes ();
57104  }
57105 
57106  // q10Settings
57107  //
57108  if (i.q10Settings ())
57109  {
57110  ::xercesc::DOMElement& s (
57111  ::xsd::cxx::xml::dom::create_element (
57112  "q10Settings",
57113  "http://www.neuroml.org/schema/neuroml2",
57114  e));
57115 
57116  s << *i.q10Settings ();
57117  }
57118 
57119  // closedState
57120  //
57122  b (i.closedState ().begin ()), n (i.closedState ().end ());
57123  b != n; ++b)
57124  {
57125  ::xercesc::DOMElement& s (
57126  ::xsd::cxx::xml::dom::create_element (
57127  "closedState",
57128  "http://www.neuroml.org/schema/neuroml2",
57129  e));
57130 
57131  s << *b;
57132  }
57133 
57134  // openState
57135  //
57137  b (i.openState ().begin ()), n (i.openState ().end ());
57138  b != n; ++b)
57139  {
57140  ::xercesc::DOMElement& s (
57141  ::xsd::cxx::xml::dom::create_element (
57142  "openState",
57143  "http://www.neuroml.org/schema/neuroml2",
57144  e));
57145 
57146  s << *b;
57147  }
57148 
57149  // forwardTransition
57150  //
57152  b (i.forwardTransition ().begin ()), n (i.forwardTransition ().end ());
57153  b != n; ++b)
57154  {
57155  ::xercesc::DOMElement& s (
57156  ::xsd::cxx::xml::dom::create_element (
57157  "forwardTransition",
57158  "http://www.neuroml.org/schema/neuroml2",
57159  e));
57160 
57161  s << *b;
57162  }
57163 
57164  // reverseTransition
57165  //
57167  b (i.reverseTransition ().begin ()), n (i.reverseTransition ().end ());
57168  b != n; ++b)
57169  {
57170  ::xercesc::DOMElement& s (
57171  ::xsd::cxx::xml::dom::create_element (
57172  "reverseTransition",
57173  "http://www.neuroml.org/schema/neuroml2",
57174  e));
57175 
57176  s << *b;
57177  }
57178 
57179  // tauInfTransition
57180  //
57182  b (i.tauInfTransition ().begin ()), n (i.tauInfTransition ().end ());
57183  b != n; ++b)
57184  {
57185  ::xercesc::DOMElement& s (
57186  ::xsd::cxx::xml::dom::create_element (
57187  "tauInfTransition",
57188  "http://www.neuroml.org/schema/neuroml2",
57189  e));
57190 
57191  s << *b;
57192  }
57193 
57194  // instances
57195  //
57196  {
57197  ::xercesc::DOMAttr& a (
57198  ::xsd::cxx::xml::dom::create_attribute (
57199  "instances",
57200  e));
57201 
57202  a << i.instances ();
57203  }
57204  }
57205 
57206  void
57207  operator<< (::xercesc::DOMElement& e, const GateHHUndetermined& i)
57208  {
57209  e << static_cast< const ::neuroml2::Base& > (i);
57210 
57211  // notes
57212  //
57213  if (i.notes ())
57214  {
57215  ::xercesc::DOMElement& s (
57216  ::xsd::cxx::xml::dom::create_element (
57217  "notes",
57218  "http://www.neuroml.org/schema/neuroml2",
57219  e));
57220 
57221  s << *i.notes ();
57222  }
57223 
57224  // q10Settings
57225  //
57226  if (i.q10Settings ())
57227  {
57228  ::xercesc::DOMElement& s (
57229  ::xsd::cxx::xml::dom::create_element (
57230  "q10Settings",
57231  "http://www.neuroml.org/schema/neuroml2",
57232  e));
57233 
57234  s << *i.q10Settings ();
57235  }
57236 
57237  // forwardRate
57238  //
57239  if (i.forwardRate ())
57240  {
57241  ::xercesc::DOMElement& s (
57242  ::xsd::cxx::xml::dom::create_element (
57243  "forwardRate",
57244  "http://www.neuroml.org/schema/neuroml2",
57245  e));
57246 
57247  s << *i.forwardRate ();
57248  }
57249 
57250  // reverseRate
57251  //
57252  if (i.reverseRate ())
57253  {
57254  ::xercesc::DOMElement& s (
57255  ::xsd::cxx::xml::dom::create_element (
57256  "reverseRate",
57257  "http://www.neuroml.org/schema/neuroml2",
57258  e));
57259 
57260  s << *i.reverseRate ();
57261  }
57262 
57263  // timeCourse
57264  //
57265  if (i.timeCourse ())
57266  {
57267  ::xercesc::DOMElement& s (
57268  ::xsd::cxx::xml::dom::create_element (
57269  "timeCourse",
57270  "http://www.neuroml.org/schema/neuroml2",
57271  e));
57272 
57273  s << *i.timeCourse ();
57274  }
57275 
57276  // steadyState
57277  //
57278  if (i.steadyState ())
57279  {
57280  ::xercesc::DOMElement& s (
57281  ::xsd::cxx::xml::dom::create_element (
57282  "steadyState",
57283  "http://www.neuroml.org/schema/neuroml2",
57284  e));
57285 
57286  s << *i.steadyState ();
57287  }
57288 
57289  // subGate
57290  //
57292  b (i.subGate ().begin ()), n (i.subGate ().end ());
57293  b != n; ++b)
57294  {
57295  ::xercesc::DOMElement& s (
57296  ::xsd::cxx::xml::dom::create_element (
57297  "subGate",
57298  "http://www.neuroml.org/schema/neuroml2",
57299  e));
57300 
57301  s << *b;
57302  }
57303 
57304  // instances
57305  //
57306  {
57307  ::xercesc::DOMAttr& a (
57308  ::xsd::cxx::xml::dom::create_attribute (
57309  "instances",
57310  e));
57311 
57312  a << i.instances ();
57313  }
57314 
57315  // type
57316  //
57317  {
57318  ::xercesc::DOMAttr& a (
57319  ::xsd::cxx::xml::dom::create_attribute (
57320  "type",
57321  e));
57322 
57323  a << i.type ();
57324  }
57325  }
57326 
57327  void
57328  operator<< (::xercesc::DOMElement& e, const GateHHRates& i)
57329  {
57330  e << static_cast< const ::neuroml2::Base& > (i);
57331 
57332  // notes
57333  //
57334  if (i.notes ())
57335  {
57336  ::xercesc::DOMElement& s (
57337  ::xsd::cxx::xml::dom::create_element (
57338  "notes",
57339  "http://www.neuroml.org/schema/neuroml2",
57340  e));
57341 
57342  s << *i.notes ();
57343  }
57344 
57345  // q10Settings
57346  //
57347  if (i.q10Settings ())
57348  {
57349  ::xercesc::DOMElement& s (
57350  ::xsd::cxx::xml::dom::create_element (
57351  "q10Settings",
57352  "http://www.neuroml.org/schema/neuroml2",
57353  e));
57354 
57355  s << *i.q10Settings ();
57356  }
57357 
57358  // forwardRate
57359  //
57360  {
57361  ::xercesc::DOMElement& s (
57362  ::xsd::cxx::xml::dom::create_element (
57363  "forwardRate",
57364  "http://www.neuroml.org/schema/neuroml2",
57365  e));
57366 
57367  s << i.forwardRate ();
57368  }
57369 
57370  // reverseRate
57371  //
57372  {
57373  ::xercesc::DOMElement& s (
57374  ::xsd::cxx::xml::dom::create_element (
57375  "reverseRate",
57376  "http://www.neuroml.org/schema/neuroml2",
57377  e));
57378 
57379  s << i.reverseRate ();
57380  }
57381 
57382  // instances
57383  //
57384  {
57385  ::xercesc::DOMAttr& a (
57386  ::xsd::cxx::xml::dom::create_attribute (
57387  "instances",
57388  e));
57389 
57390  a << i.instances ();
57391  }
57392  }
57393 
57394  void
57395  operator<< (::xercesc::DOMElement& e, const GateHHTauInf& i)
57396  {
57397  e << static_cast< const ::neuroml2::Base& > (i);
57398 
57399  // notes
57400  //
57401  if (i.notes ())
57402  {
57403  ::xercesc::DOMElement& s (
57404  ::xsd::cxx::xml::dom::create_element (
57405  "notes",
57406  "http://www.neuroml.org/schema/neuroml2",
57407  e));
57408 
57409  s << *i.notes ();
57410  }
57411 
57412  // q10Settings
57413  //
57414  if (i.q10Settings ())
57415  {
57416  ::xercesc::DOMElement& s (
57417  ::xsd::cxx::xml::dom::create_element (
57418  "q10Settings",
57419  "http://www.neuroml.org/schema/neuroml2",
57420  e));
57421 
57422  s << *i.q10Settings ();
57423  }
57424 
57425  // timeCourse
57426  //
57427  {
57428  ::xercesc::DOMElement& s (
57429  ::xsd::cxx::xml::dom::create_element (
57430  "timeCourse",
57431  "http://www.neuroml.org/schema/neuroml2",
57432  e));
57433 
57434  s << i.timeCourse ();
57435  }
57436 
57437  // steadyState
57438  //
57439  {
57440  ::xercesc::DOMElement& s (
57441  ::xsd::cxx::xml::dom::create_element (
57442  "steadyState",
57443  "http://www.neuroml.org/schema/neuroml2",
57444  e));
57445 
57446  s << i.steadyState ();
57447  }
57448 
57449  // instances
57450  //
57451  {
57452  ::xercesc::DOMAttr& a (
57453  ::xsd::cxx::xml::dom::create_attribute (
57454  "instances",
57455  e));
57456 
57457  a << i.instances ();
57458  }
57459  }
57460 
57461  void
57462  operator<< (::xercesc::DOMElement& e, const GateHHRatesTauInf& i)
57463  {
57464  e << static_cast< const ::neuroml2::Base& > (i);
57465 
57466  // notes
57467  //
57468  if (i.notes ())
57469  {
57470  ::xercesc::DOMElement& s (
57471  ::xsd::cxx::xml::dom::create_element (
57472  "notes",
57473  "http://www.neuroml.org/schema/neuroml2",
57474  e));
57475 
57476  s << *i.notes ();
57477  }
57478 
57479  // q10Settings
57480  //
57481  if (i.q10Settings ())
57482  {
57483  ::xercesc::DOMElement& s (
57484  ::xsd::cxx::xml::dom::create_element (
57485  "q10Settings",
57486  "http://www.neuroml.org/schema/neuroml2",
57487  e));
57488 
57489  s << *i.q10Settings ();
57490  }
57491 
57492  // forwardRate
57493  //
57494  {
57495  ::xercesc::DOMElement& s (
57496  ::xsd::cxx::xml::dom::create_element (
57497  "forwardRate",
57498  "http://www.neuroml.org/schema/neuroml2",
57499  e));
57500 
57501  s << i.forwardRate ();
57502  }
57503 
57504  // reverseRate
57505  //
57506  {
57507  ::xercesc::DOMElement& s (
57508  ::xsd::cxx::xml::dom::create_element (
57509  "reverseRate",
57510  "http://www.neuroml.org/schema/neuroml2",
57511  e));
57512 
57513  s << i.reverseRate ();
57514  }
57515 
57516  // timeCourse
57517  //
57518  {
57519  ::xercesc::DOMElement& s (
57520  ::xsd::cxx::xml::dom::create_element (
57521  "timeCourse",
57522  "http://www.neuroml.org/schema/neuroml2",
57523  e));
57524 
57525  s << i.timeCourse ();
57526  }
57527 
57528  // steadyState
57529  //
57530  {
57531  ::xercesc::DOMElement& s (
57532  ::xsd::cxx::xml::dom::create_element (
57533  "steadyState",
57534  "http://www.neuroml.org/schema/neuroml2",
57535  e));
57536 
57537  s << i.steadyState ();
57538  }
57539 
57540  // instances
57541  //
57542  {
57543  ::xercesc::DOMAttr& a (
57544  ::xsd::cxx::xml::dom::create_attribute (
57545  "instances",
57546  e));
57547 
57548  a << i.instances ();
57549  }
57550  }
57551 
57552  void
57553  operator<< (::xercesc::DOMElement& e, const GateHHRatesTau& i)
57554  {
57555  e << static_cast< const ::neuroml2::Base& > (i);
57556 
57557  // notes
57558  //
57559  if (i.notes ())
57560  {
57561  ::xercesc::DOMElement& s (
57562  ::xsd::cxx::xml::dom::create_element (
57563  "notes",
57564  "http://www.neuroml.org/schema/neuroml2",
57565  e));
57566 
57567  s << *i.notes ();
57568  }
57569 
57570  // q10Settings
57571  //
57572  if (i.q10Settings ())
57573  {
57574  ::xercesc::DOMElement& s (
57575  ::xsd::cxx::xml::dom::create_element (
57576  "q10Settings",
57577  "http://www.neuroml.org/schema/neuroml2",
57578  e));
57579 
57580  s << *i.q10Settings ();
57581  }
57582 
57583  // forwardRate
57584  //
57585  {
57586  ::xercesc::DOMElement& s (
57587  ::xsd::cxx::xml::dom::create_element (
57588  "forwardRate",
57589  "http://www.neuroml.org/schema/neuroml2",
57590  e));
57591 
57592  s << i.forwardRate ();
57593  }
57594 
57595  // reverseRate
57596  //
57597  {
57598  ::xercesc::DOMElement& s (
57599  ::xsd::cxx::xml::dom::create_element (
57600  "reverseRate",
57601  "http://www.neuroml.org/schema/neuroml2",
57602  e));
57603 
57604  s << i.reverseRate ();
57605  }
57606 
57607  // timeCourse
57608  //
57609  {
57610  ::xercesc::DOMElement& s (
57611  ::xsd::cxx::xml::dom::create_element (
57612  "timeCourse",
57613  "http://www.neuroml.org/schema/neuroml2",
57614  e));
57615 
57616  s << i.timeCourse ();
57617  }
57618 
57619  // instances
57620  //
57621  {
57622  ::xercesc::DOMAttr& a (
57623  ::xsd::cxx::xml::dom::create_attribute (
57624  "instances",
57625  e));
57626 
57627  a << i.instances ();
57628  }
57629  }
57630 
57631  void
57632  operator<< (::xercesc::DOMElement& e, const GateHHRatesInf& i)
57633  {
57634  e << static_cast< const ::neuroml2::Base& > (i);
57635 
57636  // notes
57637  //
57638  if (i.notes ())
57639  {
57640  ::xercesc::DOMElement& s (
57641  ::xsd::cxx::xml::dom::create_element (
57642  "notes",
57643  "http://www.neuroml.org/schema/neuroml2",
57644  e));
57645 
57646  s << *i.notes ();
57647  }
57648 
57649  // q10Settings
57650  //
57651  if (i.q10Settings ())
57652  {
57653  ::xercesc::DOMElement& s (
57654  ::xsd::cxx::xml::dom::create_element (
57655  "q10Settings",
57656  "http://www.neuroml.org/schema/neuroml2",
57657  e));
57658 
57659  s << *i.q10Settings ();
57660  }
57661 
57662  // forwardRate
57663  //
57664  {
57665  ::xercesc::DOMElement& s (
57666  ::xsd::cxx::xml::dom::create_element (
57667  "forwardRate",
57668  "http://www.neuroml.org/schema/neuroml2",
57669  e));
57670 
57671  s << i.forwardRate ();
57672  }
57673 
57674  // reverseRate
57675  //
57676  {
57677  ::xercesc::DOMElement& s (
57678  ::xsd::cxx::xml::dom::create_element (
57679  "reverseRate",
57680  "http://www.neuroml.org/schema/neuroml2",
57681  e));
57682 
57683  s << i.reverseRate ();
57684  }
57685 
57686  // steadyState
57687  //
57688  {
57689  ::xercesc::DOMElement& s (
57690  ::xsd::cxx::xml::dom::create_element (
57691  "steadyState",
57692  "http://www.neuroml.org/schema/neuroml2",
57693  e));
57694 
57695  s << i.steadyState ();
57696  }
57697 
57698  // instances
57699  //
57700  {
57701  ::xercesc::DOMAttr& a (
57702  ::xsd::cxx::xml::dom::create_attribute (
57703  "instances",
57704  e));
57705 
57706  a << i.instances ();
57707  }
57708  }
57709 
57710  void
57711  operator<< (::xercesc::DOMElement& e, const GateHHInstantaneous& i)
57712  {
57713  e << static_cast< const ::neuroml2::Base& > (i);
57714 
57715  // notes
57716  //
57717  if (i.notes ())
57718  {
57719  ::xercesc::DOMElement& s (
57720  ::xsd::cxx::xml::dom::create_element (
57721  "notes",
57722  "http://www.neuroml.org/schema/neuroml2",
57723  e));
57724 
57725  s << *i.notes ();
57726  }
57727 
57728  // steadyState
57729  //
57730  {
57731  ::xercesc::DOMElement& s (
57732  ::xsd::cxx::xml::dom::create_element (
57733  "steadyState",
57734  "http://www.neuroml.org/schema/neuroml2",
57735  e));
57736 
57737  s << i.steadyState ();
57738  }
57739 
57740  // instances
57741  //
57742  {
57743  ::xercesc::DOMAttr& a (
57744  ::xsd::cxx::xml::dom::create_attribute (
57745  "instances",
57746  e));
57747 
57748  a << i.instances ();
57749  }
57750  }
57751 
57752  void
57753  operator<< (::xercesc::DOMElement& e, const GateFractional& i)
57754  {
57755  e << static_cast< const ::neuroml2::Base& > (i);
57756 
57757  // notes
57758  //
57759  if (i.notes ())
57760  {
57761  ::xercesc::DOMElement& s (
57762  ::xsd::cxx::xml::dom::create_element (
57763  "notes",
57764  "http://www.neuroml.org/schema/neuroml2",
57765  e));
57766 
57767  s << *i.notes ();
57768  }
57769 
57770  // q10Settings
57771  //
57772  if (i.q10Settings ())
57773  {
57774  ::xercesc::DOMElement& s (
57775  ::xsd::cxx::xml::dom::create_element (
57776  "q10Settings",
57777  "http://www.neuroml.org/schema/neuroml2",
57778  e));
57779 
57780  s << *i.q10Settings ();
57781  }
57782 
57783  // subGate
57784  //
57786  b (i.subGate ().begin ()), n (i.subGate ().end ());
57787  b != n; ++b)
57788  {
57789  ::xercesc::DOMElement& s (
57790  ::xsd::cxx::xml::dom::create_element (
57791  "subGate",
57792  "http://www.neuroml.org/schema/neuroml2",
57793  e));
57794 
57795  s << *b;
57796  }
57797 
57798  // instances
57799  //
57800  {
57801  ::xercesc::DOMAttr& a (
57802  ::xsd::cxx::xml::dom::create_attribute (
57803  "instances",
57804  e));
57805 
57806  a << i.instances ();
57807  }
57808  }
57809 
57810  void
57811  operator<< (::xercesc::DOMElement& e, const GateFractionalSubgate& i)
57812  {
57813  e << static_cast< const ::neuroml2::Base& > (i);
57814 
57815  // notes
57816  //
57817  if (i.notes ())
57818  {
57819  ::xercesc::DOMElement& s (
57820  ::xsd::cxx::xml::dom::create_element (
57821  "notes",
57822  "http://www.neuroml.org/schema/neuroml2",
57823  e));
57824 
57825  s << *i.notes ();
57826  }
57827 
57828  // q10Settings
57829  //
57830  if (i.q10Settings ())
57831  {
57832  ::xercesc::DOMElement& s (
57833  ::xsd::cxx::xml::dom::create_element (
57834  "q10Settings",
57835  "http://www.neuroml.org/schema/neuroml2",
57836  e));
57837 
57838  s << *i.q10Settings ();
57839  }
57840 
57841  // steadyState
57842  //
57843  {
57844  ::xercesc::DOMElement& s (
57845  ::xsd::cxx::xml::dom::create_element (
57846  "steadyState",
57847  "http://www.neuroml.org/schema/neuroml2",
57848  e));
57849 
57850  s << i.steadyState ();
57851  }
57852 
57853  // timeCourse
57854  //
57855  {
57856  ::xercesc::DOMElement& s (
57857  ::xsd::cxx::xml::dom::create_element (
57858  "timeCourse",
57859  "http://www.neuroml.org/schema/neuroml2",
57860  e));
57861 
57862  s << i.timeCourse ();
57863  }
57864 
57865  // fractionalConductance
57866  //
57867  {
57868  ::xercesc::DOMAttr& a (
57869  ::xsd::cxx::xml::dom::create_attribute (
57870  "fractionalConductance",
57871  e));
57872 
57873  a << i.fractionalConductance ();
57874  }
57875  }
57876 
57877  void
57878  operator<< (::xercesc::DOMElement& e, const Q10Settings& i)
57879  {
57880  e << static_cast< const ::xml_schema::type& > (i);
57881 
57882  // type
57883  //
57884  {
57885  ::xercesc::DOMAttr& a (
57886  ::xsd::cxx::xml::dom::create_attribute (
57887  "type",
57888  e));
57889 
57890  a << i.type ();
57891  }
57892 
57893  // fixedQ10
57894  //
57895  if (i.fixedQ10 ())
57896  {
57897  ::xercesc::DOMAttr& a (
57898  ::xsd::cxx::xml::dom::create_attribute (
57899  "fixedQ10",
57900  e));
57901 
57902  a << *i.fixedQ10 ();
57903  }
57904 
57905  // q10Factor
57906  //
57907  if (i.q10Factor ())
57908  {
57909  ::xercesc::DOMAttr& a (
57910  ::xsd::cxx::xml::dom::create_attribute (
57911  "q10Factor",
57912  e));
57913 
57914  a << *i.q10Factor ();
57915  }
57916 
57917  // experimentalTemp
57918  //
57919  if (i.experimentalTemp ())
57920  {
57921  ::xercesc::DOMAttr& a (
57922  ::xsd::cxx::xml::dom::create_attribute (
57923  "experimentalTemp",
57924  e));
57925 
57926  a << *i.experimentalTemp ();
57927  }
57928  }
57929 
57930  void
57931  operator<< (::xercesc::DOMElement& e, const HHRate& i)
57932  {
57933  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
57934 
57935  // type
57936  //
57937  {
57938  ::xercesc::DOMAttr& a (
57939  ::xsd::cxx::xml::dom::create_attribute (
57940  "type",
57941  e));
57942 
57943  a << i.type ();
57944  }
57945 
57946  // rate
57947  //
57948  if (i.rate ())
57949  {
57950  ::xercesc::DOMAttr& a (
57951  ::xsd::cxx::xml::dom::create_attribute (
57952  "rate",
57953  e));
57954 
57955  a << *i.rate ();
57956  }
57957 
57958  // midpoint
57959  //
57960  if (i.midpoint ())
57961  {
57962  ::xercesc::DOMAttr& a (
57963  ::xsd::cxx::xml::dom::create_attribute (
57964  "midpoint",
57965  e));
57966 
57967  a << *i.midpoint ();
57968  }
57969 
57970  // scale
57971  //
57972  if (i.scale ())
57973  {
57974  ::xercesc::DOMAttr& a (
57975  ::xsd::cxx::xml::dom::create_attribute (
57976  "scale",
57977  e));
57978 
57979  a << *i.scale ();
57980  }
57981  }
57982 
57983  void
57984  operator<< (::xercesc::DOMElement& e, const HHVariable& i)
57985  {
57986  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
57987 
57988  // type
57989  //
57990  {
57991  ::xercesc::DOMAttr& a (
57992  ::xsd::cxx::xml::dom::create_attribute (
57993  "type",
57994  e));
57995 
57996  a << i.type ();
57997  }
57998 
57999  // rate
58000  //
58001  if (i.rate ())
58002  {
58003  ::xercesc::DOMAttr& a (
58004  ::xsd::cxx::xml::dom::create_attribute (
58005  "rate",
58006  e));
58007 
58008  a << *i.rate ();
58009  }
58010 
58011  // midpoint
58012  //
58013  if (i.midpoint ())
58014  {
58015  ::xercesc::DOMAttr& a (
58016  ::xsd::cxx::xml::dom::create_attribute (
58017  "midpoint",
58018  e));
58019 
58020  a << *i.midpoint ();
58021  }
58022 
58023  // scale
58024  //
58025  if (i.scale ())
58026  {
58027  ::xercesc::DOMAttr& a (
58028  ::xsd::cxx::xml::dom::create_attribute (
58029  "scale",
58030  e));
58031 
58032  a << *i.scale ();
58033  }
58034  }
58035 
58036  void
58037  operator<< (::xercesc::DOMElement& e, const HHTime& i)
58038  {
58039  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
58040 
58041  // type
58042  //
58043  {
58044  ::xercesc::DOMAttr& a (
58045  ::xsd::cxx::xml::dom::create_attribute (
58046  "type",
58047  e));
58048 
58049  a << i.type ();
58050  }
58051 
58052  // rate
58053  //
58054  if (i.rate ())
58055  {
58056  ::xercesc::DOMAttr& a (
58057  ::xsd::cxx::xml::dom::create_attribute (
58058  "rate",
58059  e));
58060 
58061  a << *i.rate ();
58062  }
58063 
58064  // midpoint
58065  //
58066  if (i.midpoint ())
58067  {
58068  ::xercesc::DOMAttr& a (
58069  ::xsd::cxx::xml::dom::create_attribute (
58070  "midpoint",
58071  e));
58072 
58073  a << *i.midpoint ();
58074  }
58075 
58076  // scale
58077  //
58078  if (i.scale ())
58079  {
58080  ::xercesc::DOMAttr& a (
58081  ::xsd::cxx::xml::dom::create_attribute (
58082  "scale",
58083  e));
58084 
58085  a << *i.scale ();
58086  }
58087 
58088  // tau
58089  //
58090  if (i.tau ())
58091  {
58092  ::xercesc::DOMAttr& a (
58093  ::xsd::cxx::xml::dom::create_attribute (
58094  "tau",
58095  e));
58096 
58097  a << *i.tau ();
58098  }
58099  }
58100 
58101  void
58102  operator<< (::xercesc::DOMElement& e, const DecayingPoolConcentrationModel& i)
58103  {
58104  e << static_cast< const ::neuroml2::Standalone& > (i);
58105 
58106  // ion
58107  //
58108  {
58109  ::xercesc::DOMAttr& a (
58110  ::xsd::cxx::xml::dom::create_attribute (
58111  "ion",
58112  e));
58113 
58114  a << i.ion ();
58115  }
58116 
58117  // restingConc
58118  //
58119  {
58120  ::xercesc::DOMAttr& a (
58121  ::xsd::cxx::xml::dom::create_attribute (
58122  "restingConc",
58123  e));
58124 
58125  a << i.restingConc ();
58126  }
58127 
58128  // decayConstant
58129  //
58130  {
58131  ::xercesc::DOMAttr& a (
58132  ::xsd::cxx::xml::dom::create_attribute (
58133  "decayConstant",
58134  e));
58135 
58136  a << i.decayConstant ();
58137  }
58138 
58139  // shellThickness
58140  //
58141  {
58142  ::xercesc::DOMAttr& a (
58143  ::xsd::cxx::xml::dom::create_attribute (
58144  "shellThickness",
58145  e));
58146 
58147  a << i.shellThickness ();
58148  }
58149  }
58150 
58151  void
58152  operator<< (::xercesc::DOMElement& e, const FixedFactorConcentrationModel& i)
58153  {
58154  e << static_cast< const ::neuroml2::Standalone& > (i);
58155 
58156  // ion
58157  //
58158  {
58159  ::xercesc::DOMAttr& a (
58160  ::xsd::cxx::xml::dom::create_attribute (
58161  "ion",
58162  e));
58163 
58164  a << i.ion ();
58165  }
58166 
58167  // restingConc
58168  //
58169  {
58170  ::xercesc::DOMAttr& a (
58171  ::xsd::cxx::xml::dom::create_attribute (
58172  "restingConc",
58173  e));
58174 
58175  a << i.restingConc ();
58176  }
58177 
58178  // decayConstant
58179  //
58180  {
58181  ::xercesc::DOMAttr& a (
58182  ::xsd::cxx::xml::dom::create_attribute (
58183  "decayConstant",
58184  e));
58185 
58186  a << i.decayConstant ();
58187  }
58188 
58189  // rho
58190  //
58191  {
58192  ::xercesc::DOMAttr& a (
58193  ::xsd::cxx::xml::dom::create_attribute (
58194  "rho",
58195  e));
58196 
58197  a << i.rho ();
58198  }
58199  }
58200 
58201  void
58202  operator<< (::xercesc::DOMElement& e, const BaseSynapse& i)
58203  {
58204  e << static_cast< const ::neuroml2::Standalone& > (i);
58205 
58206  // neuroLexId
58207  //
58208  if (i.neuroLexId ())
58209  {
58210  ::xercesc::DOMAttr& a (
58211  ::xsd::cxx::xml::dom::create_attribute (
58212  "neuroLexId",
58213  e));
58214 
58215  a << *i.neuroLexId ();
58216  }
58217  }
58218 
58219  void
58220  operator<< (::xercesc::DOMElement& e, const BaseVoltageDepSynapse& i)
58221  {
58222  e << static_cast< const ::neuroml2::BaseSynapse& > (i);
58223  }
58224 
58225  void
58226  operator<< (::xercesc::DOMElement& e, const BaseCurrentBasedSynapse& i)
58227  {
58228  e << static_cast< const ::neuroml2::BaseSynapse& > (i);
58229  }
58230 
58231  void
58232  operator<< (::xercesc::DOMElement& e, const BaseConductanceBasedSynapse& i)
58233  {
58234  e << static_cast< const ::neuroml2::BaseVoltageDepSynapse& > (i);
58235 
58236  // gbase
58237  //
58238  {
58239  ::xercesc::DOMAttr& a (
58240  ::xsd::cxx::xml::dom::create_attribute (
58241  "gbase",
58242  e));
58243 
58244  a << i.gbase ();
58245  }
58246 
58247  // erev
58248  //
58249  {
58250  ::xercesc::DOMAttr& a (
58251  ::xsd::cxx::xml::dom::create_attribute (
58252  "erev",
58253  e));
58254 
58255  a << i.erev ();
58256  }
58257  }
58258 
58259  void
58260  operator<< (::xercesc::DOMElement& e, const BaseConductanceBasedSynapseTwo& i)
58261  {
58262  e << static_cast< const ::neuroml2::BaseVoltageDepSynapse& > (i);
58263 
58264  // gbase1
58265  //
58266  {
58267  ::xercesc::DOMAttr& a (
58268  ::xsd::cxx::xml::dom::create_attribute (
58269  "gbase1",
58270  e));
58271 
58272  a << i.gbase1 ();
58273  }
58274 
58275  // gbase2
58276  //
58277  {
58278  ::xercesc::DOMAttr& a (
58279  ::xsd::cxx::xml::dom::create_attribute (
58280  "gbase2",
58281  e));
58282 
58283  a << i.gbase2 ();
58284  }
58285 
58286  // erev
58287  //
58288  {
58289  ::xercesc::DOMAttr& a (
58290  ::xsd::cxx::xml::dom::create_attribute (
58291  "erev",
58292  e));
58293 
58294  a << i.erev ();
58295  }
58296  }
58297 
58298  void
58299  operator<< (::xercesc::DOMElement& e, const GapJunction& i)
58300  {
58301  e << static_cast< const ::neuroml2::BaseSynapse& > (i);
58302 
58303  // conductance
58304  //
58305  {
58306  ::xercesc::DOMAttr& a (
58307  ::xsd::cxx::xml::dom::create_attribute (
58308  "conductance",
58309  e));
58310 
58311  a << i.conductance ();
58312  }
58313  }
58314 
58315  void
58316  operator<< (::xercesc::DOMElement& e, const SilentSynapse& i)
58317  {
58318  e << static_cast< const ::neuroml2::BaseSynapse& > (i);
58319  }
58320 
58321  void
58322  operator<< (::xercesc::DOMElement& e, const LinearGradedSynapse& i)
58323  {
58324  e << static_cast< const ::neuroml2::BaseSynapse& > (i);
58325 
58326  // conductance
58327  //
58328  {
58329  ::xercesc::DOMAttr& a (
58330  ::xsd::cxx::xml::dom::create_attribute (
58331  "conductance",
58332  e));
58333 
58334  a << i.conductance ();
58335  }
58336  }
58337 
58338  void
58339  operator<< (::xercesc::DOMElement& e, const GradedSynapse& i)
58340  {
58341  e << static_cast< const ::neuroml2::BaseSynapse& > (i);
58342 
58343  // conductance
58344  //
58345  {
58346  ::xercesc::DOMAttr& a (
58347  ::xsd::cxx::xml::dom::create_attribute (
58348  "conductance",
58349  e));
58350 
58351  a << i.conductance ();
58352  }
58353 
58354  // delta
58355  //
58356  {
58357  ::xercesc::DOMAttr& a (
58358  ::xsd::cxx::xml::dom::create_attribute (
58359  "delta",
58360  e));
58361 
58362  a << i.delta ();
58363  }
58364 
58365  // Vth
58366  //
58367  {
58368  ::xercesc::DOMAttr& a (
58369  ::xsd::cxx::xml::dom::create_attribute (
58370  "Vth",
58371  e));
58372 
58373  a << i.Vth ();
58374  }
58375 
58376  // k
58377  //
58378  {
58379  ::xercesc::DOMAttr& a (
58380  ::xsd::cxx::xml::dom::create_attribute (
58381  "k",
58382  e));
58383 
58384  a << i.k ();
58385  }
58386 
58387  // erev
58388  //
58389  {
58390  ::xercesc::DOMAttr& a (
58391  ::xsd::cxx::xml::dom::create_attribute (
58392  "erev",
58393  e));
58394 
58395  a << i.erev ();
58396  }
58397  }
58398 
58399  void
58400  operator<< (::xercesc::DOMElement& e, const AlphaCurrentSynapse& i)
58401  {
58402  e << static_cast< const ::neuroml2::BaseCurrentBasedSynapse& > (i);
58403 
58404  // tau
58405  //
58406  {
58407  ::xercesc::DOMAttr& a (
58408  ::xsd::cxx::xml::dom::create_attribute (
58409  "tau",
58410  e));
58411 
58412  a << i.tau ();
58413  }
58414 
58415  // ibase
58416  //
58417  {
58418  ::xercesc::DOMAttr& a (
58419  ::xsd::cxx::xml::dom::create_attribute (
58420  "ibase",
58421  e));
58422 
58423  a << i.ibase ();
58424  }
58425  }
58426 
58427  void
58428  operator<< (::xercesc::DOMElement& e, const AlphaSynapse& i)
58429  {
58430  e << static_cast< const ::neuroml2::BaseConductanceBasedSynapse& > (i);
58431 
58432  // tau
58433  //
58434  {
58435  ::xercesc::DOMAttr& a (
58436  ::xsd::cxx::xml::dom::create_attribute (
58437  "tau",
58438  e));
58439 
58440  a << i.tau ();
58441  }
58442  }
58443 
58444  void
58445  operator<< (::xercesc::DOMElement& e, const ExpOneSynapse& i)
58446  {
58447  e << static_cast< const ::neuroml2::BaseConductanceBasedSynapse& > (i);
58448 
58449  // tauDecay
58450  //
58451  {
58452  ::xercesc::DOMAttr& a (
58453  ::xsd::cxx::xml::dom::create_attribute (
58454  "tauDecay",
58455  e));
58456 
58457  a << i.tauDecay ();
58458  }
58459  }
58460 
58461  void
58462  operator<< (::xercesc::DOMElement& e, const ExpTwoSynapse& i)
58463  {
58464  e << static_cast< const ::neuroml2::BaseConductanceBasedSynapse& > (i);
58465 
58466  // tauDecay
58467  //
58468  {
58469  ::xercesc::DOMAttr& a (
58470  ::xsd::cxx::xml::dom::create_attribute (
58471  "tauDecay",
58472  e));
58473 
58474  a << i.tauDecay ();
58475  }
58476 
58477  // tauRise
58478  //
58479  {
58480  ::xercesc::DOMAttr& a (
58481  ::xsd::cxx::xml::dom::create_attribute (
58482  "tauRise",
58483  e));
58484 
58485  a << i.tauRise ();
58486  }
58487  }
58488 
58489  void
58490  operator<< (::xercesc::DOMElement& e, const ExpThreeSynapse& i)
58491  {
58492  e << static_cast< const ::neuroml2::BaseConductanceBasedSynapseTwo& > (i);
58493 
58494  // tauDecay1
58495  //
58496  {
58497  ::xercesc::DOMAttr& a (
58498  ::xsd::cxx::xml::dom::create_attribute (
58499  "tauDecay1",
58500  e));
58501 
58502  a << i.tauDecay1 ();
58503  }
58504 
58505  // tauDecay2
58506  //
58507  {
58508  ::xercesc::DOMAttr& a (
58509  ::xsd::cxx::xml::dom::create_attribute (
58510  "tauDecay2",
58511  e));
58512 
58513  a << i.tauDecay2 ();
58514  }
58515 
58516  // tauRise
58517  //
58518  {
58519  ::xercesc::DOMAttr& a (
58520  ::xsd::cxx::xml::dom::create_attribute (
58521  "tauRise",
58522  e));
58523 
58524  a << i.tauRise ();
58525  }
58526  }
58527 
58528  void
58529  operator<< (::xercesc::DOMElement& e, const DoubleSynapse& i)
58530  {
58531  e << static_cast< const ::neuroml2::BaseVoltageDepSynapse& > (i);
58532 
58533  // synapse1
58534  //
58535  {
58536  ::xercesc::DOMAttr& a (
58537  ::xsd::cxx::xml::dom::create_attribute (
58538  "synapse1",
58539  e));
58540 
58541  a << i.synapse1 ();
58542  }
58543 
58544  // synapse2
58545  //
58546  {
58547  ::xercesc::DOMAttr& a (
58548  ::xsd::cxx::xml::dom::create_attribute (
58549  "synapse2",
58550  e));
58551 
58552  a << i.synapse2 ();
58553  }
58554 
58555  // synapse1Path
58556  //
58557  {
58558  ::xercesc::DOMAttr& a (
58559  ::xsd::cxx::xml::dom::create_attribute (
58560  "synapse1Path",
58561  e));
58562 
58563  a << i.synapse1Path ();
58564  }
58565 
58566  // synapse2Path
58567  //
58568  {
58569  ::xercesc::DOMAttr& a (
58570  ::xsd::cxx::xml::dom::create_attribute (
58571  "synapse2Path",
58572  e));
58573 
58574  a << i.synapse2Path ();
58575  }
58576  }
58577 
58578  void
58579  operator<< (::xercesc::DOMElement& e, const BlockingPlasticSynapse& i)
58580  {
58581  e << static_cast< const ::neuroml2::ExpTwoSynapse& > (i);
58582 
58583  // plasticityMechanism
58584  //
58585  if (i.plasticityMechanism ())
58586  {
58587  ::xercesc::DOMElement& s (
58588  ::xsd::cxx::xml::dom::create_element (
58589  "plasticityMechanism",
58590  "http://www.neuroml.org/schema/neuroml2",
58591  e));
58592 
58593  s << *i.plasticityMechanism ();
58594  }
58595 
58596  // blockMechanism
58597  //
58598  if (i.blockMechanism ())
58599  {
58600  ::xercesc::DOMElement& s (
58601  ::xsd::cxx::xml::dom::create_element (
58602  "blockMechanism",
58603  "http://www.neuroml.org/schema/neuroml2",
58604  e));
58605 
58606  s << *i.blockMechanism ();
58607  }
58608  }
58609 
58610  void
58611  operator<< (::xercesc::DOMElement& e, const BlockTypes& i)
58612  {
58613  e << static_cast< const ::xml_schema::string& > (i);
58614  }
58615 
58616  void
58617  operator<< (::xercesc::DOMAttr& a, const BlockTypes& i)
58618  {
58619  a << static_cast< const ::xml_schema::string& > (i);
58620  }
58621 
58622  void
58623  operator<< (::xml_schema::list_stream& l,
58624  const BlockTypes& i)
58625  {
58626  l << static_cast< const ::xml_schema::string& > (i);
58627  }
58628 
58629  void
58630  operator<< (::xercesc::DOMElement& e, const BlockMechanism& i)
58631  {
58632  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
58633 
58634  // type
58635  //
58636  {
58637  ::xercesc::DOMAttr& a (
58638  ::xsd::cxx::xml::dom::create_attribute (
58639  "type",
58640  e));
58641 
58642  a << i.type ();
58643  }
58644 
58645  // species
58646  //
58647  {
58648  ::xercesc::DOMAttr& a (
58649  ::xsd::cxx::xml::dom::create_attribute (
58650  "species",
58651  e));
58652 
58653  a << i.species ();
58654  }
58655 
58656  // blockConcentration
58657  //
58658  {
58659  ::xercesc::DOMAttr& a (
58660  ::xsd::cxx::xml::dom::create_attribute (
58661  "blockConcentration",
58662  e));
58663 
58664  a << i.blockConcentration ();
58665  }
58666 
58667  // scalingConc
58668  //
58669  {
58670  ::xercesc::DOMAttr& a (
58671  ::xsd::cxx::xml::dom::create_attribute (
58672  "scalingConc",
58673  e));
58674 
58675  a << i.scalingConc ();
58676  }
58677 
58678  // scalingVolt
58679  //
58680  {
58681  ::xercesc::DOMAttr& a (
58682  ::xsd::cxx::xml::dom::create_attribute (
58683  "scalingVolt",
58684  e));
58685 
58686  a << i.scalingVolt ();
58687  }
58688  }
58689 
58690  void
58691  operator<< (::xercesc::DOMElement& e, const PlasticityTypes& i)
58692  {
58693  e << static_cast< const ::xml_schema::string& > (i);
58694  }
58695 
58696  void
58697  operator<< (::xercesc::DOMAttr& a, const PlasticityTypes& i)
58698  {
58699  a << static_cast< const ::xml_schema::string& > (i);
58700  }
58701 
58702  void
58703  operator<< (::xml_schema::list_stream& l,
58704  const PlasticityTypes& i)
58705  {
58706  l << static_cast< const ::xml_schema::string& > (i);
58707  }
58708 
58709  void
58710  operator<< (::xercesc::DOMElement& e, const PlasticityMechanism& i)
58711  {
58712  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
58713 
58714  // type
58715  //
58716  {
58717  ::xercesc::DOMAttr& a (
58718  ::xsd::cxx::xml::dom::create_attribute (
58719  "type",
58720  e));
58721 
58722  a << i.type ();
58723  }
58724 
58725  // initReleaseProb
58726  //
58727  {
58728  ::xercesc::DOMAttr& a (
58729  ::xsd::cxx::xml::dom::create_attribute (
58730  "initReleaseProb",
58731  e));
58732 
58733  a << i.initReleaseProb ();
58734  }
58735 
58736  // tauRec
58737  //
58738  {
58739  ::xercesc::DOMAttr& a (
58740  ::xsd::cxx::xml::dom::create_attribute (
58741  "tauRec",
58742  e));
58743 
58744  a << i.tauRec ();
58745  }
58746 
58747  // tauFac
58748  //
58749  if (i.tauFac ())
58750  {
58751  ::xercesc::DOMAttr& a (
58752  ::xsd::cxx::xml::dom::create_attribute (
58753  "tauFac",
58754  e));
58755 
58756  a << *i.tauFac ();
58757  }
58758  }
58759 
58760  void
58761  operator<< (::xercesc::DOMElement& e, const BaseCell& i)
58762  {
58763  e << static_cast< const ::neuroml2::Standalone& > (i);
58764 
58765  // neuroLexId
58766  //
58767  if (i.neuroLexId ())
58768  {
58769  ::xercesc::DOMAttr& a (
58770  ::xsd::cxx::xml::dom::create_attribute (
58771  "neuroLexId",
58772  e));
58773 
58774  a << *i.neuroLexId ();
58775  }
58776  }
58777 
58778  void
58779  operator<< (::xercesc::DOMElement& e, const IafTauCell& i)
58780  {
58781  e << static_cast< const ::neuroml2::BaseCell& > (i);
58782 
58783  // leakReversal
58784  //
58785  {
58786  ::xercesc::DOMAttr& a (
58787  ::xsd::cxx::xml::dom::create_attribute (
58788  "leakReversal",
58789  e));
58790 
58791  a << i.leakReversal ();
58792  }
58793 
58794  // thresh
58795  //
58796  {
58797  ::xercesc::DOMAttr& a (
58798  ::xsd::cxx::xml::dom::create_attribute (
58799  "thresh",
58800  e));
58801 
58802  a << i.thresh ();
58803  }
58804 
58805  // reset
58806  //
58807  {
58808  ::xercesc::DOMAttr& a (
58809  ::xsd::cxx::xml::dom::create_attribute (
58810  "reset",
58811  e));
58812 
58813  a << i.reset ();
58814  }
58815 
58816  // tau
58817  //
58818  {
58819  ::xercesc::DOMAttr& a (
58820  ::xsd::cxx::xml::dom::create_attribute (
58821  "tau",
58822  e));
58823 
58824  a << i.tau ();
58825  }
58826  }
58827 
58828  void
58829  operator<< (::xercesc::DOMElement& e, const IafTauRefCell& i)
58830  {
58831  e << static_cast< const ::neuroml2::IafTauCell& > (i);
58832 
58833  // refract
58834  //
58835  {
58836  ::xercesc::DOMAttr& a (
58837  ::xsd::cxx::xml::dom::create_attribute (
58838  "refract",
58839  e));
58840 
58841  a << i.refract ();
58842  }
58843  }
58844 
58845  void
58846  operator<< (::xercesc::DOMElement& e, const IafCell& i)
58847  {
58848  e << static_cast< const ::neuroml2::BaseCell& > (i);
58849 
58850  // leakReversal
58851  //
58852  {
58853  ::xercesc::DOMAttr& a (
58854  ::xsd::cxx::xml::dom::create_attribute (
58855  "leakReversal",
58856  e));
58857 
58858  a << i.leakReversal ();
58859  }
58860 
58861  // thresh
58862  //
58863  {
58864  ::xercesc::DOMAttr& a (
58865  ::xsd::cxx::xml::dom::create_attribute (
58866  "thresh",
58867  e));
58868 
58869  a << i.thresh ();
58870  }
58871 
58872  // reset
58873  //
58874  {
58875  ::xercesc::DOMAttr& a (
58876  ::xsd::cxx::xml::dom::create_attribute (
58877  "reset",
58878  e));
58879 
58880  a << i.reset ();
58881  }
58882 
58883  // C
58884  //
58885  {
58886  ::xercesc::DOMAttr& a (
58887  ::xsd::cxx::xml::dom::create_attribute (
58888  "C",
58889  e));
58890 
58891  a << i.C ();
58892  }
58893 
58894  // leakConductance
58895  //
58896  {
58897  ::xercesc::DOMAttr& a (
58898  ::xsd::cxx::xml::dom::create_attribute (
58899  "leakConductance",
58900  e));
58901 
58902  a << i.leakConductance ();
58903  }
58904  }
58905 
58906  void
58907  operator<< (::xercesc::DOMElement& e, const IafRefCell& i)
58908  {
58909  e << static_cast< const ::neuroml2::IafCell& > (i);
58910 
58911  // refract
58912  //
58913  {
58914  ::xercesc::DOMAttr& a (
58915  ::xsd::cxx::xml::dom::create_attribute (
58916  "refract",
58917  e));
58918 
58919  a << i.refract ();
58920  }
58921  }
58922 
58923  void
58924  operator<< (::xercesc::DOMElement& e, const IzhikevichCell& i)
58925  {
58926  e << static_cast< const ::neuroml2::BaseCell& > (i);
58927 
58928  // v0
58929  //
58930  {
58931  ::xercesc::DOMAttr& a (
58932  ::xsd::cxx::xml::dom::create_attribute (
58933  "v0",
58934  e));
58935 
58936  a << i.v0 ();
58937  }
58938 
58939  // thresh
58940  //
58941  {
58942  ::xercesc::DOMAttr& a (
58943  ::xsd::cxx::xml::dom::create_attribute (
58944  "thresh",
58945  e));
58946 
58947  a << i.thresh ();
58948  }
58949 
58950  // a
58951  //
58952  {
58953  ::xercesc::DOMAttr& a (
58954  ::xsd::cxx::xml::dom::create_attribute (
58955  "a",
58956  e));
58957 
58958  a << i.a ();
58959  }
58960 
58961  // b
58962  //
58963  {
58964  ::xercesc::DOMAttr& a (
58965  ::xsd::cxx::xml::dom::create_attribute (
58966  "b",
58967  e));
58968 
58969  a << i.b ();
58970  }
58971 
58972  // c
58973  //
58974  {
58975  ::xercesc::DOMAttr& a (
58976  ::xsd::cxx::xml::dom::create_attribute (
58977  "c",
58978  e));
58979 
58980  a << i.c ();
58981  }
58982 
58983  // d
58984  //
58985  {
58986  ::xercesc::DOMAttr& a (
58987  ::xsd::cxx::xml::dom::create_attribute (
58988  "d",
58989  e));
58990 
58991  a << i.d ();
58992  }
58993  }
58994 
58995  void
58996  operator<< (::xercesc::DOMElement& e, const BaseCellMembPotCap& i)
58997  {
58998  e << static_cast< const ::neuroml2::BaseCell& > (i);
58999 
59000  // C
59001  //
59002  {
59003  ::xercesc::DOMAttr& a (
59004  ::xsd::cxx::xml::dom::create_attribute (
59005  "C",
59006  e));
59007 
59008  a << i.C ();
59009  }
59010  }
59011 
59012  void
59013  operator<< (::xercesc::DOMElement& e, const Izhikevich2007Cell& i)
59014  {
59015  e << static_cast< const ::neuroml2::BaseCellMembPotCap& > (i);
59016 
59017  // v0
59018  //
59019  {
59020  ::xercesc::DOMAttr& a (
59021  ::xsd::cxx::xml::dom::create_attribute (
59022  "v0",
59023  e));
59024 
59025  a << i.v0 ();
59026  }
59027 
59028  // k
59029  //
59030  {
59031  ::xercesc::DOMAttr& a (
59032  ::xsd::cxx::xml::dom::create_attribute (
59033  "k",
59034  e));
59035 
59036  a << i.k ();
59037  }
59038 
59039  // vr
59040  //
59041  {
59042  ::xercesc::DOMAttr& a (
59043  ::xsd::cxx::xml::dom::create_attribute (
59044  "vr",
59045  e));
59046 
59047  a << i.vr ();
59048  }
59049 
59050  // vt
59051  //
59052  {
59053  ::xercesc::DOMAttr& a (
59054  ::xsd::cxx::xml::dom::create_attribute (
59055  "vt",
59056  e));
59057 
59058  a << i.vt ();
59059  }
59060 
59061  // vpeak
59062  //
59063  {
59064  ::xercesc::DOMAttr& a (
59065  ::xsd::cxx::xml::dom::create_attribute (
59066  "vpeak",
59067  e));
59068 
59069  a << i.vpeak ();
59070  }
59071 
59072  // a
59073  //
59074  {
59075  ::xercesc::DOMAttr& a (
59076  ::xsd::cxx::xml::dom::create_attribute (
59077  "a",
59078  e));
59079 
59080  a << i.a ();
59081  }
59082 
59083  // b
59084  //
59085  {
59086  ::xercesc::DOMAttr& a (
59087  ::xsd::cxx::xml::dom::create_attribute (
59088  "b",
59089  e));
59090 
59091  a << i.b ();
59092  }
59093 
59094  // c
59095  //
59096  {
59097  ::xercesc::DOMAttr& a (
59098  ::xsd::cxx::xml::dom::create_attribute (
59099  "c",
59100  e));
59101 
59102  a << i.c ();
59103  }
59104 
59105  // d
59106  //
59107  {
59108  ::xercesc::DOMAttr& a (
59109  ::xsd::cxx::xml::dom::create_attribute (
59110  "d",
59111  e));
59112 
59113  a << i.d ();
59114  }
59115  }
59116 
59117  void
59118  operator<< (::xercesc::DOMElement& e, const AdExIaFCell& i)
59119  {
59120  e << static_cast< const ::neuroml2::BaseCellMembPotCap& > (i);
59121 
59122  // gL
59123  //
59124  {
59125  ::xercesc::DOMAttr& a (
59126  ::xsd::cxx::xml::dom::create_attribute (
59127  "gL",
59128  e));
59129 
59130  a << i.gL ();
59131  }
59132 
59133  // EL
59134  //
59135  {
59136  ::xercesc::DOMAttr& a (
59137  ::xsd::cxx::xml::dom::create_attribute (
59138  "EL",
59139  e));
59140 
59141  a << i.EL ();
59142  }
59143 
59144  // reset
59145  //
59146  {
59147  ::xercesc::DOMAttr& a (
59148  ::xsd::cxx::xml::dom::create_attribute (
59149  "reset",
59150  e));
59151 
59152  a << i.reset ();
59153  }
59154 
59155  // VT
59156  //
59157  {
59158  ::xercesc::DOMAttr& a (
59159  ::xsd::cxx::xml::dom::create_attribute (
59160  "VT",
59161  e));
59162 
59163  a << i.VT ();
59164  }
59165 
59166  // thresh
59167  //
59168  {
59169  ::xercesc::DOMAttr& a (
59170  ::xsd::cxx::xml::dom::create_attribute (
59171  "thresh",
59172  e));
59173 
59174  a << i.thresh ();
59175  }
59176 
59177  // delT
59178  //
59179  {
59180  ::xercesc::DOMAttr& a (
59181  ::xsd::cxx::xml::dom::create_attribute (
59182  "delT",
59183  e));
59184 
59185  a << i.delT ();
59186  }
59187 
59188  // tauw
59189  //
59190  {
59191  ::xercesc::DOMAttr& a (
59192  ::xsd::cxx::xml::dom::create_attribute (
59193  "tauw",
59194  e));
59195 
59196  a << i.tauw ();
59197  }
59198 
59199  // refract
59200  //
59201  {
59202  ::xercesc::DOMAttr& a (
59203  ::xsd::cxx::xml::dom::create_attribute (
59204  "refract",
59205  e));
59206 
59207  a << i.refract ();
59208  }
59209 
59210  // a
59211  //
59212  {
59213  ::xercesc::DOMAttr& a (
59214  ::xsd::cxx::xml::dom::create_attribute (
59215  "a",
59216  e));
59217 
59218  a << i.a ();
59219  }
59220 
59221  // b
59222  //
59223  {
59224  ::xercesc::DOMAttr& a (
59225  ::xsd::cxx::xml::dom::create_attribute (
59226  "b",
59227  e));
59228 
59229  a << i.b ();
59230  }
59231  }
59232 
59233  void
59234  operator<< (::xercesc::DOMElement& e, const FitzHughNagumoCell& i)
59235  {
59236  e << static_cast< const ::neuroml2::BaseCell& > (i);
59237 
59238  // I
59239  //
59240  {
59241  ::xercesc::DOMAttr& a (
59242  ::xsd::cxx::xml::dom::create_attribute (
59243  "I",
59244  e));
59245 
59246  a << i.I ();
59247  }
59248  }
59249 
59250  void
59251  operator<< (::xercesc::DOMElement& e, const FitzHughNagumo1969Cell& i)
59252  {
59253  e << static_cast< const ::neuroml2::BaseCell& > (i);
59254 
59255  // a
59256  //
59257  {
59258  ::xercesc::DOMAttr& a (
59259  ::xsd::cxx::xml::dom::create_attribute (
59260  "a",
59261  e));
59262 
59263  a << i.a ();
59264  }
59265 
59266  // b
59267  //
59268  {
59269  ::xercesc::DOMAttr& a (
59270  ::xsd::cxx::xml::dom::create_attribute (
59271  "b",
59272  e));
59273 
59274  a << i.b ();
59275  }
59276 
59277  // I
59278  //
59279  {
59280  ::xercesc::DOMAttr& a (
59281  ::xsd::cxx::xml::dom::create_attribute (
59282  "I",
59283  e));
59284 
59285  a << i.I ();
59286  }
59287 
59288  // phi
59289  //
59290  {
59291  ::xercesc::DOMAttr& a (
59292  ::xsd::cxx::xml::dom::create_attribute (
59293  "phi",
59294  e));
59295 
59296  a << i.phi ();
59297  }
59298 
59299  // V0
59300  //
59301  {
59302  ::xercesc::DOMAttr& a (
59303  ::xsd::cxx::xml::dom::create_attribute (
59304  "V0",
59305  e));
59306 
59307  a << i.V0 ();
59308  }
59309 
59310  // W0
59311  //
59312  {
59313  ::xercesc::DOMAttr& a (
59314  ::xsd::cxx::xml::dom::create_attribute (
59315  "W0",
59316  e));
59317 
59318  a << i.W0 ();
59319  }
59320  }
59321 
59322  void
59323  operator<< (::xercesc::DOMElement& e, const PinskyRinzelCA3Cell& i)
59324  {
59325  e << static_cast< const ::neuroml2::BaseCell& > (i);
59326 
59327  // iSoma
59328  //
59329  {
59330  ::xercesc::DOMAttr& a (
59331  ::xsd::cxx::xml::dom::create_attribute (
59332  "iSoma",
59333  e));
59334 
59335  a << i.iSoma ();
59336  }
59337 
59338  // iDend
59339  //
59340  {
59341  ::xercesc::DOMAttr& a (
59342  ::xsd::cxx::xml::dom::create_attribute (
59343  "iDend",
59344  e));
59345 
59346  a << i.iDend ();
59347  }
59348 
59349  // gc
59350  //
59351  {
59352  ::xercesc::DOMAttr& a (
59353  ::xsd::cxx::xml::dom::create_attribute (
59354  "gc",
59355  e));
59356 
59357  a << i.gc ();
59358  }
59359 
59360  // gLs
59361  //
59362  {
59363  ::xercesc::DOMAttr& a (
59364  ::xsd::cxx::xml::dom::create_attribute (
59365  "gLs",
59366  e));
59367 
59368  a << i.gLs ();
59369  }
59370 
59371  // gLd
59372  //
59373  {
59374  ::xercesc::DOMAttr& a (
59375  ::xsd::cxx::xml::dom::create_attribute (
59376  "gLd",
59377  e));
59378 
59379  a << i.gLd ();
59380  }
59381 
59382  // gNa
59383  //
59384  {
59385  ::xercesc::DOMAttr& a (
59386  ::xsd::cxx::xml::dom::create_attribute (
59387  "gNa",
59388  e));
59389 
59390  a << i.gNa ();
59391  }
59392 
59393  // gKdr
59394  //
59395  {
59396  ::xercesc::DOMAttr& a (
59397  ::xsd::cxx::xml::dom::create_attribute (
59398  "gKdr",
59399  e));
59400 
59401  a << i.gKdr ();
59402  }
59403 
59404  // gCa
59405  //
59406  {
59407  ::xercesc::DOMAttr& a (
59408  ::xsd::cxx::xml::dom::create_attribute (
59409  "gCa",
59410  e));
59411 
59412  a << i.gCa ();
59413  }
59414 
59415  // gKahp
59416  //
59417  {
59418  ::xercesc::DOMAttr& a (
59419  ::xsd::cxx::xml::dom::create_attribute (
59420  "gKahp",
59421  e));
59422 
59423  a << i.gKahp ();
59424  }
59425 
59426  // gKC
59427  //
59428  {
59429  ::xercesc::DOMAttr& a (
59430  ::xsd::cxx::xml::dom::create_attribute (
59431  "gKC",
59432  e));
59433 
59434  a << i.gKC ();
59435  }
59436 
59437  // gNmda
59438  //
59439  {
59440  ::xercesc::DOMAttr& a (
59441  ::xsd::cxx::xml::dom::create_attribute (
59442  "gNmda",
59443  e));
59444 
59445  a << i.gNmda ();
59446  }
59447 
59448  // gAmpa
59449  //
59450  {
59451  ::xercesc::DOMAttr& a (
59452  ::xsd::cxx::xml::dom::create_attribute (
59453  "gAmpa",
59454  e));
59455 
59456  a << i.gAmpa ();
59457  }
59458 
59459  // eNa
59460  //
59461  {
59462  ::xercesc::DOMAttr& a (
59463  ::xsd::cxx::xml::dom::create_attribute (
59464  "eNa",
59465  e));
59466 
59467  a << i.eNa ();
59468  }
59469 
59470  // eCa
59471  //
59472  {
59473  ::xercesc::DOMAttr& a (
59474  ::xsd::cxx::xml::dom::create_attribute (
59475  "eCa",
59476  e));
59477 
59478  a << i.eCa ();
59479  }
59480 
59481  // eK
59482  //
59483  {
59484  ::xercesc::DOMAttr& a (
59485  ::xsd::cxx::xml::dom::create_attribute (
59486  "eK",
59487  e));
59488 
59489  a << i.eK ();
59490  }
59491 
59492  // eL
59493  //
59494  {
59495  ::xercesc::DOMAttr& a (
59496  ::xsd::cxx::xml::dom::create_attribute (
59497  "eL",
59498  e));
59499 
59500  a << i.eL ();
59501  }
59502 
59503  // qd0
59504  //
59505  {
59506  ::xercesc::DOMAttr& a (
59507  ::xsd::cxx::xml::dom::create_attribute (
59508  "qd0",
59509  e));
59510 
59511  a << i.qd0 ();
59512  }
59513 
59514  // pp
59515  //
59516  {
59517  ::xercesc::DOMAttr& a (
59518  ::xsd::cxx::xml::dom::create_attribute (
59519  "pp",
59520  e));
59521 
59522  a << i.pp ();
59523  }
59524 
59525  // alphac
59526  //
59527  {
59528  ::xercesc::DOMAttr& a (
59529  ::xsd::cxx::xml::dom::create_attribute (
59530  "alphac",
59531  e));
59532 
59533  a << i.alphac ();
59534  }
59535 
59536  // betac
59537  //
59538  {
59539  ::xercesc::DOMAttr& a (
59540  ::xsd::cxx::xml::dom::create_attribute (
59541  "betac",
59542  e));
59543 
59544  a << i.betac ();
59545  }
59546 
59547  // cm
59548  //
59549  {
59550  ::xercesc::DOMAttr& a (
59551  ::xsd::cxx::xml::dom::create_attribute (
59552  "cm",
59553  e));
59554 
59555  a << i.cm ();
59556  }
59557  }
59558 
59559  void
59560  operator<< (::xercesc::DOMElement& e, const HindmarshRose1984Cell& i)
59561  {
59562  e << static_cast< const ::neuroml2::BaseCellMembPotCap& > (i);
59563 
59564  // a
59565  //
59566  {
59567  ::xercesc::DOMAttr& a (
59568  ::xsd::cxx::xml::dom::create_attribute (
59569  "a",
59570  e));
59571 
59572  a << i.a ();
59573  }
59574 
59575  // b
59576  //
59577  {
59578  ::xercesc::DOMAttr& a (
59579  ::xsd::cxx::xml::dom::create_attribute (
59580  "b",
59581  e));
59582 
59583  a << i.b ();
59584  }
59585 
59586  // c
59587  //
59588  {
59589  ::xercesc::DOMAttr& a (
59590  ::xsd::cxx::xml::dom::create_attribute (
59591  "c",
59592  e));
59593 
59594  a << i.c ();
59595  }
59596 
59597  // d
59598  //
59599  {
59600  ::xercesc::DOMAttr& a (
59601  ::xsd::cxx::xml::dom::create_attribute (
59602  "d",
59603  e));
59604 
59605  a << i.d ();
59606  }
59607 
59608  // s
59609  //
59610  {
59611  ::xercesc::DOMAttr& a (
59612  ::xsd::cxx::xml::dom::create_attribute (
59613  "s",
59614  e));
59615 
59616  a << i.s ();
59617  }
59618 
59619  // x1
59620  //
59621  {
59622  ::xercesc::DOMAttr& a (
59623  ::xsd::cxx::xml::dom::create_attribute (
59624  "x1",
59625  e));
59626 
59627  a << i.x1 ();
59628  }
59629 
59630  // r
59631  //
59632  {
59633  ::xercesc::DOMAttr& a (
59634  ::xsd::cxx::xml::dom::create_attribute (
59635  "r",
59636  e));
59637 
59638  a << i.r ();
59639  }
59640 
59641  // x0
59642  //
59643  {
59644  ::xercesc::DOMAttr& a (
59645  ::xsd::cxx::xml::dom::create_attribute (
59646  "x0",
59647  e));
59648 
59649  a << i.x0 ();
59650  }
59651 
59652  // y0
59653  //
59654  {
59655  ::xercesc::DOMAttr& a (
59656  ::xsd::cxx::xml::dom::create_attribute (
59657  "y0",
59658  e));
59659 
59660  a << i.y0 ();
59661  }
59662 
59663  // z0
59664  //
59665  {
59666  ::xercesc::DOMAttr& a (
59667  ::xsd::cxx::xml::dom::create_attribute (
59668  "z0",
59669  e));
59670 
59671  a << i.z0 ();
59672  }
59673 
59674  // v_scaling
59675  //
59676  {
59677  ::xercesc::DOMAttr& a (
59678  ::xsd::cxx::xml::dom::create_attribute (
59679  "v_scaling",
59680  e));
59681 
59682  a << i.v_scaling ();
59683  }
59684  }
59685 
59686  void
59687  operator<< (::xercesc::DOMElement& e, const Cell& i)
59688  {
59689  e << static_cast< const ::neuroml2::BaseCell& > (i);
59690 
59691  // morphology
59692  //
59693  if (i.morphology ())
59694  {
59695  ::xercesc::DOMElement& s (
59696  ::xsd::cxx::xml::dom::create_element (
59697  "morphology",
59698  "http://www.neuroml.org/schema/neuroml2",
59699  e));
59700 
59701  s << *i.morphology ();
59702  }
59703 
59704  // biophysicalProperties
59705  //
59706  if (i.biophysicalProperties ())
59707  {
59708  ::xercesc::DOMElement& s (
59709  ::xsd::cxx::xml::dom::create_element (
59710  "biophysicalProperties",
59711  "http://www.neuroml.org/schema/neuroml2",
59712  e));
59713 
59714  s << *i.biophysicalProperties ();
59715  }
59716 
59717  // morphology
59718  //
59719  if (i.morphology1 ())
59720  {
59721  ::xercesc::DOMAttr& a (
59722  ::xsd::cxx::xml::dom::create_attribute (
59723  "morphology",
59724  e));
59725 
59726  a << *i.morphology1 ();
59727  }
59728 
59729  // biophysicalProperties
59730  //
59731  if (i.biophysicalProperties1 ())
59732  {
59733  ::xercesc::DOMAttr& a (
59734  ::xsd::cxx::xml::dom::create_attribute (
59735  "biophysicalProperties",
59736  e));
59737 
59738  a << *i.biophysicalProperties1 ();
59739  }
59740  }
59741 
59742  void
59743  operator<< (::xercesc::DOMElement& e, const Cell2CaPools& i)
59744  {
59745  e << static_cast< const ::neuroml2::Cell& > (i);
59746 
59747  // biophysicalProperties2CaPools
59748  //
59749  if (i.biophysicalProperties2CaPools ())
59750  {
59751  ::xercesc::DOMElement& s (
59752  ::xsd::cxx::xml::dom::create_element (
59753  "biophysicalProperties2CaPools",
59754  "http://www.neuroml.org/schema/neuroml2",
59755  e));
59756 
59757  s << *i.biophysicalProperties2CaPools ();
59758  }
59759  }
59760 
59761  void
59762  operator<< (::xercesc::DOMElement& e, const Morphology_base& i)
59763  {
59764  e << static_cast< const ::neuroml2::Standalone& > (i);
59765 
59766  // segment
59767  //
59769  b (i.segment ().begin ()), n (i.segment ().end ());
59770  b != n; ++b)
59771  {
59772  ::xercesc::DOMElement& s (
59773  ::xsd::cxx::xml::dom::create_element (
59774  "segment",
59775  "http://www.neuroml.org/schema/neuroml2",
59776  e));
59777 
59778  s << *b;
59779  }
59780 
59781  // segmentGroup
59782  //
59784  b (i.segmentGroup ().begin ()), n (i.segmentGroup ().end ());
59785  b != n; ++b)
59786  {
59787  ::xercesc::DOMElement& s (
59788  ::xsd::cxx::xml::dom::create_element (
59789  "segmentGroup",
59790  "http://www.neuroml.org/schema/neuroml2",
59791  e));
59792 
59793  s << *b;
59794  }
59795  }
59796 
59797  void
59798  operator<< (::xercesc::DOMElement& e, const BaseNonNegativeIntegerId& i)
59799  {
59800  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
59801 
59802  // id
59803  //
59804  {
59805  ::xercesc::DOMAttr& a (
59806  ::xsd::cxx::xml::dom::create_attribute (
59807  "id",
59808  e));
59809 
59810  a << i.id ();
59811  }
59812  }
59813 
59814  void
59815  operator<< (::xercesc::DOMElement& e, const Segment_base& i)
59816  {
59817  e << static_cast< const ::neuroml2::BaseNonNegativeIntegerId& > (i);
59818 
59819  // parent
59820  //
59821  if (i.parent ())
59822  {
59823  ::xercesc::DOMElement& s (
59824  ::xsd::cxx::xml::dom::create_element (
59825  "parent",
59826  "http://www.neuroml.org/schema/neuroml2",
59827  e));
59828 
59829  s << *i.parent ();
59830  }
59831 
59832  // proximal
59833  //
59834  if (i.proximal ())
59835  {
59836  ::xercesc::DOMElement& s (
59837  ::xsd::cxx::xml::dom::create_element (
59838  "proximal",
59839  "http://www.neuroml.org/schema/neuroml2",
59840  e));
59841 
59842  s << *i.proximal ();
59843  }
59844 
59845  // distal
59846  //
59847  {
59848  ::xercesc::DOMElement& s (
59849  ::xsd::cxx::xml::dom::create_element (
59850  "distal",
59851  "http://www.neuroml.org/schema/neuroml2",
59852  e));
59853 
59854  s << i.distal ();
59855  }
59856 
59857  // name
59858  //
59859  if (i.name ())
59860  {
59861  ::xercesc::DOMAttr& a (
59862  ::xsd::cxx::xml::dom::create_attribute (
59863  "name",
59864  e));
59865 
59866  a << *i.name ();
59867  }
59868 
59869  // neuroLexId
59870  //
59871  if (i.neuroLexId ())
59872  {
59873  ::xercesc::DOMAttr& a (
59874  ::xsd::cxx::xml::dom::create_attribute (
59875  "neuroLexId",
59876  e));
59877 
59878  a << *i.neuroLexId ();
59879  }
59880  }
59881 
59882  void
59883  operator<< (::xercesc::DOMElement& e, const SegmentParent& i)
59884  {
59885  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
59886 
59887  // segment
59888  //
59889  {
59890  ::xercesc::DOMAttr& a (
59891  ::xsd::cxx::xml::dom::create_attribute (
59892  "segment",
59893  e));
59894 
59895  a << i.segment ();
59896  }
59897 
59898  // fractionAlong
59899  //
59900  {
59901  ::xercesc::DOMAttr& a (
59902  ::xsd::cxx::xml::dom::create_attribute (
59903  "fractionAlong",
59904  e));
59905 
59906  a << i.fractionAlong ();
59907  }
59908  }
59909 
59910  void
59911  operator<< (::xercesc::DOMElement& e, const Point3DWithDiam& i)
59912  {
59913  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
59914 
59915  // x
59916  //
59917  {
59918  ::xercesc::DOMAttr& a (
59919  ::xsd::cxx::xml::dom::create_attribute (
59920  "x",
59921  e));
59922 
59923  a << ::xml_schema::as_double(i.x ());
59924  }
59925 
59926  // y
59927  //
59928  {
59929  ::xercesc::DOMAttr& a (
59930  ::xsd::cxx::xml::dom::create_attribute (
59931  "y",
59932  e));
59933 
59934  a << ::xml_schema::as_double(i.y ());
59935  }
59936 
59937  // z
59938  //
59939  {
59940  ::xercesc::DOMAttr& a (
59941  ::xsd::cxx::xml::dom::create_attribute (
59942  "z",
59943  e));
59944 
59945  a << ::xml_schema::as_double(i.z ());
59946  }
59947 
59948  // diameter
59949  //
59950  {
59951  ::xercesc::DOMAttr& a (
59952  ::xsd::cxx::xml::dom::create_attribute (
59953  "diameter",
59954  e));
59955 
59956  a << i.diameter ();
59957  }
59958  }
59959 
59960  void
59961  operator<< (::xercesc::DOMElement& e, const SegmentGroup& i)
59962  {
59963  e << static_cast< const ::neuroml2::Base& > (i);
59964 
59965  // notes
59966  //
59967  if (i.notes ())
59968  {
59969  ::xercesc::DOMElement& s (
59970  ::xsd::cxx::xml::dom::create_element (
59971  "notes",
59972  "http://www.neuroml.org/schema/neuroml2",
59973  e));
59974 
59975  s << *i.notes ();
59976  }
59977 
59978  // property
59979  //
59981  b (i.property ().begin ()), n (i.property ().end ());
59982  b != n; ++b)
59983  {
59984  ::xercesc::DOMElement& s (
59985  ::xsd::cxx::xml::dom::create_element (
59986  "property",
59987  "http://www.neuroml.org/schema/neuroml2",
59988  e));
59989 
59990  s << *b;
59991  }
59992 
59993  // annotation
59994  //
59995  if (i.annotation ())
59996  {
59997  ::xercesc::DOMElement& s (
59998  ::xsd::cxx::xml::dom::create_element (
59999  "annotation",
60000  "http://www.neuroml.org/schema/neuroml2",
60001  e));
60002 
60003  s << *i.annotation ();
60004  }
60005 
60006  // member
60007  //
60009  b (i.member ().begin ()), n (i.member ().end ());
60010  b != n; ++b)
60011  {
60012  ::xercesc::DOMElement& s (
60013  ::xsd::cxx::xml::dom::create_element (
60014  "member",
60015  "http://www.neuroml.org/schema/neuroml2",
60016  e));
60017 
60018  s << *b;
60019  }
60020 
60021  // include
60022  //
60024  b (i.include ().begin ()), n (i.include ().end ());
60025  b != n; ++b)
60026  {
60027  ::xercesc::DOMElement& s (
60028  ::xsd::cxx::xml::dom::create_element (
60029  "include",
60030  "http://www.neuroml.org/schema/neuroml2",
60031  e));
60032 
60033  s << *b;
60034  }
60035 
60036  // path
60037  //
60039  b (i.path ().begin ()), n (i.path ().end ());
60040  b != n; ++b)
60041  {
60042  ::xercesc::DOMElement& s (
60043  ::xsd::cxx::xml::dom::create_element (
60044  "path",
60045  "http://www.neuroml.org/schema/neuroml2",
60046  e));
60047 
60048  s << *b;
60049  }
60050 
60051  // subTree
60052  //
60054  b (i.subTree ().begin ()), n (i.subTree ().end ());
60055  b != n; ++b)
60056  {
60057  ::xercesc::DOMElement& s (
60058  ::xsd::cxx::xml::dom::create_element (
60059  "subTree",
60060  "http://www.neuroml.org/schema/neuroml2",
60061  e));
60062 
60063  s << *b;
60064  }
60065 
60066  // inhomogeneousParameter
60067  //
60069  b (i.inhomogeneousParameter ().begin ()), n (i.inhomogeneousParameter ().end ());
60070  b != n; ++b)
60071  {
60072  ::xercesc::DOMElement& s (
60073  ::xsd::cxx::xml::dom::create_element (
60074  "inhomogeneousParameter",
60075  "http://www.neuroml.org/schema/neuroml2",
60076  e));
60077 
60078  s << *b;
60079  }
60080 
60081  // neuroLexId
60082  //
60083  if (i.neuroLexId ())
60084  {
60085  ::xercesc::DOMAttr& a (
60086  ::xsd::cxx::xml::dom::create_attribute (
60087  "neuroLexId",
60088  e));
60089 
60090  a << *i.neuroLexId ();
60091  }
60092  }
60093 
60094  void
60095  operator<< (::xercesc::DOMElement& e, const InhomogeneousParameter& i)
60096  {
60097  e << static_cast< const ::neuroml2::Base& > (i);
60098 
60099  // proximal
60100  //
60101  if (i.proximal ())
60102  {
60103  ::xercesc::DOMElement& s (
60104  ::xsd::cxx::xml::dom::create_element (
60105  "proximal",
60106  "http://www.neuroml.org/schema/neuroml2",
60107  e));
60108 
60109  s << *i.proximal ();
60110  }
60111 
60112  // distal
60113  //
60114  if (i.distal ())
60115  {
60116  ::xercesc::DOMElement& s (
60117  ::xsd::cxx::xml::dom::create_element (
60118  "distal",
60119  "http://www.neuroml.org/schema/neuroml2",
60120  e));
60121 
60122  s << *i.distal ();
60123  }
60124 
60125  // variable
60126  //
60127  {
60128  ::xercesc::DOMAttr& a (
60129  ::xsd::cxx::xml::dom::create_attribute (
60130  "variable",
60131  e));
60132 
60133  a << i.variable ();
60134  }
60135 
60136  // metric
60137  //
60138  {
60139  ::xercesc::DOMAttr& a (
60140  ::xsd::cxx::xml::dom::create_attribute (
60141  "metric",
60142  e));
60143 
60144  a << i.metric ();
60145  }
60146  }
60147 
60148  void
60149  operator<< (::xercesc::DOMElement& e, const Metric& i)
60150  {
60151  e << static_cast< const ::xml_schema::string& > (i);
60152  }
60153 
60154  void
60155  operator<< (::xercesc::DOMAttr& a, const Metric& i)
60156  {
60157  a << static_cast< const ::xml_schema::string& > (i);
60158  }
60159 
60160  void
60161  operator<< (::xml_schema::list_stream& l,
60162  const Metric& i)
60163  {
60164  l << static_cast< const ::xml_schema::string& > (i);
60165  }
60166 
60167  void
60168  operator<< (::xercesc::DOMElement& e, const ProximalDetails& i)
60169  {
60170  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
60171 
60172  // translationStart
60173  //
60174  {
60175  ::xercesc::DOMAttr& a (
60176  ::xsd::cxx::xml::dom::create_attribute (
60177  "translationStart",
60178  e));
60179 
60180  a << ::xml_schema::as_double(i.translationStart ());
60181  }
60182  }
60183 
60184  void
60185  operator<< (::xercesc::DOMElement& e, const DistalDetails& i)
60186  {
60187  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
60188 
60189  // normalizationEnd
60190  //
60191  {
60192  ::xercesc::DOMAttr& a (
60193  ::xsd::cxx::xml::dom::create_attribute (
60194  "normalizationEnd",
60195  e));
60196 
60197  a << ::xml_schema::as_double(i.normalizationEnd ());
60198  }
60199  }
60200 
60201  void
60202  operator<< (::xercesc::DOMElement& e, const Member& i)
60203  {
60204  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
60205 
60206  // segment
60207  //
60208  {
60209  ::xercesc::DOMAttr& a (
60210  ::xsd::cxx::xml::dom::create_attribute (
60211  "segment",
60212  e));
60213 
60214  a << i.segment ();
60215  }
60216  }
60217 
60218  void
60219  operator<< (::xercesc::DOMElement& e, const Include& i)
60220  {
60221  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
60222 
60223  // segmentGroup
60224  //
60225  {
60226  ::xercesc::DOMAttr& a (
60227  ::xsd::cxx::xml::dom::create_attribute (
60228  "segmentGroup",
60229  e));
60230 
60231  a << i.segmentGroup ();
60232  }
60233  }
60234 
60235  void
60236  operator<< (::xercesc::DOMElement& e, const Path& i)
60237  {
60238  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
60239 
60240  // from
60241  //
60242  if (i.from ())
60243  {
60244  ::xercesc::DOMElement& s (
60245  ::xsd::cxx::xml::dom::create_element (
60246  "from",
60247  "http://www.neuroml.org/schema/neuroml2",
60248  e));
60249 
60250  s << *i.from ();
60251  }
60252 
60253  // to
60254  //
60255  if (i.to ())
60256  {
60257  ::xercesc::DOMElement& s (
60258  ::xsd::cxx::xml::dom::create_element (
60259  "to",
60260  "http://www.neuroml.org/schema/neuroml2",
60261  e));
60262 
60263  s << *i.to ();
60264  }
60265  }
60266 
60267  void
60268  operator<< (::xercesc::DOMElement& e, const SubTree& i)
60269  {
60270  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
60271 
60272  // from
60273  //
60274  if (i.from ())
60275  {
60276  ::xercesc::DOMElement& s (
60277  ::xsd::cxx::xml::dom::create_element (
60278  "from",
60279  "http://www.neuroml.org/schema/neuroml2",
60280  e));
60281 
60282  s << *i.from ();
60283  }
60284 
60285  // to
60286  //
60287  if (i.to ())
60288  {
60289  ::xercesc::DOMElement& s (
60290  ::xsd::cxx::xml::dom::create_element (
60291  "to",
60292  "http://www.neuroml.org/schema/neuroml2",
60293  e));
60294 
60295  s << *i.to ();
60296  }
60297  }
60298 
60299  void
60300  operator<< (::xercesc::DOMElement& e, const SegmentEndPoint& i)
60301  {
60302  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
60303 
60304  // segment
60305  //
60306  {
60307  ::xercesc::DOMAttr& a (
60308  ::xsd::cxx::xml::dom::create_attribute (
60309  "segment",
60310  e));
60311 
60312  a << i.segment ();
60313  }
60314  }
60315 
60316  void
60317  operator<< (::xercesc::DOMElement& e, const BiophysicalProperties& i)
60318  {
60319  e << static_cast< const ::neuroml2::Standalone& > (i);
60320 
60321  // membraneProperties
60322  //
60323  {
60324  ::xercesc::DOMElement& s (
60325  ::xsd::cxx::xml::dom::create_element (
60326  "membraneProperties",
60327  "http://www.neuroml.org/schema/neuroml2",
60328  e));
60329 
60330  s << i.membraneProperties ();
60331  }
60332 
60333  // intracellularProperties
60334  //
60335  if (i.intracellularProperties ())
60336  {
60337  ::xercesc::DOMElement& s (
60338  ::xsd::cxx::xml::dom::create_element (
60339  "intracellularProperties",
60340  "http://www.neuroml.org/schema/neuroml2",
60341  e));
60342 
60343  s << *i.intracellularProperties ();
60344  }
60345 
60346  // extracellularProperties
60347  //
60348  if (i.extracellularProperties ())
60349  {
60350  ::xercesc::DOMElement& s (
60351  ::xsd::cxx::xml::dom::create_element (
60352  "extracellularProperties",
60353  "http://www.neuroml.org/schema/neuroml2",
60354  e));
60355 
60356  s << *i.extracellularProperties ();
60357  }
60358  }
60359 
60360  void
60361  operator<< (::xercesc::DOMElement& e, const BiophysicalProperties2CaPools& i)
60362  {
60363  e << static_cast< const ::neuroml2::Standalone& > (i);
60364 
60365  // membraneProperties2CaPools
60366  //
60367  {
60368  ::xercesc::DOMElement& s (
60369  ::xsd::cxx::xml::dom::create_element (
60370  "membraneProperties2CaPools",
60371  "http://www.neuroml.org/schema/neuroml2",
60372  e));
60373 
60374  s << i.membraneProperties2CaPools ();
60375  }
60376 
60377  // intracellularProperties2CaPools
60378  //
60379  if (i.intracellularProperties2CaPools ())
60380  {
60381  ::xercesc::DOMElement& s (
60382  ::xsd::cxx::xml::dom::create_element (
60383  "intracellularProperties2CaPools",
60384  "http://www.neuroml.org/schema/neuroml2",
60385  e));
60386 
60387  s << *i.intracellularProperties2CaPools ();
60388  }
60389 
60390  // extracellularProperties
60391  //
60392  if (i.extracellularProperties ())
60393  {
60394  ::xercesc::DOMElement& s (
60395  ::xsd::cxx::xml::dom::create_element (
60396  "extracellularProperties",
60397  "http://www.neuroml.org/schema/neuroml2",
60398  e));
60399 
60400  s << *i.extracellularProperties ();
60401  }
60402  }
60403 
60404  void
60405  operator<< (::xercesc::DOMElement& e, const MembraneProperties& i)
60406  {
60407  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
60408 
60409  // channelPopulation
60410  //
60412  b (i.channelPopulation ().begin ()), n (i.channelPopulation ().end ());
60413  b != n; ++b)
60414  {
60415  ::xercesc::DOMElement& s (
60416  ::xsd::cxx::xml::dom::create_element (
60417  "channelPopulation",
60418  "http://www.neuroml.org/schema/neuroml2",
60419  e));
60420 
60421  s << *b;
60422  }
60423 
60424  // channelDensity
60425  //
60427  b (i.channelDensity ().begin ()), n (i.channelDensity ().end ());
60428  b != n; ++b)
60429  {
60430  ::xercesc::DOMElement& s (
60431  ::xsd::cxx::xml::dom::create_element (
60432  "channelDensity",
60433  "http://www.neuroml.org/schema/neuroml2",
60434  e));
60435 
60436  s << *b;
60437  }
60438 
60439  // channelDensityVShift
60440  //
60442  b (i.channelDensityVShift ().begin ()), n (i.channelDensityVShift ().end ());
60443  b != n; ++b)
60444  {
60445  ::xercesc::DOMElement& s (
60446  ::xsd::cxx::xml::dom::create_element (
60447  "channelDensityVShift",
60448  "http://www.neuroml.org/schema/neuroml2",
60449  e));
60450 
60451  s << *b;
60452  }
60453 
60454  // channelDensityNernst
60455  //
60457  b (i.channelDensityNernst ().begin ()), n (i.channelDensityNernst ().end ());
60458  b != n; ++b)
60459  {
60460  ::xercesc::DOMElement& s (
60461  ::xsd::cxx::xml::dom::create_element (
60462  "channelDensityNernst",
60463  "http://www.neuroml.org/schema/neuroml2",
60464  e));
60465 
60466  s << *b;
60467  }
60468 
60469  // channelDensityGHK
60470  //
60472  b (i.channelDensityGHK ().begin ()), n (i.channelDensityGHK ().end ());
60473  b != n; ++b)
60474  {
60475  ::xercesc::DOMElement& s (
60476  ::xsd::cxx::xml::dom::create_element (
60477  "channelDensityGHK",
60478  "http://www.neuroml.org/schema/neuroml2",
60479  e));
60480 
60481  s << *b;
60482  }
60483 
60484  // channelDensityGHK2
60485  //
60487  b (i.channelDensityGHK2 ().begin ()), n (i.channelDensityGHK2 ().end ());
60488  b != n; ++b)
60489  {
60490  ::xercesc::DOMElement& s (
60491  ::xsd::cxx::xml::dom::create_element (
60492  "channelDensityGHK2",
60493  "http://www.neuroml.org/schema/neuroml2",
60494  e));
60495 
60496  s << *b;
60497  }
60498 
60499  // channelDensityNonUniform
60500  //
60502  b (i.channelDensityNonUniform ().begin ()), n (i.channelDensityNonUniform ().end ());
60503  b != n; ++b)
60504  {
60505  ::xercesc::DOMElement& s (
60506  ::xsd::cxx::xml::dom::create_element (
60507  "channelDensityNonUniform",
60508  "http://www.neuroml.org/schema/neuroml2",
60509  e));
60510 
60511  s << *b;
60512  }
60513 
60514  // channelDensityNonUniformNernst
60515  //
60517  b (i.channelDensityNonUniformNernst ().begin ()), n (i.channelDensityNonUniformNernst ().end ());
60518  b != n; ++b)
60519  {
60520  ::xercesc::DOMElement& s (
60521  ::xsd::cxx::xml::dom::create_element (
60522  "channelDensityNonUniformNernst",
60523  "http://www.neuroml.org/schema/neuroml2",
60524  e));
60525 
60526  s << *b;
60527  }
60528 
60529  // channelDensityNonUniformGHK
60530  //
60532  b (i.channelDensityNonUniformGHK ().begin ()), n (i.channelDensityNonUniformGHK ().end ());
60533  b != n; ++b)
60534  {
60535  ::xercesc::DOMElement& s (
60536  ::xsd::cxx::xml::dom::create_element (
60537  "channelDensityNonUniformGHK",
60538  "http://www.neuroml.org/schema/neuroml2",
60539  e));
60540 
60541  s << *b;
60542  }
60543 
60544  // spikeThresh
60545  //
60547  b (i.spikeThresh ().begin ()), n (i.spikeThresh ().end ());
60548  b != n; ++b)
60549  {
60550  ::xercesc::DOMElement& s (
60551  ::xsd::cxx::xml::dom::create_element (
60552  "spikeThresh",
60553  "http://www.neuroml.org/schema/neuroml2",
60554  e));
60555 
60556  s << *b;
60557  }
60558 
60559  // specificCapacitance
60560  //
60562  b (i.specificCapacitance ().begin ()), n (i.specificCapacitance ().end ());
60563  b != n; ++b)
60564  {
60565  ::xercesc::DOMElement& s (
60566  ::xsd::cxx::xml::dom::create_element (
60567  "specificCapacitance",
60568  "http://www.neuroml.org/schema/neuroml2",
60569  e));
60570 
60571  s << *b;
60572  }
60573 
60574  // initMembPotential
60575  //
60577  b (i.initMembPotential ().begin ()), n (i.initMembPotential ().end ());
60578  b != n; ++b)
60579  {
60580  ::xercesc::DOMElement& s (
60581  ::xsd::cxx::xml::dom::create_element (
60582  "initMembPotential",
60583  "http://www.neuroml.org/schema/neuroml2",
60584  e));
60585 
60586  s << *b;
60587  }
60588  }
60589 
60590  void
60591  operator<< (::xercesc::DOMElement& e, const MembraneProperties2CaPools& i)
60592  {
60593  e << static_cast< const ::neuroml2::MembraneProperties& > (i);
60594 
60595  // channelDensityNernstCa2
60596  //
60598  b (i.channelDensityNernstCa2 ().begin ()), n (i.channelDensityNernstCa2 ().end ());
60599  b != n; ++b)
60600  {
60601  ::xercesc::DOMElement& s (
60602  ::xsd::cxx::xml::dom::create_element (
60603  "channelDensityNernstCa2",
60604  "http://www.neuroml.org/schema/neuroml2",
60605  e));
60606 
60607  s << *b;
60608  }
60609  }
60610 
60611  void
60612  operator<< (::xercesc::DOMElement& e, const SpikeThresh& i)
60613  {
60614  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
60615 
60616  // value
60617  //
60618  {
60619  ::xercesc::DOMAttr& a (
60620  ::xsd::cxx::xml::dom::create_attribute (
60621  "value",
60622  e));
60623 
60624  a << i.value ();
60625  }
60626 
60627  // segmentGroup
60628  //
60629  {
60630  ::xercesc::DOMAttr& a (
60631  ::xsd::cxx::xml::dom::create_attribute (
60632  "segmentGroup",
60633  e));
60634 
60635  a << i.segmentGroup ();
60636  }
60637  }
60638 
60639  void
60640  operator<< (::xercesc::DOMElement& e, const SpecificCapacitance& i)
60641  {
60642  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
60643 
60644  // value
60645  //
60646  {
60647  ::xercesc::DOMAttr& a (
60648  ::xsd::cxx::xml::dom::create_attribute (
60649  "value",
60650  e));
60651 
60652  a << i.value ();
60653  }
60654 
60655  // segmentGroup
60656  //
60657  {
60658  ::xercesc::DOMAttr& a (
60659  ::xsd::cxx::xml::dom::create_attribute (
60660  "segmentGroup",
60661  e));
60662 
60663  a << i.segmentGroup ();
60664  }
60665  }
60666 
60667  void
60668  operator<< (::xercesc::DOMElement& e, const InitMembPotential& i)
60669  {
60670  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
60671 
60672  // value
60673  //
60674  {
60675  ::xercesc::DOMAttr& a (
60676  ::xsd::cxx::xml::dom::create_attribute (
60677  "value",
60678  e));
60679 
60680  a << i.value ();
60681  }
60682 
60683  // segmentGroup
60684  //
60685  {
60686  ::xercesc::DOMAttr& a (
60687  ::xsd::cxx::xml::dom::create_attribute (
60688  "segmentGroup",
60689  e));
60690 
60691  a << i.segmentGroup ();
60692  }
60693  }
60694 
60695  void
60696  operator<< (::xercesc::DOMElement& e, const Resistivity& i)
60697  {
60698  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
60699 
60700  // value
60701  //
60702  {
60703  ::xercesc::DOMAttr& a (
60704  ::xsd::cxx::xml::dom::create_attribute (
60705  "value",
60706  e));
60707 
60708  a << i.value ();
60709  }
60710 
60711  // segmentGroup
60712  //
60713  {
60714  ::xercesc::DOMAttr& a (
60715  ::xsd::cxx::xml::dom::create_attribute (
60716  "segmentGroup",
60717  e));
60718 
60719  a << i.segmentGroup ();
60720  }
60721  }
60722 
60723  void
60724  operator<< (::xercesc::DOMElement& e, const ChannelPopulation& i)
60725  {
60726  e << static_cast< const ::neuroml2::Base& > (i);
60727 
60728  // variableParameter
60729  //
60731  b (i.variableParameter ().begin ()), n (i.variableParameter ().end ());
60732  b != n; ++b)
60733  {
60734  ::xercesc::DOMElement& s (
60735  ::xsd::cxx::xml::dom::create_element (
60736  "variableParameter",
60737  "http://www.neuroml.org/schema/neuroml2",
60738  e));
60739 
60740  s << *b;
60741  }
60742 
60743  // ionChannel
60744  //
60745  {
60746  ::xercesc::DOMAttr& a (
60747  ::xsd::cxx::xml::dom::create_attribute (
60748  "ionChannel",
60749  e));
60750 
60751  a << i.ionChannel ();
60752  }
60753 
60754  // number
60755  //
60756  {
60757  ::xercesc::DOMAttr& a (
60758  ::xsd::cxx::xml::dom::create_attribute (
60759  "number",
60760  e));
60761 
60762  a << i.number ();
60763  }
60764 
60765  // erev
60766  //
60767  {
60768  ::xercesc::DOMAttr& a (
60769  ::xsd::cxx::xml::dom::create_attribute (
60770  "erev",
60771  e));
60772 
60773  a << i.erev ();
60774  }
60775 
60776  // segmentGroup
60777  //
60778  {
60779  ::xercesc::DOMAttr& a (
60780  ::xsd::cxx::xml::dom::create_attribute (
60781  "segmentGroup",
60782  e));
60783 
60784  a << i.segmentGroup ();
60785  }
60786 
60787  // segment
60788  //
60789  if (i.segment ())
60790  {
60791  ::xercesc::DOMAttr& a (
60792  ::xsd::cxx::xml::dom::create_attribute (
60793  "segment",
60794  e));
60795 
60796  a << *i.segment ();
60797  }
60798 
60799  // ion
60800  //
60801  {
60802  ::xercesc::DOMAttr& a (
60803  ::xsd::cxx::xml::dom::create_attribute (
60804  "ion",
60805  e));
60806 
60807  a << i.ion ();
60808  }
60809  }
60810 
60811  void
60812  operator<< (::xercesc::DOMElement& e, const ChannelDensityNonUniform& i)
60813  {
60814  e << static_cast< const ::neuroml2::Base& > (i);
60815 
60816  // variableParameter
60817  //
60819  b (i.variableParameter ().begin ()), n (i.variableParameter ().end ());
60820  b != n; ++b)
60821  {
60822  ::xercesc::DOMElement& s (
60823  ::xsd::cxx::xml::dom::create_element (
60824  "variableParameter",
60825  "http://www.neuroml.org/schema/neuroml2",
60826  e));
60827 
60828  s << *b;
60829  }
60830 
60831  // ionChannel
60832  //
60833  {
60834  ::xercesc::DOMAttr& a (
60835  ::xsd::cxx::xml::dom::create_attribute (
60836  "ionChannel",
60837  e));
60838 
60839  a << i.ionChannel ();
60840  }
60841 
60842  // erev
60843  //
60844  {
60845  ::xercesc::DOMAttr& a (
60846  ::xsd::cxx::xml::dom::create_attribute (
60847  "erev",
60848  e));
60849 
60850  a << i.erev ();
60851  }
60852 
60853  // ion
60854  //
60855  {
60856  ::xercesc::DOMAttr& a (
60857  ::xsd::cxx::xml::dom::create_attribute (
60858  "ion",
60859  e));
60860 
60861  a << i.ion ();
60862  }
60863  }
60864 
60865  void
60866  operator<< (::xercesc::DOMElement& e, const ChannelDensityNonUniformNernst& i)
60867  {
60868  e << static_cast< const ::neuroml2::Base& > (i);
60869 
60870  // variableParameter
60871  //
60873  b (i.variableParameter ().begin ()), n (i.variableParameter ().end ());
60874  b != n; ++b)
60875  {
60876  ::xercesc::DOMElement& s (
60877  ::xsd::cxx::xml::dom::create_element (
60878  "variableParameter",
60879  "http://www.neuroml.org/schema/neuroml2",
60880  e));
60881 
60882  s << *b;
60883  }
60884 
60885  // ionChannel
60886  //
60887  {
60888  ::xercesc::DOMAttr& a (
60889  ::xsd::cxx::xml::dom::create_attribute (
60890  "ionChannel",
60891  e));
60892 
60893  a << i.ionChannel ();
60894  }
60895 
60896  // ion
60897  //
60898  {
60899  ::xercesc::DOMAttr& a (
60900  ::xsd::cxx::xml::dom::create_attribute (
60901  "ion",
60902  e));
60903 
60904  a << i.ion ();
60905  }
60906  }
60907 
60908  void
60909  operator<< (::xercesc::DOMElement& e, const ChannelDensityNonUniformGHK& i)
60910  {
60911  e << static_cast< const ::neuroml2::Base& > (i);
60912 
60913  // variableParameter
60914  //
60916  b (i.variableParameter ().begin ()), n (i.variableParameter ().end ());
60917  b != n; ++b)
60918  {
60919  ::xercesc::DOMElement& s (
60920  ::xsd::cxx::xml::dom::create_element (
60921  "variableParameter",
60922  "http://www.neuroml.org/schema/neuroml2",
60923  e));
60924 
60925  s << *b;
60926  }
60927 
60928  // ionChannel
60929  //
60930  {
60931  ::xercesc::DOMAttr& a (
60932  ::xsd::cxx::xml::dom::create_attribute (
60933  "ionChannel",
60934  e));
60935 
60936  a << i.ionChannel ();
60937  }
60938 
60939  // ion
60940  //
60941  {
60942  ::xercesc::DOMAttr& a (
60943  ::xsd::cxx::xml::dom::create_attribute (
60944  "ion",
60945  e));
60946 
60947  a << i.ion ();
60948  }
60949  }
60950 
60951  void
60952  operator<< (::xercesc::DOMElement& e, const ChannelDensity& i)
60953  {
60954  e << static_cast< const ::neuroml2::Base& > (i);
60955 
60956  // variableParameter
60957  //
60959  b (i.variableParameter ().begin ()), n (i.variableParameter ().end ());
60960  b != n; ++b)
60961  {
60962  ::xercesc::DOMElement& s (
60963  ::xsd::cxx::xml::dom::create_element (
60964  "variableParameter",
60965  "http://www.neuroml.org/schema/neuroml2",
60966  e));
60967 
60968  s << *b;
60969  }
60970 
60971  // ionChannel
60972  //
60973  {
60974  ::xercesc::DOMAttr& a (
60975  ::xsd::cxx::xml::dom::create_attribute (
60976  "ionChannel",
60977  e));
60978 
60979  a << i.ionChannel ();
60980  }
60981 
60982  // condDensity
60983  //
60984  if (i.condDensity ())
60985  {
60986  ::xercesc::DOMAttr& a (
60987  ::xsd::cxx::xml::dom::create_attribute (
60988  "condDensity",
60989  e));
60990 
60991  a << *i.condDensity ();
60992  }
60993 
60994  // erev
60995  //
60996  {
60997  ::xercesc::DOMAttr& a (
60998  ::xsd::cxx::xml::dom::create_attribute (
60999  "erev",
61000  e));
61001 
61002  a << i.erev ();
61003  }
61004 
61005  // segmentGroup
61006  //
61007  {
61008  ::xercesc::DOMAttr& a (
61009  ::xsd::cxx::xml::dom::create_attribute (
61010  "segmentGroup",
61011  e));
61012 
61013  a << i.segmentGroup ();
61014  }
61015 
61016  // segment
61017  //
61018  if (i.segment ())
61019  {
61020  ::xercesc::DOMAttr& a (
61021  ::xsd::cxx::xml::dom::create_attribute (
61022  "segment",
61023  e));
61024 
61025  a << *i.segment ();
61026  }
61027 
61028  // ion
61029  //
61030  {
61031  ::xercesc::DOMAttr& a (
61032  ::xsd::cxx::xml::dom::create_attribute (
61033  "ion",
61034  e));
61035 
61036  a << i.ion ();
61037  }
61038  }
61039 
61040  void
61041  operator<< (::xercesc::DOMElement& e, const ChannelDensityVShift& i)
61042  {
61043  e << static_cast< const ::neuroml2::ChannelDensity& > (i);
61044 
61045  // vShift
61046  //
61047  {
61048  ::xercesc::DOMAttr& a (
61049  ::xsd::cxx::xml::dom::create_attribute (
61050  "vShift",
61051  e));
61052 
61053  a << i.vShift ();
61054  }
61055  }
61056 
61057  void
61058  operator<< (::xercesc::DOMElement& e, const ChannelDensityNernst& i)
61059  {
61060  e << static_cast< const ::neuroml2::Base& > (i);
61061 
61062  // variableParameter
61063  //
61065  b (i.variableParameter ().begin ()), n (i.variableParameter ().end ());
61066  b != n; ++b)
61067  {
61068  ::xercesc::DOMElement& s (
61069  ::xsd::cxx::xml::dom::create_element (
61070  "variableParameter",
61071  "http://www.neuroml.org/schema/neuroml2",
61072  e));
61073 
61074  s << *b;
61075  }
61076 
61077  // ionChannel
61078  //
61079  {
61080  ::xercesc::DOMAttr& a (
61081  ::xsd::cxx::xml::dom::create_attribute (
61082  "ionChannel",
61083  e));
61084 
61085  a << i.ionChannel ();
61086  }
61087 
61088  // condDensity
61089  //
61090  if (i.condDensity ())
61091  {
61092  ::xercesc::DOMAttr& a (
61093  ::xsd::cxx::xml::dom::create_attribute (
61094  "condDensity",
61095  e));
61096 
61097  a << *i.condDensity ();
61098  }
61099 
61100  // segmentGroup
61101  //
61102  {
61103  ::xercesc::DOMAttr& a (
61104  ::xsd::cxx::xml::dom::create_attribute (
61105  "segmentGroup",
61106  e));
61107 
61108  a << i.segmentGroup ();
61109  }
61110 
61111  // segment
61112  //
61113  if (i.segment ())
61114  {
61115  ::xercesc::DOMAttr& a (
61116  ::xsd::cxx::xml::dom::create_attribute (
61117  "segment",
61118  e));
61119 
61120  a << *i.segment ();
61121  }
61122 
61123  // ion
61124  //
61125  {
61126  ::xercesc::DOMAttr& a (
61127  ::xsd::cxx::xml::dom::create_attribute (
61128  "ion",
61129  e));
61130 
61131  a << i.ion ();
61132  }
61133  }
61134 
61135  void
61136  operator<< (::xercesc::DOMElement& e, const ChannelDensityNernstCa2& i)
61137  {
61138  e << static_cast< const ::neuroml2::ChannelDensityNernst& > (i);
61139  }
61140 
61141  void
61142  operator<< (::xercesc::DOMElement& e, const ChannelDensityGHK& i)
61143  {
61144  e << static_cast< const ::neuroml2::Base& > (i);
61145 
61146  // ionChannel
61147  //
61148  {
61149  ::xercesc::DOMAttr& a (
61150  ::xsd::cxx::xml::dom::create_attribute (
61151  "ionChannel",
61152  e));
61153 
61154  a << i.ionChannel ();
61155  }
61156 
61157  // permeability
61158  //
61159  {
61160  ::xercesc::DOMAttr& a (
61161  ::xsd::cxx::xml::dom::create_attribute (
61162  "permeability",
61163  e));
61164 
61165  a << i.permeability ();
61166  }
61167 
61168  // segmentGroup
61169  //
61170  {
61171  ::xercesc::DOMAttr& a (
61172  ::xsd::cxx::xml::dom::create_attribute (
61173  "segmentGroup",
61174  e));
61175 
61176  a << i.segmentGroup ();
61177  }
61178 
61179  // segment
61180  //
61181  if (i.segment ())
61182  {
61183  ::xercesc::DOMAttr& a (
61184  ::xsd::cxx::xml::dom::create_attribute (
61185  "segment",
61186  e));
61187 
61188  a << *i.segment ();
61189  }
61190 
61191  // ion
61192  //
61193  {
61194  ::xercesc::DOMAttr& a (
61195  ::xsd::cxx::xml::dom::create_attribute (
61196  "ion",
61197  e));
61198 
61199  a << i.ion ();
61200  }
61201  }
61202 
61203  void
61204  operator<< (::xercesc::DOMElement& e, const ChannelDensityGHK2& i)
61205  {
61206  e << static_cast< const ::neuroml2::Base& > (i);
61207 
61208  // ionChannel
61209  //
61210  {
61211  ::xercesc::DOMAttr& a (
61212  ::xsd::cxx::xml::dom::create_attribute (
61213  "ionChannel",
61214  e));
61215 
61216  a << i.ionChannel ();
61217  }
61218 
61219  // condDensity
61220  //
61221  if (i.condDensity ())
61222  {
61223  ::xercesc::DOMAttr& a (
61224  ::xsd::cxx::xml::dom::create_attribute (
61225  "condDensity",
61226  e));
61227 
61228  a << *i.condDensity ();
61229  }
61230 
61231  // segmentGroup
61232  //
61233  {
61234  ::xercesc::DOMAttr& a (
61235  ::xsd::cxx::xml::dom::create_attribute (
61236  "segmentGroup",
61237  e));
61238 
61239  a << i.segmentGroup ();
61240  }
61241 
61242  // segment
61243  //
61244  if (i.segment ())
61245  {
61246  ::xercesc::DOMAttr& a (
61247  ::xsd::cxx::xml::dom::create_attribute (
61248  "segment",
61249  e));
61250 
61251  a << *i.segment ();
61252  }
61253 
61254  // ion
61255  //
61256  {
61257  ::xercesc::DOMAttr& a (
61258  ::xsd::cxx::xml::dom::create_attribute (
61259  "ion",
61260  e));
61261 
61262  a << i.ion ();
61263  }
61264  }
61265 
61266  void
61267  operator<< (::xercesc::DOMElement& e, const VariableParameter& i)
61268  {
61269  e << static_cast< const ::xml_schema::type& > (i);
61270 
61271  // inhomogeneousValue
61272  //
61273  if (i.inhomogeneousValue ())
61274  {
61275  ::xercesc::DOMElement& s (
61276  ::xsd::cxx::xml::dom::create_element (
61277  "inhomogeneousValue",
61278  "http://www.neuroml.org/schema/neuroml2",
61279  e));
61280 
61281  s << *i.inhomogeneousValue ();
61282  }
61283 
61284  // parameter
61285  //
61286  {
61287  ::xercesc::DOMAttr& a (
61288  ::xsd::cxx::xml::dom::create_attribute (
61289  "parameter",
61290  e));
61291 
61292  a << i.parameter ();
61293  }
61294 
61295  // segmentGroup
61296  //
61297  {
61298  ::xercesc::DOMAttr& a (
61299  ::xsd::cxx::xml::dom::create_attribute (
61300  "segmentGroup",
61301  e));
61302 
61303  a << i.segmentGroup ();
61304  }
61305  }
61306 
61307  void
61308  operator<< (::xercesc::DOMElement& e, const InhomogeneousValue& i)
61309  {
61310  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
61311 
61312  // inhomogeneousParameter
61313  //
61314  {
61315  ::xercesc::DOMAttr& a (
61316  ::xsd::cxx::xml::dom::create_attribute (
61317  "inhomogeneousParameter",
61318  e));
61319 
61320  a << i.inhomogeneousParameter ();
61321  }
61322 
61323  // value
61324  //
61325  {
61326  ::xercesc::DOMAttr& a (
61327  ::xsd::cxx::xml::dom::create_attribute (
61328  "value",
61329  e));
61330 
61331  a << i.value ();
61332  }
61333  }
61334 
61335  void
61336  operator<< (::xercesc::DOMElement& e, const Species& i)
61337  {
61338  e << static_cast< const ::neuroml2::Base& > (i);
61339 
61340  // concentrationModel
61341  //
61342  {
61343  ::xercesc::DOMAttr& a (
61344  ::xsd::cxx::xml::dom::create_attribute (
61345  "concentrationModel",
61346  e));
61347 
61348  a << i.concentrationModel ();
61349  }
61350 
61351  // ion
61352  //
61353  if (i.ion ())
61354  {
61355  ::xercesc::DOMAttr& a (
61356  ::xsd::cxx::xml::dom::create_attribute (
61357  "ion",
61358  e));
61359 
61360  a << *i.ion ();
61361  }
61362 
61363  // initialConcentration
61364  //
61365  {
61366  ::xercesc::DOMAttr& a (
61367  ::xsd::cxx::xml::dom::create_attribute (
61368  "initialConcentration",
61369  e));
61370 
61371  a << i.initialConcentration ();
61372  }
61373 
61374  // initialExtConcentration
61375  //
61376  {
61377  ::xercesc::DOMAttr& a (
61378  ::xsd::cxx::xml::dom::create_attribute (
61379  "initialExtConcentration",
61380  e));
61381 
61382  a << i.initialExtConcentration ();
61383  }
61384 
61385  // segmentGroup
61386  //
61387  {
61388  ::xercesc::DOMAttr& a (
61389  ::xsd::cxx::xml::dom::create_attribute (
61390  "segmentGroup",
61391  e));
61392 
61393  a << i.segmentGroup ();
61394  }
61395  }
61396 
61397  void
61398  operator<< (::xercesc::DOMElement& e, const ConcentrationModel_D& i)
61399  {
61400  e << static_cast< const ::neuroml2::DecayingPoolConcentrationModel& > (i);
61401 
61402  // type
61403  //
61404  {
61405  ::xercesc::DOMAttr& a (
61406  ::xsd::cxx::xml::dom::create_attribute (
61407  "type",
61408  e));
61409 
61410  a << i.type ();
61411  }
61412  }
61413 
61414  void
61415  operator<< (::xercesc::DOMElement& e, const IntracellularProperties& i)
61416  {
61417  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
61418 
61419  // species
61420  //
61422  b (i.species ().begin ()), n (i.species ().end ());
61423  b != n; ++b)
61424  {
61425  ::xercesc::DOMElement& s (
61426  ::xsd::cxx::xml::dom::create_element (
61427  "species",
61428  "http://www.neuroml.org/schema/neuroml2",
61429  e));
61430 
61431  s << *b;
61432  }
61433 
61434  // resistivity
61435  //
61437  b (i.resistivity ().begin ()), n (i.resistivity ().end ());
61438  b != n; ++b)
61439  {
61440  ::xercesc::DOMElement& s (
61441  ::xsd::cxx::xml::dom::create_element (
61442  "resistivity",
61443  "http://www.neuroml.org/schema/neuroml2",
61444  e));
61445 
61446  s << *b;
61447  }
61448  }
61449 
61450  void
61451  operator<< (::xercesc::DOMElement& e, const IntracellularProperties2CaPools& i)
61452  {
61453  e << static_cast< const ::neuroml2::IntracellularProperties& > (i);
61454  }
61455 
61456  void
61457  operator<< (::xercesc::DOMElement& e, const ExtracellularProperties& i)
61458  {
61459  e << static_cast< const ::neuroml2::Base& > (i);
61460 
61461  // species
61462  //
61464  b (i.species ().begin ()), n (i.species ().end ());
61465  b != n; ++b)
61466  {
61467  ::xercesc::DOMElement& s (
61468  ::xsd::cxx::xml::dom::create_element (
61469  "species",
61470  "http://www.neuroml.org/schema/neuroml2",
61471  e));
61472 
61473  s << *b;
61474  }
61475  }
61476 
61477  void
61478  operator<< (::xercesc::DOMElement& e, const ExtracellularPropertiesLocal& i)
61479  {
61480  e << static_cast< const ::neuroml2::Base& > (i);
61481 
61482  // species
61483  //
61485  b (i.species ().begin ()), n (i.species ().end ());
61486  b != n; ++b)
61487  {
61488  ::xercesc::DOMElement& s (
61489  ::xsd::cxx::xml::dom::create_element (
61490  "species",
61491  "http://www.neuroml.org/schema/neuroml2",
61492  e));
61493 
61494  s << *b;
61495  }
61496  }
61497 
61498  void
61499  operator<< (::xercesc::DOMElement& e, const ReactionScheme& i)
61500  {
61501  e << static_cast< const ::neuroml2::Base& > (i);
61502 
61503  // source
61504  //
61505  {
61506  ::xercesc::DOMAttr& a (
61507  ::xsd::cxx::xml::dom::create_attribute (
61508  "source",
61509  e));
61510 
61511  a << i.source ();
61512  }
61513 
61514  // type
61515  //
61516  {
61517  ::xercesc::DOMAttr& a (
61518  ::xsd::cxx::xml::dom::create_attribute (
61519  "type",
61520  e));
61521 
61522  a << i.type ();
61523  }
61524  }
61525 
61526  void
61527  operator<< (::xercesc::DOMElement& e, const PulseGenerator& i)
61528  {
61529  e << static_cast< const ::neuroml2::Standalone& > (i);
61530 
61531  // delay
61532  //
61533  {
61534  ::xercesc::DOMAttr& a (
61535  ::xsd::cxx::xml::dom::create_attribute (
61536  "delay",
61537  e));
61538 
61539  a << i.delay ();
61540  }
61541 
61542  // duration
61543  //
61544  {
61545  ::xercesc::DOMAttr& a (
61546  ::xsd::cxx::xml::dom::create_attribute (
61547  "duration",
61548  e));
61549 
61550  a << i.duration ();
61551  }
61552 
61553  // amplitude
61554  //
61555  {
61556  ::xercesc::DOMAttr& a (
61557  ::xsd::cxx::xml::dom::create_attribute (
61558  "amplitude",
61559  e));
61560 
61561  a << i.amplitude ();
61562  }
61563  }
61564 
61565  void
61566  operator<< (::xercesc::DOMElement& e, const PulseGeneratorDL& i)
61567  {
61568  e << static_cast< const ::neuroml2::Standalone& > (i);
61569 
61570  // delay
61571  //
61572  {
61573  ::xercesc::DOMAttr& a (
61574  ::xsd::cxx::xml::dom::create_attribute (
61575  "delay",
61576  e));
61577 
61578  a << i.delay ();
61579  }
61580 
61581  // duration
61582  //
61583  {
61584  ::xercesc::DOMAttr& a (
61585  ::xsd::cxx::xml::dom::create_attribute (
61586  "duration",
61587  e));
61588 
61589  a << i.duration ();
61590  }
61591 
61592  // amplitude
61593  //
61594  {
61595  ::xercesc::DOMAttr& a (
61596  ::xsd::cxx::xml::dom::create_attribute (
61597  "amplitude",
61598  e));
61599 
61600  a << i.amplitude ();
61601  }
61602  }
61603 
61604  void
61605  operator<< (::xercesc::DOMElement& e, const SineGenerator& i)
61606  {
61607  e << static_cast< const ::neuroml2::Standalone& > (i);
61608 
61609  // delay
61610  //
61611  {
61612  ::xercesc::DOMAttr& a (
61613  ::xsd::cxx::xml::dom::create_attribute (
61614  "delay",
61615  e));
61616 
61617  a << i.delay ();
61618  }
61619 
61620  // phase
61621  //
61622  {
61623  ::xercesc::DOMAttr& a (
61624  ::xsd::cxx::xml::dom::create_attribute (
61625  "phase",
61626  e));
61627 
61628  a << i.phase ();
61629  }
61630 
61631  // duration
61632  //
61633  {
61634  ::xercesc::DOMAttr& a (
61635  ::xsd::cxx::xml::dom::create_attribute (
61636  "duration",
61637  e));
61638 
61639  a << i.duration ();
61640  }
61641 
61642  // amplitude
61643  //
61644  {
61645  ::xercesc::DOMAttr& a (
61646  ::xsd::cxx::xml::dom::create_attribute (
61647  "amplitude",
61648  e));
61649 
61650  a << i.amplitude ();
61651  }
61652 
61653  // period
61654  //
61655  {
61656  ::xercesc::DOMAttr& a (
61657  ::xsd::cxx::xml::dom::create_attribute (
61658  "period",
61659  e));
61660 
61661  a << i.period ();
61662  }
61663  }
61664 
61665  void
61666  operator<< (::xercesc::DOMElement& e, const SineGeneratorDL& i)
61667  {
61668  e << static_cast< const ::neuroml2::Standalone& > (i);
61669 
61670  // delay
61671  //
61672  {
61673  ::xercesc::DOMAttr& a (
61674  ::xsd::cxx::xml::dom::create_attribute (
61675  "delay",
61676  e));
61677 
61678  a << i.delay ();
61679  }
61680 
61681  // phase
61682  //
61683  {
61684  ::xercesc::DOMAttr& a (
61685  ::xsd::cxx::xml::dom::create_attribute (
61686  "phase",
61687  e));
61688 
61689  a << i.phase ();
61690  }
61691 
61692  // duration
61693  //
61694  {
61695  ::xercesc::DOMAttr& a (
61696  ::xsd::cxx::xml::dom::create_attribute (
61697  "duration",
61698  e));
61699 
61700  a << i.duration ();
61701  }
61702 
61703  // amplitude
61704  //
61705  {
61706  ::xercesc::DOMAttr& a (
61707  ::xsd::cxx::xml::dom::create_attribute (
61708  "amplitude",
61709  e));
61710 
61711  a << i.amplitude ();
61712  }
61713 
61714  // period
61715  //
61716  {
61717  ::xercesc::DOMAttr& a (
61718  ::xsd::cxx::xml::dom::create_attribute (
61719  "period",
61720  e));
61721 
61722  a << i.period ();
61723  }
61724  }
61725 
61726  void
61727  operator<< (::xercesc::DOMElement& e, const RampGenerator& i)
61728  {
61729  e << static_cast< const ::neuroml2::Standalone& > (i);
61730 
61731  // delay
61732  //
61733  {
61734  ::xercesc::DOMAttr& a (
61735  ::xsd::cxx::xml::dom::create_attribute (
61736  "delay",
61737  e));
61738 
61739  a << i.delay ();
61740  }
61741 
61742  // duration
61743  //
61744  {
61745  ::xercesc::DOMAttr& a (
61746  ::xsd::cxx::xml::dom::create_attribute (
61747  "duration",
61748  e));
61749 
61750  a << i.duration ();
61751  }
61752 
61753  // startAmplitude
61754  //
61755  {
61756  ::xercesc::DOMAttr& a (
61757  ::xsd::cxx::xml::dom::create_attribute (
61758  "startAmplitude",
61759  e));
61760 
61761  a << i.startAmplitude ();
61762  }
61763 
61764  // finishAmplitude
61765  //
61766  {
61767  ::xercesc::DOMAttr& a (
61768  ::xsd::cxx::xml::dom::create_attribute (
61769  "finishAmplitude",
61770  e));
61771 
61772  a << i.finishAmplitude ();
61773  }
61774 
61775  // baselineAmplitude
61776  //
61777  {
61778  ::xercesc::DOMAttr& a (
61779  ::xsd::cxx::xml::dom::create_attribute (
61780  "baselineAmplitude",
61781  e));
61782 
61783  a << i.baselineAmplitude ();
61784  }
61785  }
61786 
61787  void
61788  operator<< (::xercesc::DOMElement& e, const RampGeneratorDL& i)
61789  {
61790  e << static_cast< const ::neuroml2::Standalone& > (i);
61791 
61792  // delay
61793  //
61794  {
61795  ::xercesc::DOMAttr& a (
61796  ::xsd::cxx::xml::dom::create_attribute (
61797  "delay",
61798  e));
61799 
61800  a << i.delay ();
61801  }
61802 
61803  // duration
61804  //
61805  {
61806  ::xercesc::DOMAttr& a (
61807  ::xsd::cxx::xml::dom::create_attribute (
61808  "duration",
61809  e));
61810 
61811  a << i.duration ();
61812  }
61813 
61814  // startAmplitude
61815  //
61816  {
61817  ::xercesc::DOMAttr& a (
61818  ::xsd::cxx::xml::dom::create_attribute (
61819  "startAmplitude",
61820  e));
61821 
61822  a << i.startAmplitude ();
61823  }
61824 
61825  // finishAmplitude
61826  //
61827  {
61828  ::xercesc::DOMAttr& a (
61829  ::xsd::cxx::xml::dom::create_attribute (
61830  "finishAmplitude",
61831  e));
61832 
61833  a << i.finishAmplitude ();
61834  }
61835 
61836  // baselineAmplitude
61837  //
61838  {
61839  ::xercesc::DOMAttr& a (
61840  ::xsd::cxx::xml::dom::create_attribute (
61841  "baselineAmplitude",
61842  e));
61843 
61844  a << i.baselineAmplitude ();
61845  }
61846  }
61847 
61848  void
61849  operator<< (::xercesc::DOMElement& e, const CompoundInput& i)
61850  {
61851  e << static_cast< const ::neuroml2::Standalone& > (i);
61852 
61853  // pulseGenerator
61854  //
61856  b (i.pulseGenerator ().begin ()), n (i.pulseGenerator ().end ());
61857  b != n; ++b)
61858  {
61859  ::xercesc::DOMElement& s (
61860  ::xsd::cxx::xml::dom::create_element (
61861  "pulseGenerator",
61862  "http://www.neuroml.org/schema/neuroml2",
61863  e));
61864 
61865  s << *b;
61866  }
61867 
61868  // sineGenerator
61869  //
61871  b (i.sineGenerator ().begin ()), n (i.sineGenerator ().end ());
61872  b != n; ++b)
61873  {
61874  ::xercesc::DOMElement& s (
61875  ::xsd::cxx::xml::dom::create_element (
61876  "sineGenerator",
61877  "http://www.neuroml.org/schema/neuroml2",
61878  e));
61879 
61880  s << *b;
61881  }
61882 
61883  // rampGenerator
61884  //
61886  b (i.rampGenerator ().begin ()), n (i.rampGenerator ().end ());
61887  b != n; ++b)
61888  {
61889  ::xercesc::DOMElement& s (
61890  ::xsd::cxx::xml::dom::create_element (
61891  "rampGenerator",
61892  "http://www.neuroml.org/schema/neuroml2",
61893  e));
61894 
61895  s << *b;
61896  }
61897  }
61898 
61899  void
61900  operator<< (::xercesc::DOMElement& e, const CompoundInputDL& i)
61901  {
61902  e << static_cast< const ::neuroml2::Standalone& > (i);
61903 
61904  // pulseGeneratorDL
61905  //
61907  b (i.pulseGeneratorDL ().begin ()), n (i.pulseGeneratorDL ().end ());
61908  b != n; ++b)
61909  {
61910  ::xercesc::DOMElement& s (
61911  ::xsd::cxx::xml::dom::create_element (
61912  "pulseGeneratorDL",
61913  "http://www.neuroml.org/schema/neuroml2",
61914  e));
61915 
61916  s << *b;
61917  }
61918 
61919  // sineGeneratorDL
61920  //
61922  b (i.sineGeneratorDL ().begin ()), n (i.sineGeneratorDL ().end ());
61923  b != n; ++b)
61924  {
61925  ::xercesc::DOMElement& s (
61926  ::xsd::cxx::xml::dom::create_element (
61927  "sineGeneratorDL",
61928  "http://www.neuroml.org/schema/neuroml2",
61929  e));
61930 
61931  s << *b;
61932  }
61933 
61934  // rampGeneratorDL
61935  //
61937  b (i.rampGeneratorDL ().begin ()), n (i.rampGeneratorDL ().end ());
61938  b != n; ++b)
61939  {
61940  ::xercesc::DOMElement& s (
61941  ::xsd::cxx::xml::dom::create_element (
61942  "rampGeneratorDL",
61943  "http://www.neuroml.org/schema/neuroml2",
61944  e));
61945 
61946  s << *b;
61947  }
61948  }
61949 
61950  void
61951  operator<< (::xercesc::DOMElement& e, const VoltageClamp& i)
61952  {
61953  e << static_cast< const ::neuroml2::Standalone& > (i);
61954 
61955  // delay
61956  //
61957  {
61958  ::xercesc::DOMAttr& a (
61959  ::xsd::cxx::xml::dom::create_attribute (
61960  "delay",
61961  e));
61962 
61963  a << i.delay ();
61964  }
61965 
61966  // duration
61967  //
61968  {
61969  ::xercesc::DOMAttr& a (
61970  ::xsd::cxx::xml::dom::create_attribute (
61971  "duration",
61972  e));
61973 
61974  a << i.duration ();
61975  }
61976 
61977  // targetVoltage
61978  //
61979  {
61980  ::xercesc::DOMAttr& a (
61981  ::xsd::cxx::xml::dom::create_attribute (
61982  "targetVoltage",
61983  e));
61984 
61985  a << i.targetVoltage ();
61986  }
61987 
61988  // simpleSeriesResistance
61989  //
61990  {
61991  ::xercesc::DOMAttr& a (
61992  ::xsd::cxx::xml::dom::create_attribute (
61993  "simpleSeriesResistance",
61994  e));
61995 
61996  a << i.simpleSeriesResistance ();
61997  }
61998  }
61999 
62000  void
62001  operator<< (::xercesc::DOMElement& e, const VoltageClampTriple& i)
62002  {
62003  e << static_cast< const ::neuroml2::Standalone& > (i);
62004 
62005  // active
62006  //
62007  {
62008  ::xercesc::DOMAttr& a (
62009  ::xsd::cxx::xml::dom::create_attribute (
62010  "active",
62011  e));
62012 
62013  a << i.active ();
62014  }
62015 
62016  // delay
62017  //
62018  {
62019  ::xercesc::DOMAttr& a (
62020  ::xsd::cxx::xml::dom::create_attribute (
62021  "delay",
62022  e));
62023 
62024  a << i.delay ();
62025  }
62026 
62027  // duration
62028  //
62029  {
62030  ::xercesc::DOMAttr& a (
62031  ::xsd::cxx::xml::dom::create_attribute (
62032  "duration",
62033  e));
62034 
62035  a << i.duration ();
62036  }
62037 
62038  // conditioningVoltage
62039  //
62040  {
62041  ::xercesc::DOMAttr& a (
62042  ::xsd::cxx::xml::dom::create_attribute (
62043  "conditioningVoltage",
62044  e));
62045 
62046  a << i.conditioningVoltage ();
62047  }
62048 
62049  // testingVoltage
62050  //
62051  {
62052  ::xercesc::DOMAttr& a (
62053  ::xsd::cxx::xml::dom::create_attribute (
62054  "testingVoltage",
62055  e));
62056 
62057  a << i.testingVoltage ();
62058  }
62059 
62060  // returnVoltage
62061  //
62062  {
62063  ::xercesc::DOMAttr& a (
62064  ::xsd::cxx::xml::dom::create_attribute (
62065  "returnVoltage",
62066  e));
62067 
62068  a << i.returnVoltage ();
62069  }
62070 
62071  // simpleSeriesResistance
62072  //
62073  {
62074  ::xercesc::DOMAttr& a (
62075  ::xsd::cxx::xml::dom::create_attribute (
62076  "simpleSeriesResistance",
62077  e));
62078 
62079  a << i.simpleSeriesResistance ();
62080  }
62081  }
62082 
62083  void
62084  operator<< (::xercesc::DOMElement& e, const Spike& i)
62085  {
62086  e << static_cast< const ::neuroml2::BaseNonNegativeIntegerId& > (i);
62087 
62088  // time
62089  //
62090  {
62091  ::xercesc::DOMAttr& a (
62092  ::xsd::cxx::xml::dom::create_attribute (
62093  "time",
62094  e));
62095 
62096  a << i.time ();
62097  }
62098  }
62099 
62100  void
62101  operator<< (::xercesc::DOMElement& e, const SpikeArray& i)
62102  {
62103  e << static_cast< const ::neuroml2::Standalone& > (i);
62104 
62105  // spike
62106  //
62108  b (i.spike ().begin ()), n (i.spike ().end ());
62109  b != n; ++b)
62110  {
62111  ::xercesc::DOMElement& s (
62112  ::xsd::cxx::xml::dom::create_element (
62113  "spike",
62114  "http://www.neuroml.org/schema/neuroml2",
62115  e));
62116 
62117  s << *b;
62118  }
62119  }
62120 
62121  void
62122  operator<< (::xercesc::DOMElement& e, const TimedSynapticInput& i)
62123  {
62124  e << static_cast< const ::neuroml2::Standalone& > (i);
62125 
62126  // spike
62127  //
62129  b (i.spike ().begin ()), n (i.spike ().end ());
62130  b != n; ++b)
62131  {
62132  ::xercesc::DOMElement& s (
62133  ::xsd::cxx::xml::dom::create_element (
62134  "spike",
62135  "http://www.neuroml.org/schema/neuroml2",
62136  e));
62137 
62138  s << *b;
62139  }
62140 
62141  // synapse
62142  //
62143  {
62144  ::xercesc::DOMAttr& a (
62145  ::xsd::cxx::xml::dom::create_attribute (
62146  "synapse",
62147  e));
62148 
62149  a << i.synapse ();
62150  }
62151 
62152  // spikeTarget
62153  //
62154  {
62155  ::xercesc::DOMAttr& a (
62156  ::xsd::cxx::xml::dom::create_attribute (
62157  "spikeTarget",
62158  e));
62159 
62160  a << i.spikeTarget ();
62161  }
62162  }
62163 
62164  void
62165  operator<< (::xercesc::DOMElement& e, const SpikeGenerator& i)
62166  {
62167  e << static_cast< const ::neuroml2::Standalone& > (i);
62168 
62169  // period
62170  //
62171  {
62172  ::xercesc::DOMAttr& a (
62173  ::xsd::cxx::xml::dom::create_attribute (
62174  "period",
62175  e));
62176 
62177  a << i.period ();
62178  }
62179  }
62180 
62181  void
62182  operator<< (::xercesc::DOMElement& e, const SpikeGeneratorRandom& i)
62183  {
62184  e << static_cast< const ::neuroml2::Standalone& > (i);
62185 
62186  // maxISI
62187  //
62188  {
62189  ::xercesc::DOMAttr& a (
62190  ::xsd::cxx::xml::dom::create_attribute (
62191  "maxISI",
62192  e));
62193 
62194  a << i.maxISI ();
62195  }
62196 
62197  // minISI
62198  //
62199  {
62200  ::xercesc::DOMAttr& a (
62201  ::xsd::cxx::xml::dom::create_attribute (
62202  "minISI",
62203  e));
62204 
62205  a << i.minISI ();
62206  }
62207  }
62208 
62209  void
62210  operator<< (::xercesc::DOMElement& e, const SpikeGeneratorPoisson& i)
62211  {
62212  e << static_cast< const ::neuroml2::Standalone& > (i);
62213 
62214  // averageRate
62215  //
62216  {
62217  ::xercesc::DOMAttr& a (
62218  ::xsd::cxx::xml::dom::create_attribute (
62219  "averageRate",
62220  e));
62221 
62222  a << i.averageRate ();
62223  }
62224  }
62225 
62226  void
62227  operator<< (::xercesc::DOMElement& e, const SpikeGeneratorRefPoisson& i)
62228  {
62229  e << static_cast< const ::neuroml2::SpikeGeneratorPoisson& > (i);
62230 
62231  // minimumISI
62232  //
62233  {
62234  ::xercesc::DOMAttr& a (
62235  ::xsd::cxx::xml::dom::create_attribute (
62236  "minimumISI",
62237  e));
62238 
62239  a << i.minimumISI ();
62240  }
62241  }
62242 
62243  void
62244  operator<< (::xercesc::DOMElement& e, const PoissonFiringSynapse& i)
62245  {
62246  e << static_cast< const ::neuroml2::Standalone& > (i);
62247 
62248  // averageRate
62249  //
62250  {
62251  ::xercesc::DOMAttr& a (
62252  ::xsd::cxx::xml::dom::create_attribute (
62253  "averageRate",
62254  e));
62255 
62256  a << i.averageRate ();
62257  }
62258 
62259  // synapse
62260  //
62261  {
62262  ::xercesc::DOMAttr& a (
62263  ::xsd::cxx::xml::dom::create_attribute (
62264  "synapse",
62265  e));
62266 
62267  a << i.synapse ();
62268  }
62269 
62270  // spikeTarget
62271  //
62272  {
62273  ::xercesc::DOMAttr& a (
62274  ::xsd::cxx::xml::dom::create_attribute (
62275  "spikeTarget",
62276  e));
62277 
62278  a << i.spikeTarget ();
62279  }
62280  }
62281 
62282  void
62283  operator<< (::xercesc::DOMElement& e, const TransientPoissonFiringSynapse& i)
62284  {
62285  e << static_cast< const ::neuroml2::Standalone& > (i);
62286 
62287  // averageRate
62288  //
62289  {
62290  ::xercesc::DOMAttr& a (
62291  ::xsd::cxx::xml::dom::create_attribute (
62292  "averageRate",
62293  e));
62294 
62295  a << i.averageRate ();
62296  }
62297 
62298  // delay
62299  //
62300  {
62301  ::xercesc::DOMAttr& a (
62302  ::xsd::cxx::xml::dom::create_attribute (
62303  "delay",
62304  e));
62305 
62306  a << i.delay ();
62307  }
62308 
62309  // duration
62310  //
62311  {
62312  ::xercesc::DOMAttr& a (
62313  ::xsd::cxx::xml::dom::create_attribute (
62314  "duration",
62315  e));
62316 
62317  a << i.duration ();
62318  }
62319 
62320  // synapse
62321  //
62322  {
62323  ::xercesc::DOMAttr& a (
62324  ::xsd::cxx::xml::dom::create_attribute (
62325  "synapse",
62326  e));
62327 
62328  a << i.synapse ();
62329  }
62330 
62331  // spikeTarget
62332  //
62333  {
62334  ::xercesc::DOMAttr& a (
62335  ::xsd::cxx::xml::dom::create_attribute (
62336  "spikeTarget",
62337  e));
62338 
62339  a << i.spikeTarget ();
62340  }
62341  }
62342 
62343  void
62344  operator<< (::xercesc::DOMElement& e, const Network& i)
62345  {
62346  e << static_cast< const ::neuroml2::Standalone& > (i);
62347 
62348  // space
62349  //
62351  b (i.space ().begin ()), n (i.space ().end ());
62352  b != n; ++b)
62353  {
62354  ::xercesc::DOMElement& s (
62355  ::xsd::cxx::xml::dom::create_element (
62356  "space",
62357  "http://www.neuroml.org/schema/neuroml2",
62358  e));
62359 
62360  s << *b;
62361  }
62362 
62363  // region
62364  //
62366  b (i.region ().begin ()), n (i.region ().end ());
62367  b != n; ++b)
62368  {
62369  ::xercesc::DOMElement& s (
62370  ::xsd::cxx::xml::dom::create_element (
62371  "region",
62372  "http://www.neuroml.org/schema/neuroml2",
62373  e));
62374 
62375  s << *b;
62376  }
62377 
62378  // extracellularProperties
62379  //
62381  b (i.extracellularProperties ().begin ()), n (i.extracellularProperties ().end ());
62382  b != n; ++b)
62383  {
62384  ::xercesc::DOMElement& s (
62385  ::xsd::cxx::xml::dom::create_element (
62386  "extracellularProperties",
62387  "http://www.neuroml.org/schema/neuroml2",
62388  e));
62389 
62390  s << *b;
62391  }
62392 
62393  // population
62394  //
62396  b (i.population ().begin ()), n (i.population ().end ());
62397  b != n; ++b)
62398  {
62399  ::xercesc::DOMElement& s (
62400  ::xsd::cxx::xml::dom::create_element (
62401  "population",
62402  "http://www.neuroml.org/schema/neuroml2",
62403  e));
62404 
62405  s << *b;
62406  }
62407 
62408  // cellSet
62409  //
62411  b (i.cellSet ().begin ()), n (i.cellSet ().end ());
62412  b != n; ++b)
62413  {
62414  ::xercesc::DOMElement& s (
62415  ::xsd::cxx::xml::dom::create_element (
62416  "cellSet",
62417  "http://www.neuroml.org/schema/neuroml2",
62418  e));
62419 
62420  s << *b;
62421  }
62422 
62423  // synapticConnection
62424  //
62426  b (i.synapticConnection ().begin ()), n (i.synapticConnection ().end ());
62427  b != n; ++b)
62428  {
62429  ::xercesc::DOMElement& s (
62430  ::xsd::cxx::xml::dom::create_element (
62431  "synapticConnection",
62432  "http://www.neuroml.org/schema/neuroml2",
62433  e));
62434 
62435  s << *b;
62436  }
62437 
62438  // projection
62439  //
62441  b (i.projection ().begin ()), n (i.projection ().end ());
62442  b != n; ++b)
62443  {
62444  ::xercesc::DOMElement& s (
62445  ::xsd::cxx::xml::dom::create_element (
62446  "projection",
62447  "http://www.neuroml.org/schema/neuroml2",
62448  e));
62449 
62450  s << *b;
62451  }
62452 
62453  // electricalProjection
62454  //
62456  b (i.electricalProjection ().begin ()), n (i.electricalProjection ().end ());
62457  b != n; ++b)
62458  {
62459  ::xercesc::DOMElement& s (
62460  ::xsd::cxx::xml::dom::create_element (
62461  "electricalProjection",
62462  "http://www.neuroml.org/schema/neuroml2",
62463  e));
62464 
62465  s << *b;
62466  }
62467 
62468  // continuousProjection
62469  //
62471  b (i.continuousProjection ().begin ()), n (i.continuousProjection ().end ());
62472  b != n; ++b)
62473  {
62474  ::xercesc::DOMElement& s (
62475  ::xsd::cxx::xml::dom::create_element (
62476  "continuousProjection",
62477  "http://www.neuroml.org/schema/neuroml2",
62478  e));
62479 
62480  s << *b;
62481  }
62482 
62483  // explicitInput
62484  //
62486  b (i.explicitInput ().begin ()), n (i.explicitInput ().end ());
62487  b != n; ++b)
62488  {
62489  ::xercesc::DOMElement& s (
62490  ::xsd::cxx::xml::dom::create_element (
62491  "explicitInput",
62492  "http://www.neuroml.org/schema/neuroml2",
62493  e));
62494 
62495  s << *b;
62496  }
62497 
62498  // inputList
62499  //
62501  b (i.inputList ().begin ()), n (i.inputList ().end ());
62502  b != n; ++b)
62503  {
62504  ::xercesc::DOMElement& s (
62505  ::xsd::cxx::xml::dom::create_element (
62506  "inputList",
62507  "http://www.neuroml.org/schema/neuroml2",
62508  e));
62509 
62510  s << *b;
62511  }
62512 
62513  // type
62514  //
62515  if (i.type ())
62516  {
62517  ::xercesc::DOMAttr& a (
62518  ::xsd::cxx::xml::dom::create_attribute (
62519  "type",
62520  e));
62521 
62522  a << *i.type ();
62523  }
62524 
62525  // temperature
62526  //
62527  if (i.temperature ())
62528  {
62529  ::xercesc::DOMAttr& a (
62530  ::xsd::cxx::xml::dom::create_attribute (
62531  "temperature",
62532  e));
62533 
62534  a << *i.temperature ();
62535  }
62536 
62537  // neuroLexId
62538  //
62539  if (i.neuroLexId ())
62540  {
62541  ::xercesc::DOMAttr& a (
62542  ::xsd::cxx::xml::dom::create_attribute (
62543  "neuroLexId",
62544  e));
62545 
62546  a << *i.neuroLexId ();
62547  }
62548  }
62549 
62550  void
62551  operator<< (::xercesc::DOMElement& e, const networkTypes& i)
62552  {
62553  e << static_cast< const ::xml_schema::string& > (i);
62554  }
62555 
62556  void
62557  operator<< (::xercesc::DOMAttr& a, const networkTypes& i)
62558  {
62559  a << static_cast< const ::xml_schema::string& > (i);
62560  }
62561 
62562  void
62563  operator<< (::xml_schema::list_stream& l,
62564  const networkTypes& i)
62565  {
62566  l << static_cast< const ::xml_schema::string& > (i);
62567  }
62568 
62569  void
62570  operator<< (::xercesc::DOMElement& e, const Space& i)
62571  {
62572  e << static_cast< const ::neuroml2::Base& > (i);
62573 
62574  // structure
62575  //
62576  if (i.structure ())
62577  {
62578  ::xercesc::DOMElement& s (
62579  ::xsd::cxx::xml::dom::create_element (
62580  "structure",
62581  "http://www.neuroml.org/schema/neuroml2",
62582  e));
62583 
62584  s << *i.structure ();
62585  }
62586 
62587  // basedOn
62588  //
62589  if (i.basedOn ())
62590  {
62591  ::xercesc::DOMAttr& a (
62592  ::xsd::cxx::xml::dom::create_attribute (
62593  "basedOn",
62594  e));
62595 
62596  a << *i.basedOn ();
62597  }
62598  }
62599 
62600  void
62601  operator<< (::xercesc::DOMElement& e, const SpaceStructure& i)
62602  {
62603  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
62604 
62605  // xSpacing
62606  //
62607  if (i.xSpacing ())
62608  {
62609  ::xercesc::DOMAttr& a (
62610  ::xsd::cxx::xml::dom::create_attribute (
62611  "xSpacing",
62612  e));
62613 
62614  a << *i.xSpacing ();
62615  }
62616 
62617  // ySpacing
62618  //
62619  if (i.ySpacing ())
62620  {
62621  ::xercesc::DOMAttr& a (
62622  ::xsd::cxx::xml::dom::create_attribute (
62623  "ySpacing",
62624  e));
62625 
62626  a << *i.ySpacing ();
62627  }
62628 
62629  // zSpacing
62630  //
62631  if (i.zSpacing ())
62632  {
62633  ::xercesc::DOMAttr& a (
62634  ::xsd::cxx::xml::dom::create_attribute (
62635  "zSpacing",
62636  e));
62637 
62638  a << *i.zSpacing ();
62639  }
62640 
62641  // xStart
62642  //
62643  {
62644  ::xercesc::DOMAttr& a (
62645  ::xsd::cxx::xml::dom::create_attribute (
62646  "xStart",
62647  e));
62648 
62649  a << i.xStart ();
62650  }
62651 
62652  // yStart
62653  //
62654  {
62655  ::xercesc::DOMAttr& a (
62656  ::xsd::cxx::xml::dom::create_attribute (
62657  "yStart",
62658  e));
62659 
62660  a << i.yStart ();
62661  }
62662 
62663  // zStart
62664  //
62665  {
62666  ::xercesc::DOMAttr& a (
62667  ::xsd::cxx::xml::dom::create_attribute (
62668  "zStart",
62669  e));
62670 
62671  a << i.zStart ();
62672  }
62673  }
62674 
62675  void
62676  operator<< (::xercesc::DOMElement& e, const allowedSpaces& i)
62677  {
62678  e << static_cast< const ::xml_schema::string& > (i);
62679  }
62680 
62681  void
62682  operator<< (::xercesc::DOMAttr& a, const allowedSpaces& i)
62683  {
62684  a << static_cast< const ::xml_schema::string& > (i);
62685  }
62686 
62687  void
62688  operator<< (::xml_schema::list_stream& l,
62689  const allowedSpaces& i)
62690  {
62691  l << static_cast< const ::xml_schema::string& > (i);
62692  }
62693 
62694  void
62695  operator<< (::xercesc::DOMElement& e, const Region& i)
62696  {
62697  e << static_cast< const ::neuroml2::Base& > (i);
62698 
62699  // space
62700  //
62701  if (i.space ())
62702  {
62703  ::xercesc::DOMAttr& a (
62704  ::xsd::cxx::xml::dom::create_attribute (
62705  "space",
62706  e));
62707 
62708  a << *i.space ();
62709  }
62710  }
62711 
62712  void
62713  operator<< (::xercesc::DOMElement& e, const Population& i)
62714  {
62715  e << static_cast< const ::neuroml2::Standalone& > (i);
62716 
62717  // layout
62718  //
62719  if (i.layout ())
62720  {
62721  ::xercesc::DOMElement& s (
62722  ::xsd::cxx::xml::dom::create_element (
62723  "layout",
62724  "http://www.neuroml.org/schema/neuroml2",
62725  e));
62726 
62727  s << *i.layout ();
62728  }
62729 
62730  // instance
62731  //
62733  b (i.instance ().begin ()), n (i.instance ().end ());
62734  b != n; ++b)
62735  {
62736  ::xercesc::DOMElement& s (
62737  ::xsd::cxx::xml::dom::create_element (
62738  "instance",
62739  "http://www.neuroml.org/schema/neuroml2",
62740  e));
62741 
62742  s << *b;
62743  }
62744 
62745  // component
62746  //
62747  {
62748  ::xercesc::DOMAttr& a (
62749  ::xsd::cxx::xml::dom::create_attribute (
62750  "component",
62751  e));
62752 
62753  a << i.component ();
62754  }
62755 
62756  // size
62757  //
62758  if (i.size ())
62759  {
62760  ::xercesc::DOMAttr& a (
62761  ::xsd::cxx::xml::dom::create_attribute (
62762  "size",
62763  e));
62764 
62765  a << *i.size ();
62766  }
62767 
62768  // type
62769  //
62770  if (i.type ())
62771  {
62772  ::xercesc::DOMAttr& a (
62773  ::xsd::cxx::xml::dom::create_attribute (
62774  "type",
62775  e));
62776 
62777  a << *i.type ();
62778  }
62779 
62780  // extracellularProperties
62781  //
62782  if (i.extracellularProperties ())
62783  {
62784  ::xercesc::DOMAttr& a (
62785  ::xsd::cxx::xml::dom::create_attribute (
62786  "extracellularProperties",
62787  e));
62788 
62789  a << *i.extracellularProperties ();
62790  }
62791 
62792  // neuroLexId
62793  //
62794  if (i.neuroLexId ())
62795  {
62796  ::xercesc::DOMAttr& a (
62797  ::xsd::cxx::xml::dom::create_attribute (
62798  "neuroLexId",
62799  e));
62800 
62801  a << *i.neuroLexId ();
62802  }
62803  }
62804 
62805  void
62806  operator<< (::xercesc::DOMElement& e, const populationTypes& i)
62807  {
62808  e << static_cast< const ::xml_schema::string& > (i);
62809  }
62810 
62811  void
62812  operator<< (::xercesc::DOMAttr& a, const populationTypes& i)
62813  {
62814  a << static_cast< const ::xml_schema::string& > (i);
62815  }
62816 
62817  void
62818  operator<< (::xml_schema::list_stream& l,
62819  const populationTypes& i)
62820  {
62821  l << static_cast< const ::xml_schema::string& > (i);
62822  }
62823 
62824  void
62825  operator<< (::xercesc::DOMElement& e, const Layout& i)
62826  {
62827  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
62828 
62829  // random
62830  //
62831  if (i.random ())
62832  {
62833  ::xercesc::DOMElement& s (
62834  ::xsd::cxx::xml::dom::create_element (
62835  "random",
62836  "http://www.neuroml.org/schema/neuroml2",
62837  e));
62838 
62839  s << *i.random ();
62840  }
62841 
62842  // grid
62843  //
62844  if (i.grid ())
62845  {
62846  ::xercesc::DOMElement& s (
62847  ::xsd::cxx::xml::dom::create_element (
62848  "grid",
62849  "http://www.neuroml.org/schema/neuroml2",
62850  e));
62851 
62852  s << *i.grid ();
62853  }
62854 
62855  // unstructured
62856  //
62857  if (i.unstructured ())
62858  {
62859  ::xercesc::DOMElement& s (
62860  ::xsd::cxx::xml::dom::create_element (
62861  "unstructured",
62862  "http://www.neuroml.org/schema/neuroml2",
62863  e));
62864 
62865  s << *i.unstructured ();
62866  }
62867 
62868  // space
62869  //
62870  if (i.space ())
62871  {
62872  ::xercesc::DOMAttr& a (
62873  ::xsd::cxx::xml::dom::create_attribute (
62874  "space",
62875  e));
62876 
62877  a << *i.space ();
62878  }
62879  }
62880 
62881  void
62882  operator<< (::xercesc::DOMElement& e, const UnstructuredLayout& i)
62883  {
62884  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
62885 
62886  // number
62887  //
62888  if (i.number ())
62889  {
62890  ::xercesc::DOMAttr& a (
62891  ::xsd::cxx::xml::dom::create_attribute (
62892  "number",
62893  e));
62894 
62895  a << *i.number ();
62896  }
62897  }
62898 
62899  void
62900  operator<< (::xercesc::DOMElement& e, const RandomLayout& i)
62901  {
62902  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
62903 
62904  // number
62905  //
62906  if (i.number ())
62907  {
62908  ::xercesc::DOMAttr& a (
62909  ::xsd::cxx::xml::dom::create_attribute (
62910  "number",
62911  e));
62912 
62913  a << *i.number ();
62914  }
62915 
62916  // region
62917  //
62918  if (i.region ())
62919  {
62920  ::xercesc::DOMAttr& a (
62921  ::xsd::cxx::xml::dom::create_attribute (
62922  "region",
62923  e));
62924 
62925  a << *i.region ();
62926  }
62927  }
62928 
62929  void
62930  operator<< (::xercesc::DOMElement& e, const GridLayout& i)
62931  {
62932  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
62933 
62934  // xSize
62935  //
62936  if (i.xSize ())
62937  {
62938  ::xercesc::DOMAttr& a (
62939  ::xsd::cxx::xml::dom::create_attribute (
62940  "xSize",
62941  e));
62942 
62943  a << *i.xSize ();
62944  }
62945 
62946  // ySize
62947  //
62948  if (i.ySize ())
62949  {
62950  ::xercesc::DOMAttr& a (
62951  ::xsd::cxx::xml::dom::create_attribute (
62952  "ySize",
62953  e));
62954 
62955  a << *i.ySize ();
62956  }
62957 
62958  // zSize
62959  //
62960  if (i.zSize ())
62961  {
62962  ::xercesc::DOMAttr& a (
62963  ::xsd::cxx::xml::dom::create_attribute (
62964  "zSize",
62965  e));
62966 
62967  a << *i.zSize ();
62968  }
62969  }
62970 
62971  void
62972  operator<< (::xercesc::DOMElement& e, const Instance& i)
62973  {
62974  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
62975 
62976  // location
62977  //
62978  {
62979  ::xercesc::DOMElement& s (
62980  ::xsd::cxx::xml::dom::create_element (
62981  "location",
62982  "http://www.neuroml.org/schema/neuroml2",
62983  e));
62984 
62985  s << i.location ();
62986  }
62987 
62988  // id
62989  //
62990  if (i.id ())
62991  {
62992  ::xercesc::DOMAttr& a (
62993  ::xsd::cxx::xml::dom::create_attribute (
62994  "id",
62995  e));
62996 
62997  a << *i.id ();
62998  }
62999 
63000  // i
63001  //
63002  if (i.i ())
63003  {
63004  ::xercesc::DOMAttr& a (
63005  ::xsd::cxx::xml::dom::create_attribute (
63006  "i",
63007  e));
63008 
63009  a << *i.i ();
63010  }
63011 
63012  // j
63013  //
63014  if (i.j ())
63015  {
63016  ::xercesc::DOMAttr& a (
63017  ::xsd::cxx::xml::dom::create_attribute (
63018  "j",
63019  e));
63020 
63021  a << *i.j ();
63022  }
63023 
63024  // k
63025  //
63026  if (i.k ())
63027  {
63028  ::xercesc::DOMAttr& a (
63029  ::xsd::cxx::xml::dom::create_attribute (
63030  "k",
63031  e));
63032 
63033  a << *i.k ();
63034  }
63035  }
63036 
63037  void
63038  operator<< (::xercesc::DOMElement& e, const Location& i)
63039  {
63040  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
63041 
63042  // x
63043  //
63044  {
63045  ::xercesc::DOMAttr& a (
63046  ::xsd::cxx::xml::dom::create_attribute (
63047  "x",
63048  e));
63049 
63050  a << i.x ();
63051  }
63052 
63053  // y
63054  //
63055  {
63056  ::xercesc::DOMAttr& a (
63057  ::xsd::cxx::xml::dom::create_attribute (
63058  "y",
63059  e));
63060 
63061  a << i.y ();
63062  }
63063 
63064  // z
63065  //
63066  {
63067  ::xercesc::DOMAttr& a (
63068  ::xsd::cxx::xml::dom::create_attribute (
63069  "z",
63070  e));
63071 
63072  a << i.z ();
63073  }
63074  }
63075 
63076  void
63077  operator<< (::xercesc::DOMElement& e, const CellSet& i)
63078  {
63079  e << static_cast< const ::neuroml2::Base& > (i);
63080 
63081  // select
63082  //
63083  {
63084  ::xercesc::DOMAttr& a (
63085  ::xsd::cxx::xml::dom::create_attribute (
63086  "select",
63087  e));
63088 
63089  a << i.select ();
63090  }
63091  }
63092 
63093  void
63094  operator<< (::xercesc::DOMElement& e, const SynapticConnection& i)
63095  {
63096  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
63097 
63098  // neuroLexId
63099  //
63100  if (i.neuroLexId ())
63101  {
63102  ::xercesc::DOMAttr& a (
63103  ::xsd::cxx::xml::dom::create_attribute (
63104  "neuroLexId",
63105  e));
63106 
63107  a << *i.neuroLexId ();
63108  }
63109 
63110  // from
63111  //
63112  {
63113  ::xercesc::DOMAttr& a (
63114  ::xsd::cxx::xml::dom::create_attribute (
63115  "from",
63116  e));
63117 
63118  a << i.from ();
63119  }
63120 
63121  // to
63122  //
63123  {
63124  ::xercesc::DOMAttr& a (
63125  ::xsd::cxx::xml::dom::create_attribute (
63126  "to",
63127  e));
63128 
63129  a << i.to ();
63130  }
63131 
63132  // synapse
63133  //
63134  {
63135  ::xercesc::DOMAttr& a (
63136  ::xsd::cxx::xml::dom::create_attribute (
63137  "synapse",
63138  e));
63139 
63140  a << i.synapse ();
63141  }
63142 
63143  // destination
63144  //
63145  if (i.destination ())
63146  {
63147  ::xercesc::DOMAttr& a (
63148  ::xsd::cxx::xml::dom::create_attribute (
63149  "destination",
63150  e));
63151 
63152  a << *i.destination ();
63153  }
63154  }
63155 
63156  void
63157  operator<< (::xercesc::DOMElement& e, const BaseProjection& i)
63158  {
63159  e << static_cast< const ::neuroml2::Base& > (i);
63160 
63161  // presynapticPopulation
63162  //
63163  {
63164  ::xercesc::DOMAttr& a (
63165  ::xsd::cxx::xml::dom::create_attribute (
63166  "presynapticPopulation",
63167  e));
63168 
63169  a << i.presynapticPopulation ();
63170  }
63171 
63172  // postsynapticPopulation
63173  //
63174  {
63175  ::xercesc::DOMAttr& a (
63176  ::xsd::cxx::xml::dom::create_attribute (
63177  "postsynapticPopulation",
63178  e));
63179 
63180  a << i.postsynapticPopulation ();
63181  }
63182  }
63183 
63184  void
63185  operator<< (::xercesc::DOMElement& e, const Projection& i)
63186  {
63187  e << static_cast< const ::neuroml2::BaseProjection& > (i);
63188 
63189  // connection
63190  //
63192  b (i.connection ().begin ()), n (i.connection ().end ());
63193  b != n; ++b)
63194  {
63195  ::xercesc::DOMElement& s (
63196  ::xsd::cxx::xml::dom::create_element (
63197  "connection",
63198  "http://www.neuroml.org/schema/neuroml2",
63199  e));
63200 
63201  s << *b;
63202  }
63203 
63204  // connectionWD
63205  //
63207  b (i.connectionWD ().begin ()), n (i.connectionWD ().end ());
63208  b != n; ++b)
63209  {
63210  ::xercesc::DOMElement& s (
63211  ::xsd::cxx::xml::dom::create_element (
63212  "connectionWD",
63213  "http://www.neuroml.org/schema/neuroml2",
63214  e));
63215 
63216  s << *b;
63217  }
63218 
63219  // synapse
63220  //
63221  {
63222  ::xercesc::DOMAttr& a (
63223  ::xsd::cxx::xml::dom::create_attribute (
63224  "synapse",
63225  e));
63226 
63227  a << i.synapse ();
63228  }
63229  }
63230 
63231  void
63232  operator<< (::xercesc::DOMElement& e, const BaseConnection& i)
63233  {
63234  e << static_cast< const ::neuroml2::BaseNonNegativeIntegerId& > (i);
63235 
63236  // neuroLexId
63237  //
63238  if (i.neuroLexId ())
63239  {
63240  ::xercesc::DOMAttr& a (
63241  ::xsd::cxx::xml::dom::create_attribute (
63242  "neuroLexId",
63243  e));
63244 
63245  a << *i.neuroLexId ();
63246  }
63247  }
63248 
63249  void
63250  operator<< (::xercesc::DOMElement& e, const BaseConnectionOldFormat& i)
63251  {
63252  e << static_cast< const ::neuroml2::BaseConnection& > (i);
63253 
63254  // preCellId
63255  //
63256  {
63257  ::xercesc::DOMAttr& a (
63258  ::xsd::cxx::xml::dom::create_attribute (
63259  "preCellId",
63260  e));
63261 
63262  a << i.preCellId ();
63263  }
63264 
63265  // preSegmentId
63266  //
63267  {
63268  ::xercesc::DOMAttr& a (
63269  ::xsd::cxx::xml::dom::create_attribute (
63270  "preSegmentId",
63271  e));
63272 
63273  a << i.preSegmentId ();
63274  }
63275 
63276  // preFractionAlong
63277  //
63278  {
63279  ::xercesc::DOMAttr& a (
63280  ::xsd::cxx::xml::dom::create_attribute (
63281  "preFractionAlong",
63282  e));
63283 
63284  a << i.preFractionAlong ();
63285  }
63286 
63287  // postCellId
63288  //
63289  {
63290  ::xercesc::DOMAttr& a (
63291  ::xsd::cxx::xml::dom::create_attribute (
63292  "postCellId",
63293  e));
63294 
63295  a << i.postCellId ();
63296  }
63297 
63298  // postSegmentId
63299  //
63300  {
63301  ::xercesc::DOMAttr& a (
63302  ::xsd::cxx::xml::dom::create_attribute (
63303  "postSegmentId",
63304  e));
63305 
63306  a << i.postSegmentId ();
63307  }
63308 
63309  // postFractionAlong
63310  //
63311  {
63312  ::xercesc::DOMAttr& a (
63313  ::xsd::cxx::xml::dom::create_attribute (
63314  "postFractionAlong",
63315  e));
63316 
63317  a << i.postFractionAlong ();
63318  }
63319  }
63320 
63321  void
63322  operator<< (::xercesc::DOMElement& e, const BaseConnectionNewFormat& i)
63323  {
63324  e << static_cast< const ::neuroml2::BaseConnection& > (i);
63325 
63326  // preCell
63327  //
63328  {
63329  ::xercesc::DOMAttr& a (
63330  ::xsd::cxx::xml::dom::create_attribute (
63331  "preCell",
63332  e));
63333 
63334  a << i.preCell ();
63335  }
63336 
63337  // preSegment
63338  //
63339  {
63340  ::xercesc::DOMAttr& a (
63341  ::xsd::cxx::xml::dom::create_attribute (
63342  "preSegment",
63343  e));
63344 
63345  a << i.preSegment ();
63346  }
63347 
63348  // preFractionAlong
63349  //
63350  {
63351  ::xercesc::DOMAttr& a (
63352  ::xsd::cxx::xml::dom::create_attribute (
63353  "preFractionAlong",
63354  e));
63355 
63356  a << i.preFractionAlong ();
63357  }
63358 
63359  // postCell
63360  //
63361  {
63362  ::xercesc::DOMAttr& a (
63363  ::xsd::cxx::xml::dom::create_attribute (
63364  "postCell",
63365  e));
63366 
63367  a << i.postCell ();
63368  }
63369 
63370  // postSegment
63371  //
63372  {
63373  ::xercesc::DOMAttr& a (
63374  ::xsd::cxx::xml::dom::create_attribute (
63375  "postSegment",
63376  e));
63377 
63378  a << i.postSegment ();
63379  }
63380 
63381  // postFractionAlong
63382  //
63383  {
63384  ::xercesc::DOMAttr& a (
63385  ::xsd::cxx::xml::dom::create_attribute (
63386  "postFractionAlong",
63387  e));
63388 
63389  a << i.postFractionAlong ();
63390  }
63391  }
63392 
63393  void
63394  operator<< (::xercesc::DOMElement& e, const Connection_base& i)
63395  {
63396  e << static_cast< const ::neuroml2::BaseConnectionOldFormat& > (i);
63397  }
63398 
63399  void
63400  operator<< (::xercesc::DOMElement& e, const ConnectionWD& i)
63401  {
63402  e << static_cast< const ::neuroml2::BaseConnectionOldFormat& > (i);
63403 
63404  // weight
63405  //
63406  {
63407  ::xercesc::DOMAttr& a (
63408  ::xsd::cxx::xml::dom::create_attribute (
63409  "weight",
63410  e));
63411 
63412  a << i.weight ();
63413  }
63414 
63415  // delay
63416  //
63417  {
63418  ::xercesc::DOMAttr& a (
63419  ::xsd::cxx::xml::dom::create_attribute (
63420  "delay",
63421  e));
63422 
63423  a << i.delay ();
63424  }
63425  }
63426 
63427  void
63428  operator<< (::xercesc::DOMElement& e, const ElectricalProjection& i)
63429  {
63430  e << static_cast< const ::neuroml2::BaseProjection& > (i);
63431 
63432  // electricalConnection
63433  //
63435  b (i.electricalConnection ().begin ()), n (i.electricalConnection ().end ());
63436  b != n; ++b)
63437  {
63438  ::xercesc::DOMElement& s (
63439  ::xsd::cxx::xml::dom::create_element (
63440  "electricalConnection",
63441  "http://www.neuroml.org/schema/neuroml2",
63442  e));
63443 
63444  s << *b;
63445  }
63446 
63447  // electricalConnectionInstance
63448  //
63450  b (i.electricalConnectionInstance ().begin ()), n (i.electricalConnectionInstance ().end ());
63451  b != n; ++b)
63452  {
63453  ::xercesc::DOMElement& s (
63454  ::xsd::cxx::xml::dom::create_element (
63455  "electricalConnectionInstance",
63456  "http://www.neuroml.org/schema/neuroml2",
63457  e));
63458 
63459  s << *b;
63460  }
63461 
63462  // electricalConnectionInstanceW
63463  //
63465  b (i.electricalConnectionInstanceW ().begin ()), n (i.electricalConnectionInstanceW ().end ());
63466  b != n; ++b)
63467  {
63468  ::xercesc::DOMElement& s (
63469  ::xsd::cxx::xml::dom::create_element (
63470  "electricalConnectionInstanceW",
63471  "http://www.neuroml.org/schema/neuroml2",
63472  e));
63473 
63474  s << *b;
63475  }
63476  }
63477 
63478  void
63479  operator<< (::xercesc::DOMElement& e, const ElectricalConnection& i)
63480  {
63481  e << static_cast< const ::neuroml2::BaseConnectionNewFormat& > (i);
63482 
63483  // synapse
63484  //
63485  {
63486  ::xercesc::DOMAttr& a (
63487  ::xsd::cxx::xml::dom::create_attribute (
63488  "synapse",
63489  e));
63490 
63491  a << i.synapse ();
63492  }
63493  }
63494 
63495  void
63496  operator<< (::xercesc::DOMElement& e, const ElectricalConnectionInstance& i)
63497  {
63498  e << static_cast< const ::neuroml2::ElectricalConnection& > (i);
63499  }
63500 
63501  void
63502  operator<< (::xercesc::DOMElement& e, const ElectricalConnectionInstanceW& i)
63503  {
63504  e << static_cast< const ::neuroml2::ElectricalConnectionInstance& > (i);
63505 
63506  // weight
63507  //
63508  {
63509  ::xercesc::DOMAttr& a (
63510  ::xsd::cxx::xml::dom::create_attribute (
63511  "weight",
63512  e));
63513 
63514  a << i.weight ();
63515  }
63516  }
63517 
63518  void
63519  operator<< (::xercesc::DOMElement& e, const ContinuousProjection& i)
63520  {
63521  e << static_cast< const ::neuroml2::BaseProjection& > (i);
63522 
63523  // continuousConnection
63524  //
63526  b (i.continuousConnection ().begin ()), n (i.continuousConnection ().end ());
63527  b != n; ++b)
63528  {
63529  ::xercesc::DOMElement& s (
63530  ::xsd::cxx::xml::dom::create_element (
63531  "continuousConnection",
63532  "http://www.neuroml.org/schema/neuroml2",
63533  e));
63534 
63535  s << *b;
63536  }
63537 
63538  // continuousConnectionInstance
63539  //
63541  b (i.continuousConnectionInstance ().begin ()), n (i.continuousConnectionInstance ().end ());
63542  b != n; ++b)
63543  {
63544  ::xercesc::DOMElement& s (
63545  ::xsd::cxx::xml::dom::create_element (
63546  "continuousConnectionInstance",
63547  "http://www.neuroml.org/schema/neuroml2",
63548  e));
63549 
63550  s << *b;
63551  }
63552 
63553  // continuousConnectionInstanceW
63554  //
63556  b (i.continuousConnectionInstanceW ().begin ()), n (i.continuousConnectionInstanceW ().end ());
63557  b != n; ++b)
63558  {
63559  ::xercesc::DOMElement& s (
63560  ::xsd::cxx::xml::dom::create_element (
63561  "continuousConnectionInstanceW",
63562  "http://www.neuroml.org/schema/neuroml2",
63563  e));
63564 
63565  s << *b;
63566  }
63567  }
63568 
63569  void
63570  operator<< (::xercesc::DOMElement& e, const ContinuousConnection& i)
63571  {
63572  e << static_cast< const ::neuroml2::BaseConnectionNewFormat& > (i);
63573 
63574  // preComponent
63575  //
63576  {
63577  ::xercesc::DOMAttr& a (
63578  ::xsd::cxx::xml::dom::create_attribute (
63579  "preComponent",
63580  e));
63581 
63582  a << i.preComponent ();
63583  }
63584 
63585  // postComponent
63586  //
63587  {
63588  ::xercesc::DOMAttr& a (
63589  ::xsd::cxx::xml::dom::create_attribute (
63590  "postComponent",
63591  e));
63592 
63593  a << i.postComponent ();
63594  }
63595  }
63596 
63597  void
63598  operator<< (::xercesc::DOMElement& e, const ContinuousConnectionInstance& i)
63599  {
63600  e << static_cast< const ::neuroml2::ContinuousConnection& > (i);
63601  }
63602 
63603  void
63604  operator<< (::xercesc::DOMElement& e, const ContinuousConnectionInstanceW& i)
63605  {
63606  e << static_cast< const ::neuroml2::ContinuousConnectionInstance& > (i);
63607 
63608  // weight
63609  //
63610  {
63611  ::xercesc::DOMAttr& a (
63612  ::xsd::cxx::xml::dom::create_attribute (
63613  "weight",
63614  e));
63615 
63616  a << i.weight ();
63617  }
63618  }
63619 
63620  void
63621  operator<< (::xercesc::DOMElement& e, const ExplicitInput& i)
63622  {
63623  e << static_cast< const ::neuroml2::BaseWithoutId& > (i);
63624 
63625  // target
63626  //
63627  {
63628  ::xercesc::DOMAttr& a (
63629  ::xsd::cxx::xml::dom::create_attribute (
63630  "target",
63631  e));
63632 
63633  a << i.target ();
63634  }
63635 
63636  // input
63637  //
63638  {
63639  ::xercesc::DOMAttr& a (
63640  ::xsd::cxx::xml::dom::create_attribute (
63641  "input",
63642  e));
63643 
63644  a << i.input ();
63645  }
63646 
63647  // destination
63648  //
63649  if (i.destination ())
63650  {
63651  ::xercesc::DOMAttr& a (
63652  ::xsd::cxx::xml::dom::create_attribute (
63653  "destination",
63654  e));
63655 
63656  a << *i.destination ();
63657  }
63658  }
63659 
63660  void
63661  operator<< (::xercesc::DOMElement& e, const InputList& i)
63662  {
63663  e << static_cast< const ::neuroml2::Base& > (i);
63664 
63665  // input
63666  //
63668  b (i.input ().begin ()), n (i.input ().end ());
63669  b != n; ++b)
63670  {
63671  ::xercesc::DOMElement& s (
63672  ::xsd::cxx::xml::dom::create_element (
63673  "input",
63674  "http://www.neuroml.org/schema/neuroml2",
63675  e));
63676 
63677  s << *b;
63678  }
63679 
63680  // inputW
63681  //
63683  b (i.inputW ().begin ()), n (i.inputW ().end ());
63684  b != n; ++b)
63685  {
63686  ::xercesc::DOMElement& s (
63687  ::xsd::cxx::xml::dom::create_element (
63688  "inputW",
63689  "http://www.neuroml.org/schema/neuroml2",
63690  e));
63691 
63692  s << *b;
63693  }
63694 
63695  // population
63696  //
63697  {
63698  ::xercesc::DOMAttr& a (
63699  ::xsd::cxx::xml::dom::create_attribute (
63700  "population",
63701  e));
63702 
63703  a << i.population ();
63704  }
63705 
63706  // component
63707  //
63708  {
63709  ::xercesc::DOMAttr& a (
63710  ::xsd::cxx::xml::dom::create_attribute (
63711  "component",
63712  e));
63713 
63714  a << i.component ();
63715  }
63716  }
63717 
63718  void
63719  operator<< (::xercesc::DOMElement& e, const Input& i)
63720  {
63721  e << static_cast< const ::neuroml2::BaseNonNegativeIntegerId& > (i);
63722 
63723  // target
63724  //
63725  {
63726  ::xercesc::DOMAttr& a (
63727  ::xsd::cxx::xml::dom::create_attribute (
63728  "target",
63729  e));
63730 
63731  a << i.target ();
63732  }
63733 
63734  // destination
63735  //
63736  {
63737  ::xercesc::DOMAttr& a (
63738  ::xsd::cxx::xml::dom::create_attribute (
63739  "destination",
63740  e));
63741 
63742  a << i.destination ();
63743  }
63744 
63745  // segmentId
63746  //
63747  if (i.segmentId ())
63748  {
63749  ::xercesc::DOMAttr& a (
63750  ::xsd::cxx::xml::dom::create_attribute (
63751  "segmentId",
63752  e));
63753 
63754  a << *i.segmentId ();
63755  }
63756 
63757  // fractionAlong
63758  //
63759  if (i.fractionAlong ())
63760  {
63761  ::xercesc::DOMAttr& a (
63762  ::xsd::cxx::xml::dom::create_attribute (
63763  "fractionAlong",
63764  e));
63765 
63766  a << *i.fractionAlong ();
63767  }
63768  }
63769 
63770  void
63771  operator<< (::xercesc::DOMElement& e, const InputW& i)
63772  {
63773  e << static_cast< const ::neuroml2::Input& > (i);
63774 
63775  // weight
63776  //
63777  {
63778  ::xercesc::DOMAttr& a (
63779  ::xsd::cxx::xml::dom::create_attribute (
63780  "weight",
63781  e));
63782 
63783  a << i.weight ();
63784  }
63785  }
63786 
63787  void
63788  operator<< (::xercesc::DOMElement& e, const basePyNNCell& i)
63789  {
63790  e << static_cast< const ::neuroml2::BaseCell& > (i);
63791 
63792  // cm
63793  //
63794  {
63795  ::xercesc::DOMAttr& a (
63796  ::xsd::cxx::xml::dom::create_attribute (
63797  "cm",
63798  e));
63799 
63800  a << i.cm ();
63801  }
63802 
63803  // i_offset
63804  //
63805  {
63806  ::xercesc::DOMAttr& a (
63807  ::xsd::cxx::xml::dom::create_attribute (
63808  "i_offset",
63809  e));
63810 
63811  a << i.i_offset ();
63812  }
63813 
63814  // tau_syn_E
63815  //
63816  {
63817  ::xercesc::DOMAttr& a (
63818  ::xsd::cxx::xml::dom::create_attribute (
63819  "tau_syn_E",
63820  e));
63821 
63822  a << i.tau_syn_E ();
63823  }
63824 
63825  // tau_syn_I
63826  //
63827  {
63828  ::xercesc::DOMAttr& a (
63829  ::xsd::cxx::xml::dom::create_attribute (
63830  "tau_syn_I",
63831  e));
63832 
63833  a << i.tau_syn_I ();
63834  }
63835 
63836  // v_init
63837  //
63838  {
63839  ::xercesc::DOMAttr& a (
63840  ::xsd::cxx::xml::dom::create_attribute (
63841  "v_init",
63842  e));
63843 
63844  a << i.v_init ();
63845  }
63846  }
63847 
63848  void
63849  operator<< (::xercesc::DOMElement& e, const basePyNNIaFCell& i)
63850  {
63851  e << static_cast< const ::neuroml2::basePyNNCell& > (i);
63852 
63853  // tau_m
63854  //
63855  {
63856  ::xercesc::DOMAttr& a (
63857  ::xsd::cxx::xml::dom::create_attribute (
63858  "tau_m",
63859  e));
63860 
63861  a << i.tau_m ();
63862  }
63863 
63864  // tau_refrac
63865  //
63866  {
63867  ::xercesc::DOMAttr& a (
63868  ::xsd::cxx::xml::dom::create_attribute (
63869  "tau_refrac",
63870  e));
63871 
63872  a << i.tau_refrac ();
63873  }
63874 
63875  // v_reset
63876  //
63877  {
63878  ::xercesc::DOMAttr& a (
63879  ::xsd::cxx::xml::dom::create_attribute (
63880  "v_reset",
63881  e));
63882 
63883  a << i.v_reset ();
63884  }
63885 
63886  // v_rest
63887  //
63888  {
63889  ::xercesc::DOMAttr& a (
63890  ::xsd::cxx::xml::dom::create_attribute (
63891  "v_rest",
63892  e));
63893 
63894  a << i.v_rest ();
63895  }
63896 
63897  // v_thresh
63898  //
63899  {
63900  ::xercesc::DOMAttr& a (
63901  ::xsd::cxx::xml::dom::create_attribute (
63902  "v_thresh",
63903  e));
63904 
63905  a << i.v_thresh ();
63906  }
63907  }
63908 
63909  void
63910  operator<< (::xercesc::DOMElement& e, const basePyNNIaFCondCell& i)
63911  {
63912  e << static_cast< const ::neuroml2::basePyNNIaFCell& > (i);
63913 
63914  // e_rev_E
63915  //
63916  {
63917  ::xercesc::DOMAttr& a (
63918  ::xsd::cxx::xml::dom::create_attribute (
63919  "e_rev_E",
63920  e));
63921 
63922  a << i.e_rev_E ();
63923  }
63924 
63925  // e_rev_I
63926  //
63927  {
63928  ::xercesc::DOMAttr& a (
63929  ::xsd::cxx::xml::dom::create_attribute (
63930  "e_rev_I",
63931  e));
63932 
63933  a << i.e_rev_I ();
63934  }
63935  }
63936 
63937  void
63938  operator<< (::xercesc::DOMElement& e, const IF_curr_alpha& i)
63939  {
63940  e << static_cast< const ::neuroml2::basePyNNIaFCell& > (i);
63941  }
63942 
63943  void
63944  operator<< (::xercesc::DOMElement& e, const IF_curr_exp& i)
63945  {
63946  e << static_cast< const ::neuroml2::basePyNNIaFCell& > (i);
63947  }
63948 
63949  void
63950  operator<< (::xercesc::DOMElement& e, const IF_cond_alpha& i)
63951  {
63952  e << static_cast< const ::neuroml2::basePyNNIaFCondCell& > (i);
63953  }
63954 
63955  void
63956  operator<< (::xercesc::DOMElement& e, const IF_cond_exp& i)
63957  {
63958  e << static_cast< const ::neuroml2::basePyNNIaFCondCell& > (i);
63959  }
63960 
63961  void
63962  operator<< (::xercesc::DOMElement& e, const EIF_cond_exp_isfa_ista& i)
63963  {
63964  e << static_cast< const ::neuroml2::basePyNNIaFCondCell& > (i);
63965 
63966  // a
63967  //
63968  {
63969  ::xercesc::DOMAttr& a (
63970  ::xsd::cxx::xml::dom::create_attribute (
63971  "a",
63972  e));
63973 
63974  a << i.a ();
63975  }
63976 
63977  // b
63978  //
63979  {
63980  ::xercesc::DOMAttr& a (
63981  ::xsd::cxx::xml::dom::create_attribute (
63982  "b",
63983  e));
63984 
63985  a << i.b ();
63986  }
63987 
63988  // delta_T
63989  //
63990  {
63991  ::xercesc::DOMAttr& a (
63992  ::xsd::cxx::xml::dom::create_attribute (
63993  "delta_T",
63994  e));
63995 
63996  a << i.delta_T ();
63997  }
63998 
63999  // tau_w
64000  //
64001  {
64002  ::xercesc::DOMAttr& a (
64003  ::xsd::cxx::xml::dom::create_attribute (
64004  "tau_w",
64005  e));
64006 
64007  a << i.tau_w ();
64008  }
64009 
64010  // v_spike
64011  //
64012  {
64013  ::xercesc::DOMAttr& a (
64014  ::xsd::cxx::xml::dom::create_attribute (
64015  "v_spike",
64016  e));
64017 
64018  a << i.v_spike ();
64019  }
64020  }
64021 
64022  void
64023  operator<< (::xercesc::DOMElement& e, const EIF_cond_alpha_isfa_ista& i)
64024  {
64025  e << static_cast< const ::neuroml2::EIF_cond_exp_isfa_ista& > (i);
64026  }
64027 
64028  void
64029  operator<< (::xercesc::DOMElement& e, const HH_cond_exp& i)
64030  {
64031  e << static_cast< const ::neuroml2::basePyNNCell& > (i);
64032 
64033  // v_offset
64034  //
64035  {
64036  ::xercesc::DOMAttr& a (
64037  ::xsd::cxx::xml::dom::create_attribute (
64038  "v_offset",
64039  e));
64040 
64041  a << i.v_offset ();
64042  }
64043 
64044  // e_rev_E
64045  //
64046  {
64047  ::xercesc::DOMAttr& a (
64048  ::xsd::cxx::xml::dom::create_attribute (
64049  "e_rev_E",
64050  e));
64051 
64052  a << i.e_rev_E ();
64053  }
64054 
64055  // e_rev_I
64056  //
64057  {
64058  ::xercesc::DOMAttr& a (
64059  ::xsd::cxx::xml::dom::create_attribute (
64060  "e_rev_I",
64061  e));
64062 
64063  a << i.e_rev_I ();
64064  }
64065 
64066  // e_rev_K
64067  //
64068  {
64069  ::xercesc::DOMAttr& a (
64070  ::xsd::cxx::xml::dom::create_attribute (
64071  "e_rev_K",
64072  e));
64073 
64074  a << i.e_rev_K ();
64075  }
64076 
64077  // e_rev_Na
64078  //
64079  {
64080  ::xercesc::DOMAttr& a (
64081  ::xsd::cxx::xml::dom::create_attribute (
64082  "e_rev_Na",
64083  e));
64084 
64085  a << i.e_rev_Na ();
64086  }
64087 
64088  // e_rev_leak
64089  //
64090  {
64091  ::xercesc::DOMAttr& a (
64092  ::xsd::cxx::xml::dom::create_attribute (
64093  "e_rev_leak",
64094  e));
64095 
64096  a << i.e_rev_leak ();
64097  }
64098 
64099  // g_leak
64100  //
64101  {
64102  ::xercesc::DOMAttr& a (
64103  ::xsd::cxx::xml::dom::create_attribute (
64104  "g_leak",
64105  e));
64106 
64107  a << i.g_leak ();
64108  }
64109 
64110  // gbar_K
64111  //
64112  {
64113  ::xercesc::DOMAttr& a (
64114  ::xsd::cxx::xml::dom::create_attribute (
64115  "gbar_K",
64116  e));
64117 
64118  a << i.gbar_K ();
64119  }
64120 
64121  // gbar_Na
64122  //
64123  {
64124  ::xercesc::DOMAttr& a (
64125  ::xsd::cxx::xml::dom::create_attribute (
64126  "gbar_Na",
64127  e));
64128 
64129  a << i.gbar_Na ();
64130  }
64131  }
64132 
64133  void
64134  operator<< (::xercesc::DOMElement& e, const BasePynnSynapse& i)
64135  {
64136  e << static_cast< const ::neuroml2::BaseSynapse& > (i);
64137 
64138  // tau_syn
64139  //
64140  {
64141  ::xercesc::DOMAttr& a (
64142  ::xsd::cxx::xml::dom::create_attribute (
64143  "tau_syn",
64144  e));
64145 
64146  a << i.tau_syn ();
64147  }
64148  }
64149 
64150  void
64151  operator<< (::xercesc::DOMElement& e, const ExpCondSynapse& i)
64152  {
64153  e << static_cast< const ::neuroml2::BasePynnSynapse& > (i);
64154 
64155  // e_rev
64156  //
64157  {
64158  ::xercesc::DOMAttr& a (
64159  ::xsd::cxx::xml::dom::create_attribute (
64160  "e_rev",
64161  e));
64162 
64163  a << i.e_rev ();
64164  }
64165  }
64166 
64167  void
64168  operator<< (::xercesc::DOMElement& e, const AlphaCondSynapse& i)
64169  {
64170  e << static_cast< const ::neuroml2::BasePynnSynapse& > (i);
64171 
64172  // e_rev
64173  //
64174  {
64175  ::xercesc::DOMAttr& a (
64176  ::xsd::cxx::xml::dom::create_attribute (
64177  "e_rev",
64178  e));
64179 
64180  a << i.e_rev ();
64181  }
64182  }
64183 
64184  void
64185  operator<< (::xercesc::DOMElement& e, const ExpCurrSynapse& i)
64186  {
64187  e << static_cast< const ::neuroml2::BasePynnSynapse& > (i);
64188  }
64189 
64190  void
64191  operator<< (::xercesc::DOMElement& e, const AlphaCurrSynapse& i)
64192  {
64193  e << static_cast< const ::neuroml2::BasePynnSynapse& > (i);
64194  }
64195 
64196  void
64197  operator<< (::xercesc::DOMElement& e, const SpikeSourcePoisson& i)
64198  {
64199  e << static_cast< const ::neuroml2::Standalone& > (i);
64200 
64201  // start
64202  //
64203  {
64204  ::xercesc::DOMAttr& a (
64205  ::xsd::cxx::xml::dom::create_attribute (
64206  "start",
64207  e));
64208 
64209  a << i.start ();
64210  }
64211 
64212  // duration
64213  //
64214  {
64215  ::xercesc::DOMAttr& a (
64216  ::xsd::cxx::xml::dom::create_attribute (
64217  "duration",
64218  e));
64219 
64220  a << i.duration ();
64221  }
64222 
64223  // rate
64224  //
64225  {
64226  ::xercesc::DOMAttr& a (
64227  ::xsd::cxx::xml::dom::create_attribute (
64228  "rate",
64229  e));
64230 
64231  a << i.rate ();
64232  }
64233  }
64234 }
64235 
64236 #include <xsd/cxx/post.hxx>
64237 
64238 // Begin epilogue.
64239 //
64240 // LCOV_EXCL_STOP
64241 //
64242 // End epilogue.
64243 
Generated from NeuroML_v2.3.xsd.
Class corresponding to the AdExIaFCell schema type.
AdExIaFCell & operator=(const AdExIaFCell &x)
Copy assignment operator.
const EL_type & EL() const
Return a read-only (constant) reference to the attribute.
const b_type & b() const
Return a read-only (constant) reference to the attribute.
virtual AdExIaFCell * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const a_type & a() const
Return a read-only (constant) reference to the attribute.
virtual ~AdExIaFCell()
Destructor.
const refract_type & refract() const
Return a read-only (constant) reference to the attribute.
const gL_type & gL() const
Return a read-only (constant) reference to the attribute.
const thresh_type & thresh() const
Return a read-only (constant) reference to the attribute.
AdExIaFCell(const id_type &, const C_type &, const gL_type &, const EL_type &, const reset_type &, const VT_type &, const thresh_type &, const delT_type &, const tauw_type &, const refract_type &, const a_type &, const b_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const reset_type & reset() const
Return a read-only (constant) reference to the attribute.
const delT_type & delT() const
Return a read-only (constant) reference to the attribute.
const VT_type & VT() const
Return a read-only (constant) reference to the attribute.
const tauw_type & tauw() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the AlphaCondSynapse schema type.
virtual AlphaCondSynapse * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
AlphaCondSynapse(const id_type &, const tau_syn_type &, const e_rev_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const e_rev_type & e_rev() const
Return a read-only (constant) reference to the attribute.
::xml_schema::float_ e_rev_type
Attribute type.
virtual ~AlphaCondSynapse()
Destructor.
AlphaCondSynapse & operator=(const AlphaCondSynapse &x)
Copy assignment operator.
Class corresponding to the AlphaCurrSynapse schema type.
virtual AlphaCurrSynapse * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
AlphaCurrSynapse(const id_type &, const tau_syn_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~AlphaCurrSynapse()
Destructor.
Class corresponding to the AlphaCurrentSynapse schema type.
virtual AlphaCurrentSynapse * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
AlphaCurrentSynapse & operator=(const AlphaCurrentSynapse &x)
Copy assignment operator.
AlphaCurrentSynapse(const id_type &, const tau_type &, const ibase_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const ibase_type & ibase() const
Return a read-only (constant) reference to the attribute.
virtual ~AlphaCurrentSynapse()
Destructor.
const tau_type & tau() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the AlphaSynapse schema type.
AlphaSynapse(const id_type &, const gbase_type &, const erev_type &, const tau_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~AlphaSynapse()
Destructor.
virtual AlphaSynapse * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
AlphaSynapse & operator=(const AlphaSynapse &x)
Copy assignment operator.
const tau_type & tau() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the Annotation schema type.
virtual ~Annotation()
Destructor.
Annotation()
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual Annotation * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the BaseCell schema type.
const neuroLexId_optional & neuroLexId() const
Return a read-only (constant) reference to the attribute container.
virtual ~BaseCell()
Destructor.
virtual BaseCell * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
BaseCell(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
BaseCell & operator=(const BaseCell &x)
Copy assignment operator.
::xsd::cxx::tree::optional< neuroLexId_type > neuroLexId_optional
Attribute optional container type.
Class corresponding to the BaseCellMembPotCap schema type.
virtual BaseCellMembPotCap * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
BaseCellMembPotCap(const id_type &, const C_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
BaseCellMembPotCap & operator=(const BaseCellMembPotCap &x)
Copy assignment operator.
const C_type & C() const
Return a read-only (constant) reference to the attribute.
virtual ~BaseCellMembPotCap()
Destructor.
Class corresponding to the BaseConductanceBasedSynapse schema type.
BaseConductanceBasedSynapse & operator=(const BaseConductanceBasedSynapse &x)
Copy assignment operator.
virtual ~BaseConductanceBasedSynapse()
Destructor.
BaseConductanceBasedSynapse(const id_type &, const gbase_type &, const erev_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual BaseConductanceBasedSynapse * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const erev_type & erev() const
Return a read-only (constant) reference to the attribute.
const gbase_type & gbase() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the BaseConductanceBasedSynapseTwo schema type.
BaseConductanceBasedSynapseTwo(const id_type &, const gbase1_type &, const gbase2_type &, const erev_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const erev_type & erev() const
Return a read-only (constant) reference to the attribute.
virtual BaseConductanceBasedSynapseTwo * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const gbase2_type & gbase2() const
Return a read-only (constant) reference to the attribute.
const gbase1_type & gbase1() const
Return a read-only (constant) reference to the attribute.
virtual ~BaseConductanceBasedSynapseTwo()
Destructor.
BaseConductanceBasedSynapseTwo & operator=(const BaseConductanceBasedSynapseTwo &x)
Copy assignment operator.
Class corresponding to the BaseConnection schema type.
BaseConnection(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const neuroLexId_optional & neuroLexId() const
Return a read-only (constant) reference to the attribute container.
virtual BaseConnection * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xsd::cxx::tree::optional< neuroLexId_type > neuroLexId_optional
Attribute optional container type.
virtual ~BaseConnection()
Destructor.
BaseConnection & operator=(const BaseConnection &x)
Copy assignment operator.
Class corresponding to the BaseConnectionNewFormat schema type.
::neuroml2::ZeroToOne preFractionAlong_type
Attribute type.
const preCell_type & preCell() const
Return a read-only (constant) reference to the attribute.
const postCell_type & postCell() const
Return a read-only (constant) reference to the attribute.
static preFractionAlong_type preFractionAlong_default_value()
Return the default value for the attribute.
BaseConnectionNewFormat & operator=(const BaseConnectionNewFormat &x)
Copy assignment operator.
::neuroml2::NonNegativeInteger preSegment_type
Attribute type.
virtual BaseConnectionNewFormat * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const postFractionAlong_type & postFractionAlong() const
Return a read-only (constant) reference to the attribute.
static postFractionAlong_type postFractionAlong_default_value()
Return the default value for the attribute.
static postSegment_type postSegment_default_value()
Return the default value for the attribute.
virtual ~BaseConnectionNewFormat()
Destructor.
::neuroml2::NonNegativeInteger postSegment_type
Attribute type.
const postSegment_type & postSegment() const
Return a read-only (constant) reference to the attribute.
const preFractionAlong_type & preFractionAlong() const
Return a read-only (constant) reference to the attribute.
static preSegment_type preSegment_default_value()
Return the default value for the attribute.
const preSegment_type & preSegment() const
Return a read-only (constant) reference to the attribute.
::neuroml2::ZeroToOne postFractionAlong_type
Attribute type.
::xml_schema::string postCell_type
Attribute type.
BaseConnectionNewFormat(const id_type &, const preCell_type &, const postCell_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
::xml_schema::string preCell_type
Attribute type.
Class corresponding to the BaseConnectionOldFormat schema type.
const preCellId_type & preCellId() const
Return a read-only (constant) reference to the attribute.
const postFractionAlong_type & postFractionAlong() const
Return a read-only (constant) reference to the attribute.
virtual ~BaseConnectionOldFormat()
Destructor.
::neuroml2::NonNegativeInteger postSegmentId_type
Attribute type.
static preSegmentId_type preSegmentId_default_value()
Return the default value for the attribute.
BaseConnectionOldFormat & operator=(const BaseConnectionOldFormat &x)
Copy assignment operator.
BaseConnectionOldFormat(const id_type &, const preCellId_type &, const postCellId_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual BaseConnectionOldFormat * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
static postSegmentId_type postSegmentId_default_value()
Return the default value for the attribute.
::neuroml2::ZeroToOne postFractionAlong_type
Attribute type.
::neuroml2::NonNegativeInteger preSegmentId_type
Attribute type.
static postFractionAlong_type postFractionAlong_default_value()
Return the default value for the attribute.
const postCellId_type & postCellId() const
Return a read-only (constant) reference to the attribute.
const preFractionAlong_type & preFractionAlong() const
Return a read-only (constant) reference to the attribute.
::neuroml2::ZeroToOne preFractionAlong_type
Attribute type.
static preFractionAlong_type preFractionAlong_default_value()
Return the default value for the attribute.
const preSegmentId_type & preSegmentId() const
Return a read-only (constant) reference to the attribute.
const postSegmentId_type & postSegmentId() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the BaseCurrentBasedSynapse schema type.
BaseCurrentBasedSynapse(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual BaseCurrentBasedSynapse * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~BaseCurrentBasedSynapse()
Destructor.
Class corresponding to the Base schema type.
Base(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual Base * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Base & operator=(const Base &x)
Copy assignment operator.
virtual ~Base()
Destructor.
const id_type & id() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the BaseNonNegativeIntegerId schema type.
virtual BaseNonNegativeIntegerId * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
BaseNonNegativeIntegerId & operator=(const BaseNonNegativeIntegerId &x)
Copy assignment operator.
const id_type & id() const
Return a read-only (constant) reference to the attribute.
BaseNonNegativeIntegerId(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~BaseNonNegativeIntegerId()
Destructor.
Class corresponding to the BaseProjection schema type.
virtual BaseProjection * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
BaseProjection & operator=(const BaseProjection &x)
Copy assignment operator.
const presynapticPopulation_type & presynapticPopulation() const
Return a read-only (constant) reference to the attribute.
virtual ~BaseProjection()
Destructor.
BaseProjection(const id_type &, const presynapticPopulation_type &, const postsynapticPopulation_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const postsynapticPopulation_type & postsynapticPopulation() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the BasePynnSynapse schema type.
virtual BasePynnSynapse * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
BasePynnSynapse & operator=(const BasePynnSynapse &x)
Copy assignment operator.
const tau_syn_type & tau_syn() const
Return a read-only (constant) reference to the attribute.
BasePynnSynapse(const id_type &, const tau_syn_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
::xml_schema::float_ tau_syn_type
Attribute type.
virtual ~BasePynnSynapse()
Destructor.
Class corresponding to the BaseSynapse schema type.
::xsd::cxx::tree::optional< neuroLexId_type > neuroLexId_optional
Attribute optional container type.
BaseSynapse(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~BaseSynapse()
Destructor.
const neuroLexId_optional & neuroLexId() const
Return a read-only (constant) reference to the attribute container.
BaseSynapse & operator=(const BaseSynapse &x)
Copy assignment operator.
virtual BaseSynapse * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the BaseVoltageDepSynapse schema type.
virtual ~BaseVoltageDepSynapse()
Destructor.
BaseVoltageDepSynapse(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual BaseVoltageDepSynapse * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the BaseWithoutId schema type.
virtual ~BaseWithoutId()
Destructor.
BaseWithoutId()
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual BaseWithoutId * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the BiophysicalProperties2CaPools schema type.
BiophysicalProperties2CaPools(const id_type &, const membraneProperties2CaPools_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const intracellularProperties2CaPools_optional & intracellularProperties2CaPools() const
Return a read-only (constant) reference to the element container.
const membraneProperties2CaPools_type & membraneProperties2CaPools() const
Return a read-only (constant) reference to the element.
virtual ~BiophysicalProperties2CaPools()
Destructor.
BiophysicalProperties2CaPools & operator=(const BiophysicalProperties2CaPools &x)
Copy assignment operator.
const extracellularProperties_optional & extracellularProperties() const
Return a read-only (constant) reference to the element container.
::xsd::cxx::tree::optional< extracellularProperties_type > extracellularProperties_optional
Element optional container type.
virtual BiophysicalProperties2CaPools * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xsd::cxx::tree::optional< intracellularProperties2CaPools_type > intracellularProperties2CaPools_optional
Element optional container type.
Class corresponding to the BiophysicalProperties schema type.
BiophysicalProperties(const id_type &, const membraneProperties_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual BiophysicalProperties * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
BiophysicalProperties & operator=(const BiophysicalProperties &x)
Copy assignment operator.
const extracellularProperties_optional & extracellularProperties() const
Return a read-only (constant) reference to the element container.
::xsd::cxx::tree::optional< extracellularProperties_type > extracellularProperties_optional
Element optional container type.
virtual ~BiophysicalProperties()
Destructor.
::xsd::cxx::tree::optional< intracellularProperties_type > intracellularProperties_optional
Element optional container type.
const intracellularProperties_optional & intracellularProperties() const
Return a read-only (constant) reference to the element container.
const membraneProperties_type & membraneProperties() const
Return a read-only (constant) reference to the element.
Class corresponding to the BlockMechanism schema type.
const type_type & type() const
Return a read-only (constant) reference to the attribute.
const species_type & species() const
Return a read-only (constant) reference to the attribute.
BlockMechanism & operator=(const BlockMechanism &x)
Copy assignment operator.
BlockMechanism(const type_type &, const species_type &, const blockConcentration_type &, const scalingConc_type &, const scalingVolt_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~BlockMechanism()
Destructor.
const blockConcentration_type & blockConcentration() const
Return a read-only (constant) reference to the attribute.
virtual BlockMechanism * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const scalingConc_type & scalingConc() const
Return a read-only (constant) reference to the attribute.
const scalingVolt_type & scalingVolt() const
Return a read-only (constant) reference to the attribute.
Enumeration class corresponding to the BlockTypes schema type.
virtual BlockTypes * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
value
Underlying enum type.
BlockTypes & operator=(value v)
Assign the underlying enum value.
BlockTypes(value v)
Create an instance from the underlying enum value.
Class corresponding to the BlockingPlasticSynapse schema type.
virtual BlockingPlasticSynapse * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const plasticityMechanism_optional & plasticityMechanism() const
Return a read-only (constant) reference to the element container.
::xsd::cxx::tree::optional< plasticityMechanism_type > plasticityMechanism_optional
Element optional container type.
::xsd::cxx::tree::optional< blockMechanism_type > blockMechanism_optional
Element optional container type.
BlockingPlasticSynapse & operator=(const BlockingPlasticSynapse &x)
Copy assignment operator.
const blockMechanism_optional & blockMechanism() const
Return a read-only (constant) reference to the element container.
virtual ~BlockingPlasticSynapse()
Destructor.
BlockingPlasticSynapse(const id_type &, const gbase_type &, const erev_type &, const tauDecay_type &, const tauRise_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the Case schema type.
::xml_schema::string condition_type
Attribute type.
virtual Case * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~Case()
Destructor.
const value_type & value() const
Return a read-only (constant) reference to the attribute.
::xsd::cxx::tree::optional< condition_type > condition_optional
Attribute optional container type.
Case & operator=(const Case &x)
Copy assignment operator.
Case(const value_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
::xml_schema::string value_type
Attribute type.
const condition_optional & condition() const
Return a read-only (constant) reference to the attribute container.
Class corresponding to the Cell2CaPools schema type.
virtual ~Cell2CaPools()
Destructor.
::xsd::cxx::tree::optional< biophysicalProperties2CaPools_type > biophysicalProperties2CaPools_optional
Element optional container type.
virtual Cell2CaPools * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const biophysicalProperties2CaPools_optional & biophysicalProperties2CaPools() const
Return a read-only (constant) reference to the element container.
Cell2CaPools(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Cell2CaPools & operator=(const Cell2CaPools &x)
Copy assignment operator.
Class corresponding to the Cell schema type.
const morphology1_optional & morphology1() const
Return a read-only (constant) reference to the attribute container.
virtual ~Cell()
Destructor.
virtual Cell * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Cell & operator=(const Cell &x)
Copy assignment operator.
const biophysicalProperties_optional & biophysicalProperties() const
Return a read-only (constant) reference to the element container.
::xsd::cxx::tree::optional< morphology_type > morphology_optional
Element optional container type.
::xsd::cxx::tree::optional< biophysicalProperties1_type > biophysicalProperties1_optional
Attribute optional container type.
const biophysicalProperties1_optional & biophysicalProperties1() const
Return a read-only (constant) reference to the attribute container.
::xsd::cxx::tree::optional< biophysicalProperties_type > biophysicalProperties_optional
Element optional container type.
const morphology_optional & morphology() const
Return a read-only (constant) reference to the element container.
::xsd::cxx::tree::optional< morphology1_type > morphology1_optional
Attribute optional container type.
Cell(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the CellSet schema type.
::xml_schema::string select_type
Attribute type.
const select_type & select() const
Return a read-only (constant) reference to the attribute.
virtual ~CellSet()
Destructor.
CellSet & operator=(const CellSet &x)
Copy assignment operator.
virtual CellSet * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
CellSet(const id_type &, const select_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the ChannelDensityGHK2 schema type.
::neuroml2::NmlId segmentGroup_type
Attribute type.
virtual ~ChannelDensityGHK2()
Destructor.
::xsd::cxx::tree::optional< condDensity_type > condDensity_optional
Attribute optional container type.
ChannelDensityGHK2 & operator=(const ChannelDensityGHK2 &x)
Copy assignment operator.
ChannelDensityGHK2(const id_type &, const ionChannel_type &, const ion_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ChannelDensityGHK2 * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xsd::cxx::tree::optional< segment_type > segment_optional
Attribute optional container type.
const segmentGroup_type & segmentGroup() const
Return a read-only (constant) reference to the attribute.
const segment_optional & segment() const
Return a read-only (constant) reference to the attribute container.
const ionChannel_type & ionChannel() const
Return a read-only (constant) reference to the attribute.
const condDensity_optional & condDensity() const
Return a read-only (constant) reference to the attribute container.
static const segmentGroup_type & segmentGroup_default_value()
Return the default value for the attribute.
const ion_type & ion() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the ChannelDensityGHK schema type.
virtual ChannelDensityGHK * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const ion_type & ion() const
Return a read-only (constant) reference to the attribute.
ChannelDensityGHK & operator=(const ChannelDensityGHK &x)
Copy assignment operator.
static const segmentGroup_type & segmentGroup_default_value()
Return the default value for the attribute.
const permeability_type & permeability() const
Return a read-only (constant) reference to the attribute.
ChannelDensityGHK(const id_type &, const ionChannel_type &, const permeability_type &, const ion_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~ChannelDensityGHK()
Destructor.
const segment_optional & segment() const
Return a read-only (constant) reference to the attribute container.
const ionChannel_type & ionChannel() const
Return a read-only (constant) reference to the attribute.
::xsd::cxx::tree::optional< segment_type > segment_optional
Attribute optional container type.
const segmentGroup_type & segmentGroup() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the ChannelDensity schema type.
ChannelDensity(const id_type &, const ionChannel_type &, const erev_type &, const ion_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const segmentGroup_type & segmentGroup() const
Return a read-only (constant) reference to the attribute.
::xsd::cxx::tree::optional< segment_type > segment_optional
Attribute optional container type.
const erev_type & erev() const
Return a read-only (constant) reference to the attribute.
virtual ChannelDensity * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const variableParameter_sequence & variableParameter() const
Return a read-only (constant) reference to the element sequence.
variableParameter_sequence::const_iterator variableParameter_const_iterator
Element constant iterator type.
const segment_optional & segment() const
Return a read-only (constant) reference to the attribute container.
const ion_type & ion() const
Return a read-only (constant) reference to the attribute.
::xsd::cxx::tree::sequence< variableParameter_type > variableParameter_sequence
Element sequence container type.
const condDensity_optional & condDensity() const
Return a read-only (constant) reference to the attribute container.
ChannelDensity & operator=(const ChannelDensity &x)
Copy assignment operator.
const ionChannel_type & ionChannel() const
Return a read-only (constant) reference to the attribute.
virtual ~ChannelDensity()
Destructor.
::neuroml2::NmlId segmentGroup_type
Attribute type.
static const segmentGroup_type & segmentGroup_default_value()
Return the default value for the attribute.
::xsd::cxx::tree::optional< condDensity_type > condDensity_optional
Attribute optional container type.
Class corresponding to the ChannelDensityNernstCa2 schema type.
virtual ChannelDensityNernstCa2 * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~ChannelDensityNernstCa2()
Destructor.
ChannelDensityNernstCa2(const id_type &, const ionChannel_type &, const ion_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the ChannelDensityNernst schema type.
::xsd::cxx::tree::optional< condDensity_type > condDensity_optional
Attribute optional container type.
const variableParameter_sequence & variableParameter() const
Return a read-only (constant) reference to the element sequence.
virtual ~ChannelDensityNernst()
Destructor.
const ionChannel_type & ionChannel() const
Return a read-only (constant) reference to the attribute.
virtual ChannelDensityNernst * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
ChannelDensityNernst(const id_type &, const ionChannel_type &, const ion_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const segmentGroup_type & segmentGroup() const
Return a read-only (constant) reference to the attribute.
const segment_optional & segment() const
Return a read-only (constant) reference to the attribute container.
::xsd::cxx::tree::optional< segment_type > segment_optional
Attribute optional container type.
const ion_type & ion() const
Return a read-only (constant) reference to the attribute.
const condDensity_optional & condDensity() const
Return a read-only (constant) reference to the attribute container.
static const segmentGroup_type & segmentGroup_default_value()
Return the default value for the attribute.
variableParameter_sequence::const_iterator variableParameter_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< variableParameter_type > variableParameter_sequence
Element sequence container type.
ChannelDensityNernst & operator=(const ChannelDensityNernst &x)
Copy assignment operator.
::neuroml2::NmlId segmentGroup_type
Attribute type.
Class corresponding to the ChannelDensityNonUniformGHK schema type.
const variableParameter_sequence & variableParameter() const
Return a read-only (constant) reference to the element sequence.
ChannelDensityNonUniformGHK & operator=(const ChannelDensityNonUniformGHK &x)
Copy assignment operator.
virtual ChannelDensityNonUniformGHK * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const ionChannel_type & ionChannel() const
Return a read-only (constant) reference to the attribute.
variableParameter_sequence::const_iterator variableParameter_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< variableParameter_type > variableParameter_sequence
Element sequence container type.
ChannelDensityNonUniformGHK(const id_type &, const ionChannel_type &, const ion_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const ion_type & ion() const
Return a read-only (constant) reference to the attribute.
virtual ~ChannelDensityNonUniformGHK()
Destructor.
Class corresponding to the ChannelDensityNonUniform schema type.
const variableParameter_sequence & variableParameter() const
Return a read-only (constant) reference to the element sequence.
virtual ChannelDensityNonUniform * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xsd::cxx::tree::sequence< variableParameter_type > variableParameter_sequence
Element sequence container type.
ChannelDensityNonUniform & operator=(const ChannelDensityNonUniform &x)
Copy assignment operator.
ChannelDensityNonUniform(const id_type &, const ionChannel_type &, const erev_type &, const ion_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const ion_type & ion() const
Return a read-only (constant) reference to the attribute.
variableParameter_sequence::const_iterator variableParameter_const_iterator
Element constant iterator type.
const ionChannel_type & ionChannel() const
Return a read-only (constant) reference to the attribute.
virtual ~ChannelDensityNonUniform()
Destructor.
const erev_type & erev() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the ChannelDensityNonUniformNernst schema type.
virtual ~ChannelDensityNonUniformNernst()
Destructor.
variableParameter_sequence::const_iterator variableParameter_const_iterator
Element constant iterator type.
const ion_type & ion() const
Return a read-only (constant) reference to the attribute.
ChannelDensityNonUniformNernst & operator=(const ChannelDensityNonUniformNernst &x)
Copy assignment operator.
const variableParameter_sequence & variableParameter() const
Return a read-only (constant) reference to the element sequence.
virtual ChannelDensityNonUniformNernst * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const ionChannel_type & ionChannel() const
Return a read-only (constant) reference to the attribute.
::xsd::cxx::tree::sequence< variableParameter_type > variableParameter_sequence
Element sequence container type.
ChannelDensityNonUniformNernst(const id_type &, const ionChannel_type &, const ion_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the ChannelDensityVShift schema type.
ChannelDensityVShift & operator=(const ChannelDensityVShift &x)
Copy assignment operator.
ChannelDensityVShift(const id_type &, const ionChannel_type &, const erev_type &, const ion_type &, const vShift_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ChannelDensityVShift * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const vShift_type & vShift() const
Return a read-only (constant) reference to the attribute.
virtual ~ChannelDensityVShift()
Destructor.
Class corresponding to the ChannelPopulation schema type.
const segmentGroup_type & segmentGroup() const
Return a read-only (constant) reference to the attribute.
::xsd::cxx::tree::optional< segment_type > segment_optional
Attribute optional container type.
::xsd::cxx::tree::sequence< variableParameter_type > variableParameter_sequence
Element sequence container type.
ChannelPopulation & operator=(const ChannelPopulation &x)
Copy assignment operator.
static const segmentGroup_type & segmentGroup_default_value()
Return the default value for the attribute.
const erev_type & erev() const
Return a read-only (constant) reference to the attribute.
const ionChannel_type & ionChannel() const
Return a read-only (constant) reference to the attribute.
variableParameter_sequence::const_iterator variableParameter_const_iterator
Element constant iterator type.
const variableParameter_sequence & variableParameter() const
Return a read-only (constant) reference to the element sequence.
const number_type & number() const
Return a read-only (constant) reference to the attribute.
virtual ChannelPopulation * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::neuroml2::NmlId segmentGroup_type
Attribute type.
const ion_type & ion() const
Return a read-only (constant) reference to the attribute.
const segment_optional & segment() const
Return a read-only (constant) reference to the attribute container.
virtual ~ChannelPopulation()
Destructor.
ChannelPopulation(const id_type &, const ionChannel_type &, const number_type &, const erev_type &, const ion_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the ClosedState schema type.
ClosedState(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~ClosedState()
Destructor.
virtual ClosedState * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the ComponentType schema type.
::xsd::cxx::tree::optional< extends_type > extends_optional
Attribute optional container type.
::xsd::cxx::tree::sequence< DerivedParameter_type > DerivedParameter_sequence
Element sequence container type.
const Property_sequence & Property() const
Return a read-only (constant) reference to the element sequence.
Parameter_sequence::const_iterator Parameter_const_iterator
Element constant iterator type.
Dynamics_sequence::const_iterator Dynamics_const_iterator
Element constant iterator type.
Exposure_sequence::const_iterator Exposure_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< Property_type > Property_sequence
Element sequence container type.
const Parameter_sequence & Parameter() const
Return a read-only (constant) reference to the element sequence.
const Requirement_sequence & Requirement() const
Return a read-only (constant) reference to the element sequence.
::xml_schema::string extends_type
Attribute type.
const name_type & name() const
Return a read-only (constant) reference to the attribute.
ComponentType(const name_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
ComponentType & operator=(const ComponentType &x)
Copy assignment operator.
virtual ComponentType * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Property_sequence::const_iterator Property_const_iterator
Element constant iterator type.
::xml_schema::string name_type
Attribute type.
Constant_sequence::const_iterator Constant_const_iterator
Element constant iterator type.
const Exposure_sequence & Exposure() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::optional< description_type > description_optional
Attribute optional container type.
virtual ~ComponentType()
Destructor.
const DerivedParameter_sequence & DerivedParameter() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< Parameter_type > Parameter_sequence
Element sequence container type.
const InstanceRequirement_sequence & InstanceRequirement() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< Exposure_type > Exposure_sequence
Element sequence container type.
const Dynamics_sequence & Dynamics() const
Return a read-only (constant) reference to the element sequence.
InstanceRequirement_sequence::const_iterator InstanceRequirement_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< Requirement_type > Requirement_sequence
Element sequence container type.
Requirement_sequence::const_iterator Requirement_const_iterator
Element constant iterator type.
const Constant_sequence & Constant() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< Dynamics_type > Dynamics_sequence
Element sequence container type.
const description_optional & description() const
Return a read-only (constant) reference to the attribute container.
::xsd::cxx::tree::sequence< InstanceRequirement_type > InstanceRequirement_sequence
Element sequence container type.
DerivedParameter_sequence::const_iterator DerivedParameter_const_iterator
Element constant iterator type.
::xml_schema::string description_type
Attribute type.
const extends_optional & extends() const
Return a read-only (constant) reference to the attribute container.
::xsd::cxx::tree::sequence< Constant_type > Constant_sequence
Element sequence container type.
Class corresponding to the CompoundInputDL schema type.
::xsd::cxx::tree::sequence< pulseGeneratorDL_type > pulseGeneratorDL_sequence
Element sequence container type.
const rampGeneratorDL_sequence & rampGeneratorDL() const
Return a read-only (constant) reference to the element sequence.
virtual ~CompoundInputDL()
Destructor.
CompoundInputDL(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual CompoundInputDL * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const pulseGeneratorDL_sequence & pulseGeneratorDL() const
Return a read-only (constant) reference to the element sequence.
rampGeneratorDL_sequence::const_iterator rampGeneratorDL_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< rampGeneratorDL_type > rampGeneratorDL_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< sineGeneratorDL_type > sineGeneratorDL_sequence
Element sequence container type.
sineGeneratorDL_sequence::const_iterator sineGeneratorDL_const_iterator
Element constant iterator type.
const sineGeneratorDL_sequence & sineGeneratorDL() const
Return a read-only (constant) reference to the element sequence.
pulseGeneratorDL_sequence::const_iterator pulseGeneratorDL_const_iterator
Element constant iterator type.
CompoundInputDL & operator=(const CompoundInputDL &x)
Copy assignment operator.
Class corresponding to the CompoundInput schema type.
sineGenerator_sequence::const_iterator sineGenerator_const_iterator
Element constant iterator type.
virtual ~CompoundInput()
Destructor.
pulseGenerator_sequence::const_iterator pulseGenerator_const_iterator
Element constant iterator type.
CompoundInput & operator=(const CompoundInput &x)
Copy assignment operator.
::xsd::cxx::tree::sequence< rampGenerator_type > rampGenerator_sequence
Element sequence container type.
const pulseGenerator_sequence & pulseGenerator() const
Return a read-only (constant) reference to the element sequence.
const sineGenerator_sequence & sineGenerator() const
Return a read-only (constant) reference to the element sequence.
virtual CompoundInput * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const rampGenerator_sequence & rampGenerator() const
Return a read-only (constant) reference to the element sequence.
rampGenerator_sequence::const_iterator rampGenerator_const_iterator
Element constant iterator type.
CompoundInput(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
::xsd::cxx::tree::sequence< sineGenerator_type > sineGenerator_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< pulseGenerator_type > pulseGenerator_sequence
Element sequence container type.
Class corresponding to the ConcentrationModel_D schema type.
ConcentrationModel_D(const id_type &, const ion_type &, const restingConc_type &, const decayConstant_type &, const shellThickness_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
static const type_type & type_default_value()
Return the default value for the attribute.
ConcentrationModel_D & operator=(const ConcentrationModel_D &x)
Copy assignment operator.
virtual ConcentrationModel_D * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xml_schema::simple_type type_type
Attribute type.
const type_type & type() const
Return a read-only (constant) reference to the attribute.
virtual ~ConcentrationModel_D()
Destructor.
Class corresponding to the ConditionalDerivedVariable schema type.
const Case_sequence & Case() const
Return a read-only (constant) reference to the element sequence.
virtual ConditionalDerivedVariable * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xsd::cxx::tree::sequence< Case_type > Case_sequence
Element sequence container type.
ConditionalDerivedVariable(const name_type &, const dimension_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~ConditionalDerivedVariable()
Destructor.
Case_sequence::const_iterator Case_const_iterator
Element constant iterator type.
ConditionalDerivedVariable & operator=(const ConditionalDerivedVariable &x)
Copy assignment operator.
Class corresponding to the Connection schema type.
virtual ~Connection_base()
Destructor.
virtual Connection_base * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Connection_base(const id_type &, const preCellId_type &, const postCellId_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the ConnectionWD schema type.
virtual ConnectionWD * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const delay_type & delay() const
Return a read-only (constant) reference to the attribute.
ConnectionWD & operator=(const ConnectionWD &x)
Copy assignment operator.
virtual ~ConnectionWD()
Destructor.
ConnectionWD(const id_type &, const preCellId_type &, const postCellId_type &, const weight_type &, const delay_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const weight_type & weight() const
Return a read-only (constant) reference to the attribute.
::xml_schema::float_ weight_type
Attribute type.
Class corresponding to the Constant schema type.
const dimension_type & dimension() const
Return a read-only (constant) reference to the attribute.
virtual Constant * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~Constant()
Destructor.
::xsd::cxx::tree::optional< description_type > description_optional
Attribute optional container type.
const description_optional & description() const
Return a read-only (constant) reference to the attribute container.
Constant(const name_type &, const dimension_type &, const value_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const value_type & value() const
Return a read-only (constant) reference to the attribute.
::xml_schema::string name_type
Attribute type.
Constant & operator=(const Constant &x)
Copy assignment operator.
::xml_schema::string description_type
Attribute type.
const name_type & name() const
Return a read-only (constant) reference to the attribute.
::xml_schema::string dimension_type
Attribute type.
Class corresponding to the ContinuousConnection schema type.
ContinuousConnection(const id_type &, const preCell_type &, const postCell_type &, const preComponent_type &, const postComponent_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const preComponent_type & preComponent() const
Return a read-only (constant) reference to the attribute.
virtual ContinuousConnection * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~ContinuousConnection()
Destructor.
ContinuousConnection & operator=(const ContinuousConnection &x)
Copy assignment operator.
const postComponent_type & postComponent() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the ContinuousConnectionInstance schema type.
virtual ~ContinuousConnectionInstance()
Destructor.
virtual ContinuousConnectionInstance * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
ContinuousConnectionInstance(const id_type &, const preCell_type &, const postCell_type &, const preComponent_type &, const postComponent_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the ContinuousConnectionInstanceW schema type.
::xml_schema::float_ weight_type
Attribute type.
ContinuousConnectionInstanceW(const id_type &, const preCell_type &, const postCell_type &, const preComponent_type &, const postComponent_type &, const weight_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ContinuousConnectionInstanceW * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
ContinuousConnectionInstanceW & operator=(const ContinuousConnectionInstanceW &x)
Copy assignment operator.
virtual ~ContinuousConnectionInstanceW()
Destructor.
const weight_type & weight() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the ContinuousProjection schema type.
continuousConnection_sequence::const_iterator continuousConnection_const_iterator
Element constant iterator type.
virtual ~ContinuousProjection()
Destructor.
continuousConnectionInstance_sequence::const_iterator continuousConnectionInstance_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< continuousConnectionInstance_type > continuousConnectionInstance_sequence
Element sequence container type.
ContinuousProjection(const id_type &, const presynapticPopulation_type &, const postsynapticPopulation_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const continuousConnection_sequence & continuousConnection() const
Return a read-only (constant) reference to the element sequence.
ContinuousProjection & operator=(const ContinuousProjection &x)
Copy assignment operator.
virtual ContinuousProjection * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xsd::cxx::tree::sequence< continuousConnectionInstanceW_type > continuousConnectionInstanceW_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< continuousConnection_type > continuousConnection_sequence
Element sequence container type.
const continuousConnectionInstance_sequence & continuousConnectionInstance() const
Return a read-only (constant) reference to the element sequence.
const continuousConnectionInstanceW_sequence & continuousConnectionInstanceW() const
Return a read-only (constant) reference to the element sequence.
continuousConnectionInstanceW_sequence::const_iterator continuousConnectionInstanceW_const_iterator
Element constant iterator type.
Class corresponding to the DecayingPoolConcentrationModel schema type.
const decayConstant_type & decayConstant() const
Return a read-only (constant) reference to the attribute.
DecayingPoolConcentrationModel & operator=(const DecayingPoolConcentrationModel &x)
Copy assignment operator.
DecayingPoolConcentrationModel(const id_type &, const ion_type &, const restingConc_type &, const decayConstant_type &, const shellThickness_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const shellThickness_type & shellThickness() const
Return a read-only (constant) reference to the attribute.
virtual DecayingPoolConcentrationModel * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const restingConc_type & restingConc() const
Return a read-only (constant) reference to the attribute.
virtual ~DecayingPoolConcentrationModel()
Destructor.
const ion_type & ion() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the DerivedParameter schema type.
::xml_schema::string value_type
Attribute type.
const value_type & value() const
Return a read-only (constant) reference to the attribute.
DerivedParameter & operator=(const DerivedParameter &x)
Copy assignment operator.
virtual DerivedParameter * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
DerivedParameter(const name_type &, const dimension_type &, const value_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~DerivedParameter()
Destructor.
Class corresponding to the DerivedVariable schema type.
::xsd::cxx::tree::optional< select_type > select_optional
Attribute optional container type.
DerivedVariable & operator=(const DerivedVariable &x)
Copy assignment operator.
::xml_schema::string select_type
Attribute type.
::xsd::cxx::tree::optional< value_type > value_optional
Attribute optional container type.
const value_optional & value() const
Return a read-only (constant) reference to the attribute container.
virtual DerivedVariable * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
DerivedVariable(const name_type &, const dimension_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
::xml_schema::string value_type
Attribute type.
virtual ~DerivedVariable()
Destructor.
const select_optional & select() const
Return a read-only (constant) reference to the attribute container.
Class corresponding to the DistalDetails schema type.
DistalDetails(const normalizationEnd_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~DistalDetails()
Destructor.
DistalDetails & operator=(const DistalDetails &x)
Copy assignment operator.
virtual DistalDetails * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xml_schema::double_ normalizationEnd_type
Attribute type.
const normalizationEnd_type & normalizationEnd() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the DoubleGreaterThanZero schema type.
DoubleGreaterThanZero(const ::xml_schema::double_ &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual DoubleGreaterThanZero * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~DoubleGreaterThanZero()
Destructor.
Class corresponding to the DoubleSynapse schema type.
const synapse2_type & synapse2() const
Return a read-only (constant) reference to the attribute.
const synapse2Path_type & synapse2Path() const
Return a read-only (constant) reference to the attribute.
const synapse1_type & synapse1() const
Return a read-only (constant) reference to the attribute.
DoubleSynapse & operator=(const DoubleSynapse &x)
Copy assignment operator.
virtual ~DoubleSynapse()
Destructor.
virtual DoubleSynapse * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const synapse1Path_type & synapse1Path() const
Return a read-only (constant) reference to the attribute.
DoubleSynapse(const id_type &, const synapse1_type &, const synapse2_type &, const synapse1Path_type &, const synapse2Path_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
::xml_schema::string synapse2Path_type
Attribute type.
::xml_schema::string synapse1Path_type
Attribute type.
Class corresponding to the Dynamics schema type.
Dynamics()
Create an instance from the ultimate base and initializers for required elements and attributes.
const OnCondition_sequence & OnCondition() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< Regime_type > Regime_sequence
Element sequence container type.
virtual ~Dynamics()
Destructor.
virtual Dynamics * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const ConditionalDerivedVariable_sequence & ConditionalDerivedVariable() const
Return a read-only (constant) reference to the element sequence.
const TimeDerivative_sequence & TimeDerivative() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< ConditionalDerivedVariable_type > ConditionalDerivedVariable_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< TimeDerivative_type > TimeDerivative_sequence
Element sequence container type.
TimeDerivative_sequence::const_iterator TimeDerivative_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< DerivedVariable_type > DerivedVariable_sequence
Element sequence container type.
OnCondition_sequence::const_iterator OnCondition_const_iterator
Element constant iterator type.
DerivedVariable_sequence::const_iterator DerivedVariable_const_iterator
Element constant iterator type.
StateVariable_sequence::const_iterator StateVariable_const_iterator
Element constant iterator type.
Dynamics & operator=(const Dynamics &x)
Copy assignment operator.
const Regime_sequence & Regime() const
Return a read-only (constant) reference to the element sequence.
OnEvent_sequence::const_iterator OnEvent_const_iterator
Element constant iterator type.
ConditionalDerivedVariable_sequence::const_iterator ConditionalDerivedVariable_const_iterator
Element constant iterator type.
const OnEvent_sequence & OnEvent() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< StateVariable_type > StateVariable_sequence
Element sequence container type.
const StateVariable_sequence & StateVariable() const
Return a read-only (constant) reference to the element sequence.
const DerivedVariable_sequence & DerivedVariable() const
Return a read-only (constant) reference to the element sequence.
const OnStart_optional & OnStart() const
Return a read-only (constant) reference to the element container.
::xsd::cxx::tree::optional< OnStart_type > OnStart_optional
Element optional container type.
::xsd::cxx::tree::sequence< OnCondition_type > OnCondition_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< OnEvent_type > OnEvent_sequence
Element sequence container type.
Regime_sequence::const_iterator Regime_const_iterator
Element constant iterator type.
Class corresponding to the EIF_cond_alpha_isfa_ista schema type.
virtual EIF_cond_alpha_isfa_ista * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~EIF_cond_alpha_isfa_ista()
Destructor.
EIF_cond_alpha_isfa_ista(const id_type &, const cm_type &, const i_offset_type &, const tau_syn_E_type &, const tau_syn_I_type &, const v_init_type &, const tau_m_type &, const tau_refrac_type &, const v_reset_type &, const v_rest_type &, const v_thresh_type &, const e_rev_E_type &, const e_rev_I_type &, const a_type &, const b_type &, const delta_T_type &, const tau_w_type &, const v_spike_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the EIF_cond_exp_isfa_ista schema type.
const tau_w_type & tau_w() const
Return a read-only (constant) reference to the attribute.
const v_spike_type & v_spike() const
Return a read-only (constant) reference to the attribute.
::xml_schema::float_ v_spike_type
Attribute type.
::xml_schema::float_ tau_w_type
Attribute type.
::xml_schema::float_ a_type
Attribute type.
const b_type & b() const
Return a read-only (constant) reference to the attribute.
EIF_cond_exp_isfa_ista(const id_type &, const cm_type &, const i_offset_type &, const tau_syn_E_type &, const tau_syn_I_type &, const v_init_type &, const tau_m_type &, const tau_refrac_type &, const v_reset_type &, const v_rest_type &, const v_thresh_type &, const e_rev_E_type &, const e_rev_I_type &, const a_type &, const b_type &, const delta_T_type &, const tau_w_type &, const v_spike_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~EIF_cond_exp_isfa_ista()
Destructor.
EIF_cond_exp_isfa_ista & operator=(const EIF_cond_exp_isfa_ista &x)
Copy assignment operator.
::xml_schema::float_ delta_T_type
Attribute type.
virtual EIF_cond_exp_isfa_ista * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xml_schema::float_ b_type
Attribute type.
const a_type & a() const
Return a read-only (constant) reference to the attribute.
const delta_T_type & delta_T() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the ElectricalConnection schema type.
virtual ElectricalConnection * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
ElectricalConnection(const id_type &, const preCell_type &, const postCell_type &, const synapse_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~ElectricalConnection()
Destructor.
ElectricalConnection & operator=(const ElectricalConnection &x)
Copy assignment operator.
const synapse_type & synapse() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the ElectricalConnectionInstance schema type.
virtual ElectricalConnectionInstance * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
ElectricalConnectionInstance(const id_type &, const preCell_type &, const postCell_type &, const synapse_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~ElectricalConnectionInstance()
Destructor.
Class corresponding to the ElectricalConnectionInstanceW schema type.
virtual ElectricalConnectionInstanceW * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
ElectricalConnectionInstanceW & operator=(const ElectricalConnectionInstanceW &x)
Copy assignment operator.
ElectricalConnectionInstanceW(const id_type &, const preCell_type &, const postCell_type &, const synapse_type &, const weight_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
::xml_schema::float_ weight_type
Attribute type.
virtual ~ElectricalConnectionInstanceW()
Destructor.
const weight_type & weight() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the ElectricalProjection schema type.
ElectricalProjection & operator=(const ElectricalProjection &x)
Copy assignment operator.
virtual ~ElectricalProjection()
Destructor.
electricalConnection_sequence::const_iterator electricalConnection_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< electricalConnectionInstance_type > electricalConnectionInstance_sequence
Element sequence container type.
electricalConnectionInstanceW_sequence::const_iterator electricalConnectionInstanceW_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< electricalConnection_type > electricalConnection_sequence
Element sequence container type.
electricalConnectionInstance_sequence::const_iterator electricalConnectionInstance_const_iterator
Element constant iterator type.
ElectricalProjection(const id_type &, const presynapticPopulation_type &, const postsynapticPopulation_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ElectricalProjection * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const electricalConnectionInstanceW_sequence & electricalConnectionInstanceW() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< electricalConnectionInstanceW_type > electricalConnectionInstanceW_sequence
Element sequence container type.
const electricalConnectionInstance_sequence & electricalConnectionInstance() const
Return a read-only (constant) reference to the element sequence.
const electricalConnection_sequence & electricalConnection() const
Return a read-only (constant) reference to the element sequence.
Class corresponding to the EventOut schema type.
virtual ~EventOut()
Destructor.
virtual EventOut * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const port_type & port() const
Return a read-only (constant) reference to the attribute.
::xml_schema::string port_type
Attribute type.
EventOut(const port_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
EventOut & operator=(const EventOut &x)
Copy assignment operator.
Class corresponding to the ExpCondSynapse schema type.
ExpCondSynapse(const id_type &, const tau_syn_type &, const e_rev_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const e_rev_type & e_rev() const
Return a read-only (constant) reference to the attribute.
::xml_schema::float_ e_rev_type
Attribute type.
virtual ~ExpCondSynapse()
Destructor.
ExpCondSynapse & operator=(const ExpCondSynapse &x)
Copy assignment operator.
virtual ExpCondSynapse * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the ExpCurrSynapse schema type.
virtual ~ExpCurrSynapse()
Destructor.
ExpCurrSynapse(const id_type &, const tau_syn_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ExpCurrSynapse * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the ExpOneSynapse schema type.
ExpOneSynapse(const id_type &, const gbase_type &, const erev_type &, const tauDecay_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ExpOneSynapse * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const tauDecay_type & tauDecay() const
Return a read-only (constant) reference to the attribute.
virtual ~ExpOneSynapse()
Destructor.
ExpOneSynapse & operator=(const ExpOneSynapse &x)
Copy assignment operator.
Class corresponding to the ExpThreeSynapse schema type.
ExpThreeSynapse(const id_type &, const gbase1_type &, const gbase2_type &, const erev_type &, const tauDecay1_type &, const tauDecay2_type &, const tauRise_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~ExpThreeSynapse()
Destructor.
virtual ExpThreeSynapse * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const tauDecay2_type & tauDecay2() const
Return a read-only (constant) reference to the attribute.
const tauDecay1_type & tauDecay1() const
Return a read-only (constant) reference to the attribute.
ExpThreeSynapse & operator=(const ExpThreeSynapse &x)
Copy assignment operator.
const tauRise_type & tauRise() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the ExpTwoSynapse schema type.
ExpTwoSynapse(const id_type &, const gbase_type &, const erev_type &, const tauDecay_type &, const tauRise_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~ExpTwoSynapse()
Destructor.
const tauRise_type & tauRise() const
Return a read-only (constant) reference to the attribute.
const tauDecay_type & tauDecay() const
Return a read-only (constant) reference to the attribute.
virtual ExpTwoSynapse * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
ExpTwoSynapse & operator=(const ExpTwoSynapse &x)
Copy assignment operator.
Class corresponding to the ExplicitInput schema type.
const target_type & target() const
Return a read-only (constant) reference to the attribute.
virtual ExplicitInput * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
ExplicitInput & operator=(const ExplicitInput &x)
Copy assignment operator.
ExplicitInput(const target_type &, const input_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
::xsd::cxx::tree::optional< destination_type > destination_optional
Attribute optional container type.
const destination_optional & destination() const
Return a read-only (constant) reference to the attribute container.
const input_type & input() const
Return a read-only (constant) reference to the attribute.
virtual ~ExplicitInput()
Destructor.
Class corresponding to the Exposure schema type.
::xsd::cxx::tree::optional< description_type > description_optional
Attribute optional container type.
const description_optional & description() const
Return a read-only (constant) reference to the attribute container.
::xml_schema::string dimension_type
Attribute type.
::xml_schema::string name_type
Attribute type.
::xml_schema::string description_type
Attribute type.
virtual ~Exposure()
Destructor.
Exposure & operator=(const Exposure &x)
Copy assignment operator.
const name_type & name() const
Return a read-only (constant) reference to the attribute.
virtual Exposure * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Exposure(const name_type &, const dimension_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const dimension_type & dimension() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the ExtracellularProperties schema type.
ExtracellularProperties(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
ExtracellularProperties & operator=(const ExtracellularProperties &x)
Copy assignment operator.
virtual ~ExtracellularProperties()
Destructor.
const species_sequence & species() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< species_type > species_sequence
Element sequence container type.
species_sequence::const_iterator species_const_iterator
Element constant iterator type.
virtual ExtracellularProperties * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the ExtracellularPropertiesLocal schema type.
ExtracellularPropertiesLocal(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
species_sequence::const_iterator species_const_iterator
Element constant iterator type.
virtual ExtracellularPropertiesLocal * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const species_sequence & species() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< species_type > species_sequence
Element sequence container type.
ExtracellularPropertiesLocal & operator=(const ExtracellularPropertiesLocal &x)
Copy assignment operator.
virtual ~ExtracellularPropertiesLocal()
Destructor.
Class corresponding to the FitzHughNagumo1969Cell schema type.
FitzHughNagumo1969Cell & operator=(const FitzHughNagumo1969Cell &x)
Copy assignment operator.
virtual FitzHughNagumo1969Cell * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const a_type & a() const
Return a read-only (constant) reference to the attribute.
const W0_type & W0() const
Return a read-only (constant) reference to the attribute.
const phi_type & phi() const
Return a read-only (constant) reference to the attribute.
const I_type & I() const
Return a read-only (constant) reference to the attribute.
virtual ~FitzHughNagumo1969Cell()
Destructor.
const b_type & b() const
Return a read-only (constant) reference to the attribute.
FitzHughNagumo1969Cell(const id_type &, const a_type &, const b_type &, const I_type &, const phi_type &, const V0_type &, const W0_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const V0_type & V0() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the FitzHughNagumoCell schema type.
virtual FitzHughNagumoCell * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
FitzHughNagumoCell & operator=(const FitzHughNagumoCell &x)
Copy assignment operator.
const I_type & I() const
Return a read-only (constant) reference to the attribute.
virtual ~FitzHughNagumoCell()
Destructor.
FitzHughNagumoCell(const id_type &, const I_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the FixedFactorConcentrationModel schema type.
const decayConstant_type & decayConstant() const
Return a read-only (constant) reference to the attribute.
virtual ~FixedFactorConcentrationModel()
Destructor.
const ion_type & ion() const
Return a read-only (constant) reference to the attribute.
const restingConc_type & restingConc() const
Return a read-only (constant) reference to the attribute.
virtual FixedFactorConcentrationModel * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
FixedFactorConcentrationModel(const id_type &, const ion_type &, const restingConc_type &, const decayConstant_type &, const rho_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
FixedFactorConcentrationModel & operator=(const FixedFactorConcentrationModel &x)
Copy assignment operator.
const rho_type & rho() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the ForwardTransition schema type.
const to_type & to() const
Return a read-only (constant) reference to the attribute.
virtual ~ForwardTransition()
Destructor.
ForwardTransition(const id_type &, const from_type &, const to_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const from_type & from() const
Return a read-only (constant) reference to the attribute.
virtual ForwardTransition * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
ForwardTransition & operator=(const ForwardTransition &x)
Copy assignment operator.
Class corresponding to the GapJunction schema type.
GapJunction & operator=(const GapJunction &x)
Copy assignment operator.
virtual GapJunction * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~GapJunction()
Destructor.
GapJunction(const id_type &, const conductance_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const conductance_type & conductance() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the GateFractional schema type.
virtual ~GateFractional()
Destructor.
subGate_sequence::const_iterator subGate_const_iterator
Element constant iterator type.
GateFractional & operator=(const GateFractional &x)
Copy assignment operator.
virtual GateFractional * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xsd::cxx::tree::optional< q10Settings_type > q10Settings_optional
Element optional container type.
const instances_type & instances() const
Return a read-only (constant) reference to the attribute.
const notes_optional & notes() const
Return a read-only (constant) reference to the element container.
::xsd::cxx::tree::optional< notes_type > notes_optional
Element optional container type.
const q10Settings_optional & q10Settings() const
Return a read-only (constant) reference to the element container.
GateFractional(const id_type &, const instances_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const subGate_sequence & subGate() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< subGate_type > subGate_sequence
Element sequence container type.
Class corresponding to the GateFractionalSubgate schema type.
::xsd::cxx::tree::optional< notes_type > notes_optional
Element optional container type.
const notes_optional & notes() const
Return a read-only (constant) reference to the element container.
GateFractionalSubgate(const id_type &, const steadyState_type &, const timeCourse_type &, const fractionalConductance_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const timeCourse_type & timeCourse() const
Return a read-only (constant) reference to the element.
::xsd::cxx::tree::optional< q10Settings_type > q10Settings_optional
Element optional container type.
const fractionalConductance_type & fractionalConductance() const
Return a read-only (constant) reference to the attribute.
const steadyState_type & steadyState() const
Return a read-only (constant) reference to the element.
GateFractionalSubgate & operator=(const GateFractionalSubgate &x)
Copy assignment operator.
virtual GateFractionalSubgate * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const q10Settings_optional & q10Settings() const
Return a read-only (constant) reference to the element container.
virtual ~GateFractionalSubgate()
Destructor.
Class corresponding to the GateHHInstantaneous schema type.
const steadyState_type & steadyState() const
Return a read-only (constant) reference to the element.
const notes_optional & notes() const
Return a read-only (constant) reference to the element container.
virtual ~GateHHInstantaneous()
Destructor.
::xsd::cxx::tree::optional< notes_type > notes_optional
Element optional container type.
GateHHInstantaneous & operator=(const GateHHInstantaneous &x)
Copy assignment operator.
virtual GateHHInstantaneous * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
GateHHInstantaneous(const id_type &, const steadyState_type &, const instances_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const instances_type & instances() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the GateHHRates schema type.
virtual ~GateHHRates()
Destructor.
::xsd::cxx::tree::optional< q10Settings_type > q10Settings_optional
Element optional container type.
GateHHRates & operator=(const GateHHRates &x)
Copy assignment operator.
const forwardRate_type & forwardRate() const
Return a read-only (constant) reference to the element.
GateHHRates(const id_type &, const forwardRate_type &, const reverseRate_type &, const instances_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
::xsd::cxx::tree::optional< notes_type > notes_optional
Element optional container type.
const q10Settings_optional & q10Settings() const
Return a read-only (constant) reference to the element container.
const notes_optional & notes() const
Return a read-only (constant) reference to the element container.
virtual GateHHRates * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const instances_type & instances() const
Return a read-only (constant) reference to the attribute.
const reverseRate_type & reverseRate() const
Return a read-only (constant) reference to the element.
Class corresponding to the GateHHRatesInf schema type.
const instances_type & instances() const
Return a read-only (constant) reference to the attribute.
const steadyState_type & steadyState() const
Return a read-only (constant) reference to the element.
GateHHRatesInf(const id_type &, const forwardRate_type &, const reverseRate_type &, const steadyState_type &, const instances_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const forwardRate_type & forwardRate() const
Return a read-only (constant) reference to the element.
virtual ~GateHHRatesInf()
Destructor.
GateHHRatesInf & operator=(const GateHHRatesInf &x)
Copy assignment operator.
const q10Settings_optional & q10Settings() const
Return a read-only (constant) reference to the element container.
virtual GateHHRatesInf * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const reverseRate_type & reverseRate() const
Return a read-only (constant) reference to the element.
const notes_optional & notes() const
Return a read-only (constant) reference to the element container.
::xsd::cxx::tree::optional< q10Settings_type > q10Settings_optional
Element optional container type.
::xsd::cxx::tree::optional< notes_type > notes_optional
Element optional container type.
Class corresponding to the GateHHRatesTau schema type.
const reverseRate_type & reverseRate() const
Return a read-only (constant) reference to the element.
::xsd::cxx::tree::optional< notes_type > notes_optional
Element optional container type.
virtual GateHHRatesTau * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~GateHHRatesTau()
Destructor.
const notes_optional & notes() const
Return a read-only (constant) reference to the element container.
const forwardRate_type & forwardRate() const
Return a read-only (constant) reference to the element.
const timeCourse_type & timeCourse() const
Return a read-only (constant) reference to the element.
::xsd::cxx::tree::optional< q10Settings_type > q10Settings_optional
Element optional container type.
GateHHRatesTau(const id_type &, const forwardRate_type &, const reverseRate_type &, const timeCourse_type &, const instances_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
GateHHRatesTau & operator=(const GateHHRatesTau &x)
Copy assignment operator.
const q10Settings_optional & q10Settings() const
Return a read-only (constant) reference to the element container.
const instances_type & instances() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the GateHHRatesTauInf schema type.
const forwardRate_type & forwardRate() const
Return a read-only (constant) reference to the element.
const reverseRate_type & reverseRate() const
Return a read-only (constant) reference to the element.
::xsd::cxx::tree::optional< notes_type > notes_optional
Element optional container type.
const notes_optional & notes() const
Return a read-only (constant) reference to the element container.
virtual ~GateHHRatesTauInf()
Destructor.
::xsd::cxx::tree::optional< q10Settings_type > q10Settings_optional
Element optional container type.
GateHHRatesTauInf & operator=(const GateHHRatesTauInf &x)
Copy assignment operator.
const steadyState_type & steadyState() const
Return a read-only (constant) reference to the element.
GateHHRatesTauInf(const id_type &, const forwardRate_type &, const reverseRate_type &, const timeCourse_type &, const steadyState_type &, const instances_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const timeCourse_type & timeCourse() const
Return a read-only (constant) reference to the element.
const instances_type & instances() const
Return a read-only (constant) reference to the attribute.
virtual GateHHRatesTauInf * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const q10Settings_optional & q10Settings() const
Return a read-only (constant) reference to the element container.
Class corresponding to the GateHHTauInf schema type.
GateHHTauInf(const id_type &, const timeCourse_type &, const steadyState_type &, const instances_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~GateHHTauInf()
Destructor.
const instances_type & instances() const
Return a read-only (constant) reference to the attribute.
const timeCourse_type & timeCourse() const
Return a read-only (constant) reference to the element.
GateHHTauInf & operator=(const GateHHTauInf &x)
Copy assignment operator.
const notes_optional & notes() const
Return a read-only (constant) reference to the element container.
virtual GateHHTauInf * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xsd::cxx::tree::optional< q10Settings_type > q10Settings_optional
Element optional container type.
const q10Settings_optional & q10Settings() const
Return a read-only (constant) reference to the element container.
::xsd::cxx::tree::optional< notes_type > notes_optional
Element optional container type.
const steadyState_type & steadyState() const
Return a read-only (constant) reference to the element.
Class corresponding to the GateHHUndetermined schema type.
GateHHUndetermined & operator=(const GateHHUndetermined &x)
Copy assignment operator.
::xsd::cxx::tree::sequence< subGate_type > subGate_sequence
Element sequence container type.
const subGate_sequence & subGate() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::optional< q10Settings_type > q10Settings_optional
Element optional container type.
const forwardRate_optional & forwardRate() const
Return a read-only (constant) reference to the element container.
const reverseRate_optional & reverseRate() const
Return a read-only (constant) reference to the element container.
::xsd::cxx::tree::optional< notes_type > notes_optional
Element optional container type.
virtual GateHHUndetermined * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xsd::cxx::tree::optional< forwardRate_type > forwardRate_optional
Element optional container type.
subGate_sequence::const_iterator subGate_const_iterator
Element constant iterator type.
const q10Settings_optional & q10Settings() const
Return a read-only (constant) reference to the element container.
virtual ~GateHHUndetermined()
Destructor.
const notes_optional & notes() const
Return a read-only (constant) reference to the element container.
::xsd::cxx::tree::optional< reverseRate_type > reverseRate_optional
Element optional container type.
const steadyState_optional & steadyState() const
Return a read-only (constant) reference to the element container.
const instances_type & instances() const
Return a read-only (constant) reference to the attribute.
const type_type & type() const
Return a read-only (constant) reference to the attribute.
const timeCourse_optional & timeCourse() const
Return a read-only (constant) reference to the element container.
GateHHUndetermined(const id_type &, const instances_type &, const type_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
::xsd::cxx::tree::optional< steadyState_type > steadyState_optional
Element optional container type.
::xsd::cxx::tree::optional< timeCourse_type > timeCourse_optional
Element optional container type.
Class corresponding to the GateKS schema type.
::xsd::cxx::tree::sequence< closedState_type > closedState_sequence
Element sequence container type.
tauInfTransition_sequence::const_iterator tauInfTransition_const_iterator
Element constant iterator type.
const forwardTransition_sequence & forwardTransition() const
Return a read-only (constant) reference to the element sequence.
forwardTransition_sequence::const_iterator forwardTransition_const_iterator
Element constant iterator type.
closedState_sequence::const_iterator closedState_const_iterator
Element constant iterator type.
reverseTransition_sequence::const_iterator reverseTransition_const_iterator
Element constant iterator type.
const q10Settings_optional & q10Settings() const
Return a read-only (constant) reference to the element container.
openState_sequence::const_iterator openState_const_iterator
Element constant iterator type.
const reverseTransition_sequence & reverseTransition() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< openState_type > openState_sequence
Element sequence container type.
const instances_type & instances() const
Return a read-only (constant) reference to the attribute.
::xsd::cxx::tree::optional< notes_type > notes_optional
Element optional container type.
virtual GateKS * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const notes_optional & notes() const
Return a read-only (constant) reference to the element container.
GateKS(const id_type &, const instances_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
GateKS & operator=(const GateKS &x)
Copy assignment operator.
const openState_sequence & openState() const
Return a read-only (constant) reference to the element sequence.
virtual ~GateKS()
Destructor.
const closedState_sequence & closedState() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< reverseTransition_type > reverseTransition_sequence
Element sequence container type.
::xsd::cxx::tree::optional< q10Settings_type > q10Settings_optional
Element optional container type.
::xsd::cxx::tree::sequence< tauInfTransition_type > tauInfTransition_sequence
Element sequence container type.
const tauInfTransition_sequence & tauInfTransition() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< forwardTransition_type > forwardTransition_sequence
Element sequence container type.
Class corresponding to the GradedSynapse schema type.
const conductance_type & conductance() const
Return a read-only (constant) reference to the attribute.
virtual ~GradedSynapse()
Destructor.
const k_type & k() const
Return a read-only (constant) reference to the attribute.
const erev_type & erev() const
Return a read-only (constant) reference to the attribute.
GradedSynapse & operator=(const GradedSynapse &x)
Copy assignment operator.
const Vth_type & Vth() const
Return a read-only (constant) reference to the attribute.
GradedSynapse(const id_type &, const conductance_type &, const delta_type &, const Vth_type &, const k_type &, const erev_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const delta_type & delta() const
Return a read-only (constant) reference to the attribute.
virtual GradedSynapse * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the GridLayout schema type.
::xsd::cxx::tree::optional< xSize_type > xSize_optional
Attribute optional container type.
virtual ~GridLayout()
Destructor.
::xml_schema::non_negative_integer zSize_type
Attribute type.
virtual GridLayout * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const xSize_optional & xSize() const
Return a read-only (constant) reference to the attribute container.
::xml_schema::non_negative_integer xSize_type
Attribute type.
::xsd::cxx::tree::optional< ySize_type > ySize_optional
Attribute optional container type.
GridLayout & operator=(const GridLayout &x)
Copy assignment operator.
const ySize_optional & ySize() const
Return a read-only (constant) reference to the attribute container.
GridLayout()
Create an instance from the ultimate base and initializers for required elements and attributes.
::xml_schema::non_negative_integer ySize_type
Attribute type.
::xsd::cxx::tree::optional< zSize_type > zSize_optional
Attribute optional container type.
const zSize_optional & zSize() const
Return a read-only (constant) reference to the attribute container.
Class corresponding to the HH_cond_exp schema type.
const v_offset_type & v_offset() const
Return a read-only (constant) reference to the attribute.
HH_cond_exp & operator=(const HH_cond_exp &x)
Copy assignment operator.
const gbar_K_type & gbar_K() const
Return a read-only (constant) reference to the attribute.
const e_rev_K_type & e_rev_K() const
Return a read-only (constant) reference to the attribute.
const e_rev_E_type & e_rev_E() const
Return a read-only (constant) reference to the attribute.
const g_leak_type & g_leak() const
Return a read-only (constant) reference to the attribute.
virtual HH_cond_exp * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const e_rev_leak_type & e_rev_leak() const
Return a read-only (constant) reference to the attribute.
::xml_schema::float_ e_rev_Na_type
Attribute type.
::xml_schema::float_ v_offset_type
Attribute type.
const e_rev_I_type & e_rev_I() const
Return a read-only (constant) reference to the attribute.
virtual ~HH_cond_exp()
Destructor.
::xml_schema::float_ gbar_K_type
Attribute type.
::xml_schema::float_ gbar_Na_type
Attribute type.
::xml_schema::float_ e_rev_I_type
Attribute type.
const gbar_Na_type & gbar_Na() const
Return a read-only (constant) reference to the attribute.
::xml_schema::float_ e_rev_E_type
Attribute type.
::xml_schema::float_ e_rev_leak_type
Attribute type.
::xml_schema::float_ e_rev_K_type
Attribute type.
HH_cond_exp(const id_type &, const cm_type &, const i_offset_type &, const tau_syn_E_type &, const tau_syn_I_type &, const v_init_type &, const v_offset_type &, const e_rev_E_type &, const e_rev_I_type &, const e_rev_K_type &, const e_rev_Na_type &, const e_rev_leak_type &, const g_leak_type &, const gbar_K_type &, const gbar_Na_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const e_rev_Na_type & e_rev_Na() const
Return a read-only (constant) reference to the attribute.
::xml_schema::float_ g_leak_type
Attribute type.
Class corresponding to the HHRate schema type.
const midpoint_optional & midpoint() const
Return a read-only (constant) reference to the attribute container.
const scale_optional & scale() const
Return a read-only (constant) reference to the attribute container.
::xsd::cxx::tree::optional< midpoint_type > midpoint_optional
Attribute optional container type.
const type_type & type() const
Return a read-only (constant) reference to the attribute.
::xsd::cxx::tree::optional< rate_type > rate_optional
Attribute optional container type.
virtual HHRate * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~HHRate()
Destructor.
::xsd::cxx::tree::optional< scale_type > scale_optional
Attribute optional container type.
HHRate(const type_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const rate_optional & rate() const
Return a read-only (constant) reference to the attribute container.
HHRate & operator=(const HHRate &x)
Copy assignment operator.
Class corresponding to the HHTime schema type.
::xsd::cxx::tree::optional< midpoint_type > midpoint_optional
Attribute optional container type.
::xsd::cxx::tree::optional< tau_type > tau_optional
Attribute optional container type.
virtual ~HHTime()
Destructor.
const midpoint_optional & midpoint() const
Return a read-only (constant) reference to the attribute container.
const rate_optional & rate() const
Return a read-only (constant) reference to the attribute container.
const scale_optional & scale() const
Return a read-only (constant) reference to the attribute container.
::xsd::cxx::tree::optional< rate_type > rate_optional
Attribute optional container type.
virtual HHTime * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xsd::cxx::tree::optional< scale_type > scale_optional
Attribute optional container type.
const type_type & type() const
Return a read-only (constant) reference to the attribute.
const tau_optional & tau() const
Return a read-only (constant) reference to the attribute container.
HHTime(const type_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
HHTime & operator=(const HHTime &x)
Copy assignment operator.
Class corresponding to the HHVariable schema type.
virtual ~HHVariable()
Destructor.
const rate_optional & rate() const
Return a read-only (constant) reference to the attribute container.
::xsd::cxx::tree::optional< midpoint_type > midpoint_optional
Attribute optional container type.
HHVariable(const type_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual HHVariable * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xsd::cxx::tree::optional< scale_type > scale_optional
Attribute optional container type.
const scale_optional & scale() const
Return a read-only (constant) reference to the attribute container.
const midpoint_optional & midpoint() const
Return a read-only (constant) reference to the attribute container.
::xml_schema::float_ rate_type
Attribute type.
::xsd::cxx::tree::optional< rate_type > rate_optional
Attribute optional container type.
HHVariable & operator=(const HHVariable &x)
Copy assignment operator.
const type_type & type() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the HindmarshRose1984Cell schema type.
const d_type & d() const
Return a read-only (constant) reference to the attribute.
const v_scaling_type & v_scaling() const
Return a read-only (constant) reference to the attribute.
virtual HindmarshRose1984Cell * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const z0_type & z0() const
Return a read-only (constant) reference to the attribute.
const s_type & s() const
Return a read-only (constant) reference to the attribute.
const r_type & r() const
Return a read-only (constant) reference to the attribute.
const y0_type & y0() const
Return a read-only (constant) reference to the attribute.
const a_type & a() const
Return a read-only (constant) reference to the attribute.
virtual ~HindmarshRose1984Cell()
Destructor.
const x1_type & x1() const
Return a read-only (constant) reference to the attribute.
HindmarshRose1984Cell(const id_type &, const C_type &, const a_type &, const b_type &, const c_type &, const d_type &, const s_type &, const x1_type &, const r_type &, const x0_type &, const y0_type &, const z0_type &, const v_scaling_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const b_type & b() const
Return a read-only (constant) reference to the attribute.
const x0_type & x0() const
Return a read-only (constant) reference to the attribute.
HindmarshRose1984Cell & operator=(const HindmarshRose1984Cell &x)
Copy assignment operator.
const c_type & c() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the IF_cond_alpha schema type.
virtual ~IF_cond_alpha()
Destructor.
IF_cond_alpha(const id_type &, const cm_type &, const i_offset_type &, const tau_syn_E_type &, const tau_syn_I_type &, const v_init_type &, const tau_m_type &, const tau_refrac_type &, const v_reset_type &, const v_rest_type &, const v_thresh_type &, const e_rev_E_type &, const e_rev_I_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual IF_cond_alpha * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the IF_cond_exp schema type.
IF_cond_exp(const id_type &, const cm_type &, const i_offset_type &, const tau_syn_E_type &, const tau_syn_I_type &, const v_init_type &, const tau_m_type &, const tau_refrac_type &, const v_reset_type &, const v_rest_type &, const v_thresh_type &, const e_rev_E_type &, const e_rev_I_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~IF_cond_exp()
Destructor.
virtual IF_cond_exp * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the IF_curr_alpha schema type.
IF_curr_alpha(const id_type &, const cm_type &, const i_offset_type &, const tau_syn_E_type &, const tau_syn_I_type &, const v_init_type &, const tau_m_type &, const tau_refrac_type &, const v_reset_type &, const v_rest_type &, const v_thresh_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~IF_curr_alpha()
Destructor.
virtual IF_curr_alpha * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the IF_curr_exp schema type.
virtual IF_curr_exp * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~IF_curr_exp()
Destructor.
IF_curr_exp(const id_type &, const cm_type &, const i_offset_type &, const tau_syn_E_type &, const tau_syn_I_type &, const v_init_type &, const tau_m_type &, const tau_refrac_type &, const v_reset_type &, const v_rest_type &, const v_thresh_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the IafCell schema type.
IafCell(const id_type &, const leakReversal_type &, const thresh_type &, const reset_type &, const C_type &, const leakConductance_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const thresh_type & thresh() const
Return a read-only (constant) reference to the attribute.
const leakReversal_type & leakReversal() const
Return a read-only (constant) reference to the attribute.
const C_type & C() const
Return a read-only (constant) reference to the attribute.
const leakConductance_type & leakConductance() const
Return a read-only (constant) reference to the attribute.
virtual IafCell * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
IafCell & operator=(const IafCell &x)
Copy assignment operator.
virtual ~IafCell()
Destructor.
const reset_type & reset() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the IafRefCell schema type.
IafRefCell(const id_type &, const leakReversal_type &, const thresh_type &, const reset_type &, const C_type &, const leakConductance_type &, const refract_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
IafRefCell & operator=(const IafRefCell &x)
Copy assignment operator.
virtual IafRefCell * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const refract_type & refract() const
Return a read-only (constant) reference to the attribute.
virtual ~IafRefCell()
Destructor.
Class corresponding to the IafTauCell schema type.
const reset_type & reset() const
Return a read-only (constant) reference to the attribute.
virtual IafTauCell * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const leakReversal_type & leakReversal() const
Return a read-only (constant) reference to the attribute.
virtual ~IafTauCell()
Destructor.
IafTauCell(const id_type &, const leakReversal_type &, const thresh_type &, const reset_type &, const tau_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
IafTauCell & operator=(const IafTauCell &x)
Copy assignment operator.
const tau_type & tau() const
Return a read-only (constant) reference to the attribute.
const thresh_type & thresh() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the IafTauRefCell schema type.
IafTauRefCell & operator=(const IafTauRefCell &x)
Copy assignment operator.
IafTauRefCell(const id_type &, const leakReversal_type &, const thresh_type &, const reset_type &, const tau_type &, const refract_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const refract_type & refract() const
Return a read-only (constant) reference to the attribute.
virtual ~IafTauRefCell()
Destructor.
virtual IafTauRefCell * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the Include schema type.
Include(const segmentGroup_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Include & operator=(const Include &x)
Copy assignment operator.
virtual Include * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~Include()
Destructor.
const segmentGroup_type & segmentGroup() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the IncludeType schema type.
IncludeType(const href_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~IncludeType()
Destructor.
virtual IncludeType * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xml_schema::uri href_type
Attribute type.
IncludeType & operator=(const IncludeType &x)
Copy assignment operator.
const href_type & href() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the InhomogeneousParameter schema type.
InhomogeneousParameter & operator=(const InhomogeneousParameter &x)
Copy assignment operator.
::xml_schema::string variable_type
Attribute type.
::xsd::cxx::tree::optional< proximal_type > proximal_optional
Element optional container type.
virtual ~InhomogeneousParameter()
Destructor.
const variable_type & variable() const
Return a read-only (constant) reference to the attribute.
::xsd::cxx::tree::optional< distal_type > distal_optional
Element optional container type.
const distal_optional & distal() const
Return a read-only (constant) reference to the element container.
const proximal_optional & proximal() const
Return a read-only (constant) reference to the element container.
InhomogeneousParameter(const id_type &, const variable_type &, const metric_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual InhomogeneousParameter * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const metric_type & metric() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the InhomogeneousValue schema type.
InhomogeneousValue(const inhomogeneousParameter_type &, const value_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const value_type & value() const
Return a read-only (constant) reference to the attribute.
const inhomogeneousParameter_type & inhomogeneousParameter() const
Return a read-only (constant) reference to the attribute.
::xml_schema::string value_type
Attribute type.
virtual InhomogeneousValue * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
InhomogeneousValue & operator=(const InhomogeneousValue &x)
Copy assignment operator.
::xml_schema::string inhomogeneousParameter_type
Attribute type.
virtual ~InhomogeneousValue()
Destructor.
Class corresponding to the InitMembPotential schema type.
virtual ~InitMembPotential()
Destructor.
const segmentGroup_type & segmentGroup() const
Return a read-only (constant) reference to the attribute.
InitMembPotential & operator=(const InitMembPotential &x)
Copy assignment operator.
::neuroml2::NmlId segmentGroup_type
Attribute type.
const value_type & value() const
Return a read-only (constant) reference to the attribute.
virtual InitMembPotential * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
static const segmentGroup_type & segmentGroup_default_value()
Return the default value for the attribute.
InitMembPotential(const value_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the Input schema type.
Input(const id_type &, const target_type &, const destination_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const fractionAlong_optional & fractionAlong() const
Return a read-only (constant) reference to the attribute container.
virtual ~Input()
Destructor.
const target_type & target() const
Return a read-only (constant) reference to the attribute.
virtual Input * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const destination_type & destination() const
Return a read-only (constant) reference to the attribute.
::xsd::cxx::tree::optional< segmentId_type > segmentId_optional
Attribute optional container type.
::xsd::cxx::tree::optional< fractionAlong_type > fractionAlong_optional
Attribute optional container type.
Input & operator=(const Input &x)
Copy assignment operator.
const segmentId_optional & segmentId() const
Return a read-only (constant) reference to the attribute container.
Class corresponding to the InputList schema type.
const population_type & population() const
Return a read-only (constant) reference to the attribute.
const component_type & component() const
Return a read-only (constant) reference to the attribute.
inputW_sequence::const_iterator inputW_const_iterator
Element constant iterator type.
virtual InputList * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const input_sequence & input() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< inputW_type > inputW_sequence
Element sequence container type.
input_sequence::const_iterator input_const_iterator
Element constant iterator type.
const inputW_sequence & inputW() const
Return a read-only (constant) reference to the element sequence.
InputList & operator=(const InputList &x)
Copy assignment operator.
::xsd::cxx::tree::sequence< input_type > input_sequence
Element sequence container type.
virtual ~InputList()
Destructor.
InputList(const id_type &, const population_type &, const component_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the InputW schema type.
virtual InputW * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const weight_type & weight() const
Return a read-only (constant) reference to the attribute.
InputW & operator=(const InputW &x)
Copy assignment operator.
virtual ~InputW()
Destructor.
::xml_schema::float_ weight_type
Attribute type.
InputW(const id_type &, const target_type &, const destination_type &, const weight_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the Instance schema type.
::xml_schema::non_negative_integer i_type
Attribute type.
::xml_schema::non_negative_integer id_type
Attribute type.
::xml_schema::non_negative_integer k_type
Attribute type.
Instance(const location_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
::xsd::cxx::tree::optional< id_type > id_optional
Attribute optional container type.
const j_optional & j() const
Return a read-only (constant) reference to the attribute container.
const k_optional & k() const
Return a read-only (constant) reference to the attribute container.
virtual ~Instance()
Destructor.
virtual Instance * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Instance & operator=(const Instance &x)
Copy assignment operator.
const id_optional & id() const
Return a read-only (constant) reference to the attribute container.
const location_type & location() const
Return a read-only (constant) reference to the element.
::xsd::cxx::tree::optional< k_type > k_optional
Attribute optional container type.
const i_optional & i() const
Return a read-only (constant) reference to the attribute container.
::xsd::cxx::tree::optional< j_type > j_optional
Attribute optional container type.
::xml_schema::non_negative_integer j_type
Attribute type.
::xsd::cxx::tree::optional< i_type > i_optional
Attribute optional container type.
Class corresponding to the InstanceRequirement schema type.
const type_type & type() const
Return a read-only (constant) reference to the attribute.
InstanceRequirement(const name_type &, const type_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
::xml_schema::string type_type
Attribute type.
const name_type & name() const
Return a read-only (constant) reference to the attribute.
::xml_schema::string name_type
Attribute type.
virtual InstanceRequirement * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
InstanceRequirement & operator=(const InstanceRequirement &x)
Copy assignment operator.
virtual ~InstanceRequirement()
Destructor.
Class corresponding to the IntracellularProperties2CaPools schema type.
virtual IntracellularProperties2CaPools * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~IntracellularProperties2CaPools()
Destructor.
IntracellularProperties2CaPools()
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the IntracellularProperties schema type.
const species_sequence & species() const
Return a read-only (constant) reference to the element sequence.
virtual IntracellularProperties * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const resistivity_sequence & resistivity() const
Return a read-only (constant) reference to the element sequence.
resistivity_sequence::const_iterator resistivity_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< resistivity_type > resistivity_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< species_type > species_sequence
Element sequence container type.
IntracellularProperties()
Create an instance from the ultimate base and initializers for required elements and attributes.
species_sequence::const_iterator species_const_iterator
Element constant iterator type.
IntracellularProperties & operator=(const IntracellularProperties &x)
Copy assignment operator.
virtual ~IntracellularProperties()
Destructor.
Class corresponding to the IonChannelHH schema type.
virtual IonChannelHH * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
IonChannelHH(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~IonChannelHH()
Destructor.
Class corresponding to the IonChannel schema type.
const species_optional & species() const
Return a read-only (constant) reference to the attribute container.
gateHHratesInf_sequence::const_iterator gateHHratesInf_const_iterator
Element constant iterator type.
gateHHtauInf_sequence::const_iterator gateHHtauInf_const_iterator
Element constant iterator type.
IonChannel & operator=(const IonChannel &x)
Copy assignment operator.
::xsd::cxx::tree::sequence< gateHHratesInf_type > gateHHratesInf_sequence
Element sequence container type.
::xsd::cxx::tree::optional< type_type > type_optional
Attribute optional container type.
::xsd::cxx::tree::sequence< gateFractional_type > gateFractional_sequence
Element sequence container type.
const gateHHratesTau_sequence & gateHHratesTau() const
Return a read-only (constant) reference to the element sequence.
const conductance_optional & conductance() const
Return a read-only (constant) reference to the attribute container.
gateHHratesTau_sequence::const_iterator gateHHratesTau_const_iterator
Element constant iterator type.
const type_optional & type() const
Return a read-only (constant) reference to the attribute container.
gate_sequence::const_iterator gate_const_iterator
Element constant iterator type.
const gateHHratesInf_sequence & gateHHratesInf() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< gateHHratesTauInf_type > gateHHratesTauInf_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< gateHHtauInf_type > gateHHtauInf_sequence
Element sequence container type.
gateHHrates_sequence::const_iterator gateHHrates_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< gateHHInstantaneous_type > gateHHInstantaneous_sequence
Element sequence container type.
::xsd::cxx::tree::optional< conductance_type > conductance_optional
Attribute optional container type.
::xsd::cxx::tree::sequence< gateHHratesTau_type > gateHHratesTau_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< gate_type > gate_sequence
Element sequence container type.
IonChannel(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const gate_sequence & gate() const
Return a read-only (constant) reference to the element sequence.
gateHHInstantaneous_sequence::const_iterator gateHHInstantaneous_const_iterator
Element constant iterator type.
::xsd::cxx::tree::optional< species_type > species_optional
Attribute optional container type.
gateFractional_sequence::const_iterator gateFractional_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< gateHHrates_type > gateHHrates_sequence
Element sequence container type.
const gateHHrates_sequence & gateHHrates() const
Return a read-only (constant) reference to the element sequence.
const gateHHratesTauInf_sequence & gateHHratesTauInf() const
Return a read-only (constant) reference to the element sequence.
const gateHHInstantaneous_sequence & gateHHInstantaneous() const
Return a read-only (constant) reference to the element sequence.
const gateFractional_sequence & gateFractional() const
Return a read-only (constant) reference to the element sequence.
const gateHHtauInf_sequence & gateHHtauInf() const
Return a read-only (constant) reference to the element sequence.
gateHHratesTauInf_sequence::const_iterator gateHHratesTauInf_const_iterator
Element constant iterator type.
virtual IonChannel * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~IonChannel()
Destructor.
Class corresponding to the IonChannelKS schema type.
::xsd::cxx::tree::sequence< gateKS_type > gateKS_sequence
Element sequence container type.
const conductance_optional & conductance() const
Return a read-only (constant) reference to the attribute container.
virtual IonChannelKS * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~IonChannelKS()
Destructor.
::xsd::cxx::tree::optional< species_type > species_optional
Attribute optional container type.
::xsd::cxx::tree::optional< conductance_type > conductance_optional
Attribute optional container type.
::xsd::cxx::tree::optional< neuroLexId_type > neuroLexId_optional
Attribute optional container type.
gateKS_sequence::const_iterator gateKS_const_iterator
Element constant iterator type.
IonChannelKS(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const species_optional & species() const
Return a read-only (constant) reference to the attribute container.
const neuroLexId_optional & neuroLexId() const
Return a read-only (constant) reference to the attribute container.
const gateKS_sequence & gateKS() const
Return a read-only (constant) reference to the element sequence.
IonChannelKS & operator=(const IonChannelKS &x)
Copy assignment operator.
Class corresponding to the IonChannelScalable schema type.
::xsd::cxx::tree::sequence< q10ConductanceScaling_type > q10ConductanceScaling_sequence
Element sequence container type.
const q10ConductanceScaling_sequence & q10ConductanceScaling() const
Return a read-only (constant) reference to the element sequence.
virtual ~IonChannelScalable()
Destructor.
::xsd::cxx::tree::optional< neuroLexId_type > neuroLexId_optional
Attribute optional container type.
virtual IonChannelScalable * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const neuroLexId_optional & neuroLexId() const
Return a read-only (constant) reference to the attribute container.
q10ConductanceScaling_sequence::const_iterator q10ConductanceScaling_const_iterator
Element constant iterator type.
IonChannelScalable(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
IonChannelScalable & operator=(const IonChannelScalable &x)
Copy assignment operator.
Class corresponding to the IonChannelVShift schema type.
IonChannelVShift & operator=(const IonChannelVShift &x)
Copy assignment operator.
IonChannelVShift(const id_type &, const vShift_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const vShift_type & vShift() const
Return a read-only (constant) reference to the attribute.
virtual IonChannelVShift * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~IonChannelVShift()
Destructor.
Class corresponding to the Izhikevich2007Cell schema type.
virtual ~Izhikevich2007Cell()
Destructor.
virtual Izhikevich2007Cell * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Izhikevich2007Cell & operator=(const Izhikevich2007Cell &x)
Copy assignment operator.
Izhikevich2007Cell(const id_type &, const C_type &, const v0_type &, const k_type &, const vr_type &, const vt_type &, const vpeak_type &, const a_type &, const b_type &, const c_type &, const d_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const b_type & b() const
Return a read-only (constant) reference to the attribute.
const v0_type & v0() const
Return a read-only (constant) reference to the attribute.
const vt_type & vt() const
Return a read-only (constant) reference to the attribute.
const c_type & c() const
Return a read-only (constant) reference to the attribute.
const vr_type & vr() const
Return a read-only (constant) reference to the attribute.
const a_type & a() const
Return a read-only (constant) reference to the attribute.
const d_type & d() const
Return a read-only (constant) reference to the attribute.
const k_type & k() const
Return a read-only (constant) reference to the attribute.
const vpeak_type & vpeak() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the IzhikevichCell schema type.
const thresh_type & thresh() const
Return a read-only (constant) reference to the attribute.
IzhikevichCell(const id_type &, const v0_type &, const thresh_type &, const a_type &, const b_type &, const c_type &, const d_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const b_type & b() const
Return a read-only (constant) reference to the attribute.
const v0_type & v0() const
Return a read-only (constant) reference to the attribute.
virtual IzhikevichCell * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~IzhikevichCell()
Destructor.
const c_type & c() const
Return a read-only (constant) reference to the attribute.
const a_type & a() const
Return a read-only (constant) reference to the attribute.
IzhikevichCell & operator=(const IzhikevichCell &x)
Copy assignment operator.
const d_type & d() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the LEMS_Property schema type.
::xsd::cxx::tree::optional< defaultValue_type > defaultValue_optional
Attribute optional container type.
virtual ~LEMS_Property()
Destructor.
LEMS_Property(const name_type &, const dimension_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const defaultValue_optional & defaultValue() const
Return a read-only (constant) reference to the attribute container.
virtual LEMS_Property * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xml_schema::double_ defaultValue_type
Attribute type.
LEMS_Property & operator=(const LEMS_Property &x)
Copy assignment operator.
Class corresponding to the Layout schema type.
virtual ~Layout()
Destructor.
::xsd::cxx::tree::optional< grid_type > grid_optional
Element optional container type.
const space_optional & space() const
Return a read-only (constant) reference to the attribute container.
const unstructured_optional & unstructured() const
Return a read-only (constant) reference to the element container.
::xsd::cxx::tree::optional< unstructured_type > unstructured_optional
Element optional container type.
const random_optional & random() const
Return a read-only (constant) reference to the element container.
Layout & operator=(const Layout &x)
Copy assignment operator.
::xsd::cxx::tree::optional< random_type > random_optional
Element optional container type.
Layout()
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual Layout * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const grid_optional & grid() const
Return a read-only (constant) reference to the element container.
::xsd::cxx::tree::optional< space_type > space_optional
Attribute optional container type.
Class corresponding to the LinearGradedSynapse schema type.
virtual ~LinearGradedSynapse()
Destructor.
const conductance_type & conductance() const
Return a read-only (constant) reference to the attribute.
LinearGradedSynapse(const id_type &, const conductance_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
LinearGradedSynapse & operator=(const LinearGradedSynapse &x)
Copy assignment operator.
virtual LinearGradedSynapse * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the Location schema type.
Location & operator=(const Location &x)
Copy assignment operator.
::xml_schema::float_ y_type
Attribute type.
const y_type & y() const
Return a read-only (constant) reference to the attribute.
const x_type & x() const
Return a read-only (constant) reference to the attribute.
::xml_schema::float_ x_type
Attribute type.
virtual Location * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const z_type & z() const
Return a read-only (constant) reference to the attribute.
virtual ~Location()
Destructor.
::xml_schema::float_ z_type
Attribute type.
Location(const x_type &, const y_type &, const z_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the Member schema type.
Member(const segment_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual Member * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Member & operator=(const Member &x)
Copy assignment operator.
virtual ~Member()
Destructor.
const segment_type & segment() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the MembraneProperties2CaPools schema type.
const channelDensityNernstCa2_sequence & channelDensityNernstCa2() const
Return a read-only (constant) reference to the element sequence.
virtual MembraneProperties2CaPools * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
channelDensityNernstCa2_sequence::const_iterator channelDensityNernstCa2_const_iterator
Element constant iterator type.
virtual ~MembraneProperties2CaPools()
Destructor.
MembraneProperties2CaPools()
Create an instance from the ultimate base and initializers for required elements and attributes.
MembraneProperties2CaPools & operator=(const MembraneProperties2CaPools &x)
Copy assignment operator.
::xsd::cxx::tree::sequence< channelDensityNernstCa2_type > channelDensityNernstCa2_sequence
Element sequence container type.
Class corresponding to the MembraneProperties schema type.
const channelDensityNonUniformGHK_sequence & channelDensityNonUniformGHK() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< channelDensityNonUniformGHK_type > channelDensityNonUniformGHK_sequence
Element sequence container type.
spikeThresh_sequence::const_iterator spikeThresh_const_iterator
Element constant iterator type.
const spikeThresh_sequence & spikeThresh() const
Return a read-only (constant) reference to the element sequence.
channelPopulation_sequence::const_iterator channelPopulation_const_iterator
Element constant iterator type.
channelDensityNonUniformNernst_sequence::const_iterator channelDensityNonUniformNernst_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< initMembPotential_type > initMembPotential_sequence
Element sequence container type.
const channelDensityGHK_sequence & channelDensityGHK() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< channelDensityNonUniform_type > channelDensityNonUniform_sequence
Element sequence container type.
MembraneProperties & operator=(const MembraneProperties &x)
Copy assignment operator.
::xsd::cxx::tree::sequence< channelDensityNernst_type > channelDensityNernst_sequence
Element sequence container type.
const channelDensityNernst_sequence & channelDensityNernst() const
Return a read-only (constant) reference to the element sequence.
const channelDensity_sequence & channelDensity() const
Return a read-only (constant) reference to the element sequence.
channelDensityGHK_sequence::const_iterator channelDensityGHK_const_iterator
Element constant iterator type.
channelDensityNonUniform_sequence::const_iterator channelDensityNonUniform_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< specificCapacitance_type > specificCapacitance_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< channelPopulation_type > channelPopulation_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< channelDensityVShift_type > channelDensityVShift_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< channelDensityGHK_type > channelDensityGHK_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< spikeThresh_type > spikeThresh_sequence
Element sequence container type.
MembraneProperties()
Create an instance from the ultimate base and initializers for required elements and attributes.
channelDensityVShift_sequence::const_iterator channelDensityVShift_const_iterator
Element constant iterator type.
virtual MembraneProperties * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const channelDensityGHK2_sequence & channelDensityGHK2() const
Return a read-only (constant) reference to the element sequence.
const channelDensityNonUniform_sequence & channelDensityNonUniform() const
Return a read-only (constant) reference to the element sequence.
virtual ~MembraneProperties()
Destructor.
const channelDensityNonUniformNernst_sequence & channelDensityNonUniformNernst() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< channelDensity_type > channelDensity_sequence
Element sequence container type.
const channelDensityVShift_sequence & channelDensityVShift() const
Return a read-only (constant) reference to the element sequence.
channelDensityNernst_sequence::const_iterator channelDensityNernst_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< channelDensityGHK2_type > channelDensityGHK2_sequence
Element sequence container type.
initMembPotential_sequence::const_iterator initMembPotential_const_iterator
Element constant iterator type.
const initMembPotential_sequence & initMembPotential() const
Return a read-only (constant) reference to the element sequence.
const specificCapacitance_sequence & specificCapacitance() const
Return a read-only (constant) reference to the element sequence.
channelDensityGHK2_sequence::const_iterator channelDensityGHK2_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< channelDensityNonUniformNernst_type > channelDensityNonUniformNernst_sequence
Element sequence container type.
channelDensityNonUniformGHK_sequence::const_iterator channelDensityNonUniformGHK_const_iterator
Element constant iterator type.
channelDensity_sequence::const_iterator channelDensity_const_iterator
Element constant iterator type.
const channelPopulation_sequence & channelPopulation() const
Return a read-only (constant) reference to the element sequence.
specificCapacitance_sequence::const_iterator specificCapacitance_const_iterator
Element constant iterator type.
Class corresponding to the MetaId schema type.
virtual MetaId * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~MetaId()
Destructor.
MetaId()
Create an instance from initializers for required elements and attributes.
Enumeration class corresponding to the Metric schema type.
value
Underlying enum type.
Metric & operator=(value v)
Assign the underlying enum value.
virtual Metric * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Metric(value v)
Create an instance from the underlying enum value.
Class corresponding to the Morphology schema type.
::xsd::cxx::tree::sequence< segmentGroup_type > segmentGroup_sequence
Element sequence container type.
const segmentGroup_sequence & segmentGroup() const
Return a read-only (constant) reference to the element sequence.
virtual ~Morphology_base()
Destructor.
Morphology_base & operator=(const Morphology_base &x)
Copy assignment operator.
segment_sequence::const_iterator segment_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< segment_type > segment_sequence
Element sequence container type.
const segment_sequence & segment() const
Return a read-only (constant) reference to the element sequence.
segmentGroup_sequence::const_iterator segmentGroup_const_iterator
Element constant iterator type.
Morphology_base(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual Morphology_base * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the Morphology schema type.
Class corresponding to the NamedDimensionalType schema type.
const name_type & name() const
Return a read-only (constant) reference to the attribute.
::xml_schema::string description_type
Attribute type.
virtual NamedDimensionalType * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const description_optional & description() const
Return a read-only (constant) reference to the attribute container.
::xml_schema::string name_type
Attribute type.
NamedDimensionalType & operator=(const NamedDimensionalType &x)
Copy assignment operator.
virtual ~NamedDimensionalType()
Destructor.
::xsd::cxx::tree::optional< description_type > description_optional
Attribute optional container type.
NamedDimensionalType(const name_type &, const dimension_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const dimension_type & dimension() const
Return a read-only (constant) reference to the attribute.
::xml_schema::string dimension_type
Attribute type.
Class corresponding to the NamedDimensionalVariable schema type.
virtual ~NamedDimensionalVariable()
Destructor.
NamedDimensionalVariable & operator=(const NamedDimensionalVariable &x)
Copy assignment operator.
const description_optional & description() const
Return a read-only (constant) reference to the attribute container.
::xml_schema::string exposure_type
Attribute type.
::xml_schema::string name_type
Attribute type.
::xsd::cxx::tree::optional< exposure_type > exposure_optional
Attribute optional container type.
virtual NamedDimensionalVariable * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const dimension_type & dimension() const
Return a read-only (constant) reference to the attribute.
const exposure_optional & exposure() const
Return a read-only (constant) reference to the attribute container.
::xml_schema::string description_type
Attribute type.
::xsd::cxx::tree::optional< description_type > description_optional
Attribute optional container type.
const name_type & name() const
Return a read-only (constant) reference to the attribute.
NamedDimensionalVariable(const name_type &, const dimension_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
::xml_schema::string dimension_type
Attribute type.
Class corresponding to the Network schema type.
const space_sequence & space() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< population_type > population_sequence
Element sequence container type.
electricalProjection_sequence::const_iterator electricalProjection_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< space_type > space_sequence
Element sequence container type.
const synapticConnection_sequence & synapticConnection() const
Return a read-only (constant) reference to the element sequence.
continuousProjection_sequence::const_iterator continuousProjection_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< region_type > region_sequence
Element sequence container type.
const region_sequence & region() const
Return a read-only (constant) reference to the element sequence.
projection_sequence::const_iterator projection_const_iterator
Element constant iterator type.
Network(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
cellSet_sequence::const_iterator cellSet_const_iterator
Element constant iterator type.
Network & operator=(const Network &x)
Copy assignment operator.
const continuousProjection_sequence & continuousProjection() const
Return a read-only (constant) reference to the element sequence.
const extracellularProperties_sequence & extracellularProperties() const
Return a read-only (constant) reference to the element sequence.
inputList_sequence::const_iterator inputList_const_iterator
Element constant iterator type.
space_sequence::const_iterator space_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< electricalProjection_type > electricalProjection_sequence
Element sequence container type.
const type_optional & type() const
Return a read-only (constant) reference to the attribute container.
::xsd::cxx::tree::sequence< explicitInput_type > explicitInput_sequence
Element sequence container type.
const temperature_optional & temperature() const
Return a read-only (constant) reference to the attribute container.
const cellSet_sequence & cellSet() const
Return a read-only (constant) reference to the element sequence.
synapticConnection_sequence::const_iterator synapticConnection_const_iterator
Element constant iterator type.
const explicitInput_sequence & explicitInput() const
Return a read-only (constant) reference to the element sequence.
virtual Network * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xsd::cxx::tree::optional< type_type > type_optional
Attribute optional container type.
population_sequence::const_iterator population_const_iterator
Element constant iterator type.
const electricalProjection_sequence & electricalProjection() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::optional< temperature_type > temperature_optional
Attribute optional container type.
extracellularProperties_sequence::const_iterator extracellularProperties_const_iterator
Element constant iterator type.
const inputList_sequence & inputList() const
Return a read-only (constant) reference to the element sequence.
const neuroLexId_optional & neuroLexId() const
Return a read-only (constant) reference to the attribute container.
region_sequence::const_iterator region_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< projection_type > projection_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< synapticConnection_type > synapticConnection_sequence
Element sequence container type.
const population_sequence & population() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< inputList_type > inputList_sequence
Element sequence container type.
::xsd::cxx::tree::optional< neuroLexId_type > neuroLexId_optional
Attribute optional container type.
::xsd::cxx::tree::sequence< continuousProjection_type > continuousProjection_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< cellSet_type > cellSet_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< extracellularProperties_type > extracellularProperties_sequence
Element sequence container type.
const projection_sequence & projection() const
Return a read-only (constant) reference to the element sequence.
explicitInput_sequence::const_iterator explicitInput_const_iterator
Element constant iterator type.
virtual ~Network()
Destructor.
Class corresponding to the NeuroLexId schema type.
virtual ~NeuroLexId()
Destructor.
virtual NeuroLexId * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
NeuroLexId()
Create an instance from initializers for required elements and attributes.
Class corresponding to the NeuroMLDocument schema type.
extracellularProperties_sequence::const_iterator extracellularProperties_const_iterator
Element constant iterator type.
expCondSynapse_sequence::const_iterator expCondSynapse_const_iterator
Element constant iterator type.
const pulseGeneratorDL_sequence & pulseGeneratorDL() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< silentSynapse_type > silentSynapse_sequence
Element sequence container type.
alphaCondSynapse_sequence::const_iterator alphaCondSynapse_const_iterator
Element constant iterator type.
const sineGenerator_sequence & sineGenerator() const
Return a read-only (constant) reference to the element sequence.
ionChannelHH_sequence::const_iterator ionChannelHH_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< IF_curr_alpha_type > IF_curr_alpha_sequence
Element sequence container type.
ComponentType_sequence::const_iterator ComponentType_const_iterator
Element constant iterator type.
IF_curr_exp_sequence::const_iterator IF_curr_exp_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< alphaCurrSynapse_type > alphaCurrSynapse_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< spikeArray_type > spikeArray_sequence
Element sequence container type.
const IF_cond_alpha_sequence & IF_cond_alpha() const
Return a read-only (constant) reference to the element sequence.
const HH_cond_exp_sequence & HH_cond_exp() const
Return a read-only (constant) reference to the element sequence.
const blockingPlasticSynapse_sequence & blockingPlasticSynapse() const
Return a read-only (constant) reference to the element sequence.
compoundInput_sequence::const_iterator compoundInput_const_iterator
Element constant iterator type.
const EIF_cond_exp_isfa_ista_sequence & EIF_cond_exp_isfa_ista() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< pulseGenerator_type > pulseGenerator_sequence
Element sequence container type.
ionChannelVShift_sequence::const_iterator ionChannelVShift_const_iterator
Element constant iterator type.
const expCondSynapse_sequence & expCondSynapse() const
Return a read-only (constant) reference to the element sequence.
pulseGenerator_sequence::const_iterator pulseGenerator_const_iterator
Element constant iterator type.
spikeGeneratorRandom_sequence::const_iterator spikeGeneratorRandom_const_iterator
Element constant iterator type.
transientPoissonFiringSynapse_sequence::const_iterator transientPoissonFiringSynapse_const_iterator
Element constant iterator type.
EIF_cond_exp_isfa_ista_sequence::const_iterator EIF_cond_exp_isfa_ista_const_iterator
Element constant iterator type.
cell2CaPools_sequence::const_iterator cell2CaPools_const_iterator
Element constant iterator type.
const pinskyRinzelCA3Cell_sequence & pinskyRinzelCA3Cell() const
Return a read-only (constant) reference to the element sequence.
const gradedSynapse_sequence & gradedSynapse() const
Return a read-only (constant) reference to the element sequence.
fitzHughNagumo1969Cell_sequence::const_iterator fitzHughNagumo1969Cell_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< adExIaFCell_type > adExIaFCell_sequence
Element sequence container type.
gradedSynapse_sequence::const_iterator gradedSynapse_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< sineGenerator_type > sineGenerator_sequence
Element sequence container type.
alphaSynapse_sequence::const_iterator alphaSynapse_const_iterator
Element constant iterator type.
const linearGradedSynapse_sequence & linearGradedSynapse() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< network_type > network_sequence
Element sequence container type.
const alphaCondSynapse_sequence & alphaCondSynapse() const
Return a read-only (constant) reference to the element sequence.
const voltageClampTriple_sequence & voltageClampTriple() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< rampGenerator_type > rampGenerator_sequence
Element sequence container type.
const expThreeSynapse_sequence & expThreeSynapse() const
Return a read-only (constant) reference to the element sequence.
const spikeGenerator_sequence & spikeGenerator() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< alphaSynapse_type > alphaSynapse_sequence
Element sequence container type.
const gapJunction_sequence & gapJunction() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< ionChannel_type > ionChannel_sequence
Element sequence container type.
blockingPlasticSynapse_sequence::const_iterator blockingPlasticSynapse_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< gradedSynapse_type > gradedSynapse_sequence
Element sequence container type.
const transientPoissonFiringSynapse_sequence & transientPoissonFiringSynapse() const
Return a read-only (constant) reference to the element sequence.
const alphaCurrentSynapse_sequence & alphaCurrentSynapse() const
Return a read-only (constant) reference to the element sequence.
const poissonFiringSynapse_sequence & poissonFiringSynapse() const
Return a read-only (constant) reference to the element sequence.
voltageClampTriple_sequence::const_iterator voltageClampTriple_const_iterator
Element constant iterator type.
fitzHughNagumoCell_sequence::const_iterator fitzHughNagumoCell_const_iterator
Element constant iterator type.
adExIaFCell_sequence::const_iterator adExIaFCell_const_iterator
Element constant iterator type.
decayingPoolConcentrationModel_sequence::const_iterator decayingPoolConcentrationModel_const_iterator
Element constant iterator type.
const pulseGenerator_sequence & pulseGenerator() const
Return a read-only (constant) reference to the element sequence.
timedSynapticInput_sequence::const_iterator timedSynapticInput_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< iafRefCell_type > iafRefCell_sequence
Element sequence container type.
const expOneSynapse_sequence & expOneSynapse() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< linearGradedSynapse_type > linearGradedSynapse_sequence
Element sequence container type.
morphology_sequence::const_iterator morphology_const_iterator
Element constant iterator type.
hindmarshRose1984Cell_sequence::const_iterator hindmarshRose1984Cell_const_iterator
Element constant iterator type.
compoundInputDL_sequence::const_iterator compoundInputDL_const_iterator
Element constant iterator type.
IF_cond_exp_sequence::const_iterator IF_cond_exp_const_iterator
Element constant iterator type.
const timedSynapticInput_sequence & timedSynapticInput() const
Return a read-only (constant) reference to the element sequence.
doubleSynapse_sequence::const_iterator doubleSynapse_const_iterator
Element constant iterator type.
const doubleSynapse_sequence & doubleSynapse() const
Return a read-only (constant) reference to the element sequence.
const hindmarshRose1984Cell_sequence & hindmarshRose1984Cell() const
Return a read-only (constant) reference to the element sequence.
expTwoSynapse_sequence::const_iterator expTwoSynapse_const_iterator
Element constant iterator type.
const include_sequence & include() const
Return a read-only (constant) reference to the element sequence.
expThreeSynapse_sequence::const_iterator expThreeSynapse_const_iterator
Element constant iterator type.
const expTwoSynapse_sequence & expTwoSynapse() const
Return a read-only (constant) reference to the element sequence.
const iafTauCell_sequence & iafTauCell() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< fitzHughNagumo1969Cell_type > fitzHughNagumo1969Cell_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< include_type > include_sequence
Element sequence container type.
const spikeGeneratorRefPoisson_sequence & spikeGeneratorRefPoisson() const
Return a read-only (constant) reference to the element sequence.
silentSynapse_sequence::const_iterator silentSynapse_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< baseCell_type > baseCell_sequence
Element sequence container type.
rampGeneratorDL_sequence::const_iterator rampGeneratorDL_const_iterator
Element constant iterator type.
const izhikevich2007Cell_sequence & izhikevich2007Cell() const
Return a read-only (constant) reference to the element sequence.
const ionChannelHH_sequence & ionChannelHH() const
Return a read-only (constant) reference to the element sequence.
const adExIaFCell_sequence & adExIaFCell() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< intracellularProperties_type > intracellularProperties_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< spikeGeneratorRefPoisson_type > spikeGeneratorRefPoisson_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< ComponentType_type > ComponentType_sequence
Element sequence container type.
iafRefCell_sequence::const_iterator iafRefCell_const_iterator
Element constant iterator type.
const compoundInput_sequence & compoundInput() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< biophysicalProperties_type > biophysicalProperties_sequence
Element sequence container type.
virtual ~NeuroMLDocument_base()
Destructor.
::xsd::cxx::tree::sequence< voltageClamp_type > voltageClamp_sequence
Element sequence container type.
const intracellularProperties_sequence & intracellularProperties() const
Return a read-only (constant) reference to the element sequence.
const sineGeneratorDL_sequence & sineGeneratorDL() const
Return a read-only (constant) reference to the element sequence.
const ionChannel_sequence & ionChannel() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< EIF_cond_exp_isfa_ista_type > EIF_cond_exp_isfa_ista_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< iafTauCell_type > iafTauCell_sequence
Element sequence container type.
const spikeArray_sequence & spikeArray() const
Return a read-only (constant) reference to the element sequence.
expCurrSynapse_sequence::const_iterator expCurrSynapse_const_iterator
Element constant iterator type.
include_sequence::const_iterator include_const_iterator
Element constant iterator type.
const cell2CaPools_sequence & cell2CaPools() const
Return a read-only (constant) reference to the element sequence.
spikeGeneratorPoisson_sequence::const_iterator spikeGeneratorPoisson_const_iterator
Element constant iterator type.
NeuroMLDocument_base & operator=(const NeuroMLDocument_base &x)
Copy assignment operator.
const ComponentType_sequence & ComponentType() const
Return a read-only (constant) reference to the element sequence.
const IF_cond_exp_sequence & IF_cond_exp() const
Return a read-only (constant) reference to the element sequence.
const IF_curr_exp_sequence & IF_curr_exp() const
Return a read-only (constant) reference to the element sequence.
izhikevichCell_sequence::const_iterator izhikevichCell_const_iterator
Element constant iterator type.
const silentSynapse_sequence & silentSynapse() const
Return a read-only (constant) reference to the element sequence.
const extracellularProperties_sequence & extracellularProperties() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< IF_cond_alpha_type > IF_cond_alpha_sequence
Element sequence container type.
pinskyRinzelCA3Cell_sequence::const_iterator pinskyRinzelCA3Cell_const_iterator
Element constant iterator type.
sineGenerator_sequence::const_iterator sineGenerator_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< SpikeSourcePoisson_type > SpikeSourcePoisson_sequence
Element sequence container type.
const voltageClamp_sequence & voltageClamp() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< spikeGeneratorRandom_type > spikeGeneratorRandom_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< blockingPlasticSynapse_type > blockingPlasticSynapse_sequence
Element sequence container type.
ionChannelKS_sequence::const_iterator ionChannelKS_const_iterator
Element constant iterator type.
baseCell_sequence::const_iterator baseCell_const_iterator
Element constant iterator type.
EIF_cond_alpha_isfa_ista_sequence::const_iterator EIF_cond_alpha_isfa_ista_const_iterator
Element constant iterator type.
const morphology_sequence & morphology() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< iafTauRefCell_type > iafTauRefCell_sequence
Element sequence container type.
const spikeGeneratorPoisson_sequence & spikeGeneratorPoisson() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< pulseGeneratorDL_type > pulseGeneratorDL_sequence
Element sequence container type.
network_sequence::const_iterator network_const_iterator
Element constant iterator type.
const fitzHughNagumoCell_sequence & fitzHughNagumoCell() const
Return a read-only (constant) reference to the element sequence.
const network_sequence & network() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< EIF_cond_alpha_isfa_ista_type > EIF_cond_alpha_isfa_ista_sequence
Element sequence container type.
const iafTauRefCell_sequence & iafTauRefCell() const
Return a read-only (constant) reference to the element sequence.
biophysicalProperties_sequence::const_iterator biophysicalProperties_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< alphaCondSynapse_type > alphaCondSynapse_sequence
Element sequence container type.
const fixedFactorConcentrationModel_sequence & fixedFactorConcentrationModel() const
Return a read-only (constant) reference to the element sequence.
const izhikevichCell_sequence & izhikevichCell() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< expCondSynapse_type > expCondSynapse_sequence
Element sequence container type.
poissonFiringSynapse_sequence::const_iterator poissonFiringSynapse_const_iterator
Element constant iterator type.
const iafCell_sequence & iafCell() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< ionChannelHH_type > ionChannelHH_sequence
Element sequence container type.
ionChannel_sequence::const_iterator ionChannel_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< cell2CaPools_type > cell2CaPools_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< compoundInput_type > compoundInput_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< ionChannelVShift_type > ionChannelVShift_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< expThreeSynapse_type > expThreeSynapse_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< fitzHughNagumoCell_type > fitzHughNagumoCell_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< doubleSynapse_type > doubleSynapse_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< gapJunction_type > gapJunction_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< fixedFactorConcentrationModel_type > fixedFactorConcentrationModel_sequence
Element sequence container type.
const EIF_cond_alpha_isfa_ista_sequence & EIF_cond_alpha_isfa_ista() const
Return a read-only (constant) reference to the element sequence.
const ionChannelVShift_sequence & ionChannelVShift() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< spikeGenerator_type > spikeGenerator_sequence
Element sequence container type.
rampGenerator_sequence::const_iterator rampGenerator_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< expTwoSynapse_type > expTwoSynapse_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< pinskyRinzelCA3Cell_type > pinskyRinzelCA3Cell_sequence
Element sequence container type.
const biophysicalProperties_sequence & biophysicalProperties() const
Return a read-only (constant) reference to the element sequence.
SpikeSourcePoisson_sequence::const_iterator SpikeSourcePoisson_const_iterator
Element constant iterator type.
const spikeGeneratorRandom_sequence & spikeGeneratorRandom() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< izhikevichCell_type > izhikevichCell_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< IF_curr_exp_type > IF_curr_exp_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< decayingPoolConcentrationModel_type > decayingPoolConcentrationModel_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< timedSynapticInput_type > timedSynapticInput_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< expOneSynapse_type > expOneSynapse_sequence
Element sequence container type.
IF_cond_alpha_sequence::const_iterator IF_cond_alpha_const_iterator
Element constant iterator type.
IF_curr_alpha_sequence::const_iterator IF_curr_alpha_const_iterator
Element constant iterator type.
spikeArray_sequence::const_iterator spikeArray_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< rampGeneratorDL_type > rampGeneratorDL_sequence
Element sequence container type.
const alphaCurrSynapse_sequence & alphaCurrSynapse() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< transientPoissonFiringSynapse_type > transientPoissonFiringSynapse_sequence
Element sequence container type.
virtual NeuroMLDocument_base * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
izhikevich2007Cell_sequence::const_iterator izhikevich2007Cell_const_iterator
Element constant iterator type.
const baseCell_sequence & baseCell() const
Return a read-only (constant) reference to the element sequence.
const rampGeneratorDL_sequence & rampGeneratorDL() const
Return a read-only (constant) reference to the element sequence.
fixedFactorConcentrationModel_sequence::const_iterator fixedFactorConcentrationModel_const_iterator
Element constant iterator type.
sineGeneratorDL_sequence::const_iterator sineGeneratorDL_const_iterator
Element constant iterator type.
HH_cond_exp_sequence::const_iterator HH_cond_exp_const_iterator
Element constant iterator type.
NeuroMLDocument_base(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
cell_sequence::const_iterator cell_const_iterator
Element constant iterator type.
const cell_sequence & cell() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< izhikevich2007Cell_type > izhikevich2007Cell_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< expCurrSynapse_type > expCurrSynapse_sequence
Element sequence container type.
gapJunction_sequence::const_iterator gapJunction_const_iterator
Element constant iterator type.
const decayingPoolConcentrationModel_sequence & decayingPoolConcentrationModel() const
Return a read-only (constant) reference to the element sequence.
linearGradedSynapse_sequence::const_iterator linearGradedSynapse_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< IF_cond_exp_type > IF_cond_exp_sequence
Element sequence container type.
const fitzHughNagumo1969Cell_sequence & fitzHughNagumo1969Cell() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< ionChannelKS_type > ionChannelKS_sequence
Element sequence container type.
const SpikeSourcePoisson_sequence & SpikeSourcePoisson() const
Return a read-only (constant) reference to the element sequence.
pulseGeneratorDL_sequence::const_iterator pulseGeneratorDL_const_iterator
Element constant iterator type.
const compoundInputDL_sequence & compoundInputDL() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< hindmarshRose1984Cell_type > hindmarshRose1984Cell_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< iafCell_type > iafCell_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< HH_cond_exp_type > HH_cond_exp_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< alphaCurrentSynapse_type > alphaCurrentSynapse_sequence
Element sequence container type.
iafTauCell_sequence::const_iterator iafTauCell_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< morphology_type > morphology_sequence
Element sequence container type.
spikeGeneratorRefPoisson_sequence::const_iterator spikeGeneratorRefPoisson_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< poissonFiringSynapse_type > poissonFiringSynapse_sequence
Element sequence container type.
const ionChannelKS_sequence & ionChannelKS() const
Return a read-only (constant) reference to the element sequence.
alphaCurrentSynapse_sequence::const_iterator alphaCurrentSynapse_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< spikeGeneratorPoisson_type > spikeGeneratorPoisson_sequence
Element sequence container type.
::xsd::cxx::tree::sequence< sineGeneratorDL_type > sineGeneratorDL_sequence
Element sequence container type.
iafTauRefCell_sequence::const_iterator iafTauRefCell_const_iterator
Element constant iterator type.
const iafRefCell_sequence & iafRefCell() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< extracellularProperties_type > extracellularProperties_sequence
Element sequence container type.
const rampGenerator_sequence & rampGenerator() const
Return a read-only (constant) reference to the element sequence.
expOneSynapse_sequence::const_iterator expOneSynapse_const_iterator
Element constant iterator type.
const alphaSynapse_sequence & alphaSynapse() const
Return a read-only (constant) reference to the element sequence.
const expCurrSynapse_sequence & expCurrSynapse() const
Return a read-only (constant) reference to the element sequence.
iafCell_sequence::const_iterator iafCell_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< cell_type > cell_sequence
Element sequence container type.
voltageClamp_sequence::const_iterator voltageClamp_const_iterator
Element constant iterator type.
alphaCurrSynapse_sequence::const_iterator alphaCurrSynapse_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< voltageClampTriple_type > voltageClampTriple_sequence
Element sequence container type.
const IF_curr_alpha_sequence & IF_curr_alpha() const
Return a read-only (constant) reference to the element sequence.
spikeGenerator_sequence::const_iterator spikeGenerator_const_iterator
Element constant iterator type.
intracellularProperties_sequence::const_iterator intracellularProperties_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< compoundInputDL_type > compoundInputDL_sequence
Element sequence container type.
Class corresponding to the Nml2PopulationReferencePath schema type.
virtual ~Nml2PopulationReferencePath()
Destructor.
Nml2PopulationReferencePath()
Create an instance from initializers for required elements and attributes.
virtual Nml2PopulationReferencePath * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the Nml2Quantity_capacitance schema type.
Nml2Quantity_capacitance()
Create an instance from initializers for required elements and attributes.
virtual Nml2Quantity_capacitance * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~Nml2Quantity_capacitance()
Destructor.
Class corresponding to the Nml2Quantity_concentration schema type.
virtual Nml2Quantity_concentration * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Nml2Quantity_concentration()
Create an instance from initializers for required elements and attributes.
virtual ~Nml2Quantity_concentration()
Destructor.
Class corresponding to the Nml2Quantity_conductanceDensity schema type.
virtual Nml2Quantity_conductanceDensity * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Nml2Quantity_conductanceDensity()
Create an instance from initializers for required elements and attributes.
virtual ~Nml2Quantity_conductanceDensity()
Destructor.
Class corresponding to the Nml2Quantity_conductance schema type.
virtual Nml2Quantity_conductance * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Nml2Quantity_conductance()
Create an instance from initializers for required elements and attributes.
virtual ~Nml2Quantity_conductance()
Destructor.
Class corresponding to the Nml2Quantity_conductancePerVoltage schema type.
virtual Nml2Quantity_conductancePerVoltage * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Nml2Quantity_conductancePerVoltage()
Create an instance from initializers for required elements and attributes.
Class corresponding to the Nml2Quantity_currentDensity schema type.
virtual ~Nml2Quantity_currentDensity()
Destructor.
Nml2Quantity_currentDensity()
Create an instance from initializers for required elements and attributes.
virtual Nml2Quantity_currentDensity * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the Nml2Quantity_current schema type.
virtual ~Nml2Quantity_current()
Destructor.
Nml2Quantity_current()
Create an instance from initializers for required elements and attributes.
virtual Nml2Quantity_current * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the Nml2Quantity_length schema type.
virtual Nml2Quantity_length * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~Nml2Quantity_length()
Destructor.
Nml2Quantity_length()
Create an instance from initializers for required elements and attributes.
Class corresponding to the Nml2Quantity_none schema type.
virtual Nml2Quantity_none * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Nml2Quantity_none()
Create an instance from initializers for required elements and attributes.
virtual ~Nml2Quantity_none()
Destructor.
Class corresponding to the Nml2Quantity_permeability schema type.
virtual ~Nml2Quantity_permeability()
Destructor.
Nml2Quantity_permeability()
Create an instance from initializers for required elements and attributes.
virtual Nml2Quantity_permeability * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the Nml2Quantity_pertime schema type.
virtual ~Nml2Quantity_pertime()
Destructor.
Nml2Quantity_pertime()
Create an instance from initializers for required elements and attributes.
virtual Nml2Quantity_pertime * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the Nml2Quantity_resistance schema type.
Nml2Quantity_resistance()
Create an instance from initializers for required elements and attributes.
virtual Nml2Quantity_resistance * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~Nml2Quantity_resistance()
Destructor.
Class corresponding to the Nml2Quantity_resistivity schema type.
virtual Nml2Quantity_resistivity * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~Nml2Quantity_resistivity()
Destructor.
Nml2Quantity_resistivity()
Create an instance from initializers for required elements and attributes.
Class corresponding to the Nml2Quantity_rhoFactor schema type.
Nml2Quantity_rhoFactor()
Create an instance from initializers for required elements and attributes.
virtual Nml2Quantity_rhoFactor * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~Nml2Quantity_rhoFactor()
Destructor.
Class corresponding to the Nml2Quantity_specificCapacitance schema type.
virtual Nml2Quantity_specificCapacitance * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~Nml2Quantity_specificCapacitance()
Destructor.
Nml2Quantity_specificCapacitance()
Create an instance from initializers for required elements and attributes.
Class corresponding to the Nml2Quantity_temperature schema type.
virtual Nml2Quantity_temperature * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Nml2Quantity_temperature()
Create an instance from initializers for required elements and attributes.
virtual ~Nml2Quantity_temperature()
Destructor.
Class corresponding to the Nml2Quantity_time schema type.
Nml2Quantity_time()
Create an instance from initializers for required elements and attributes.
virtual ~Nml2Quantity_time()
Destructor.
virtual Nml2Quantity_time * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the Nml2Quantity_voltage schema type.
Nml2Quantity_voltage()
Create an instance from initializers for required elements and attributes.
virtual ~Nml2Quantity_voltage()
Destructor.
virtual Nml2Quantity_voltage * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the Nml2Quantity schema type.
virtual ~Nml2Quantity()
Destructor.
Nml2Quantity()
Create an instance from initializers for required elements and attributes.
virtual Nml2Quantity * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the NmlId schema type.
virtual NmlId * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
NmlId()
Create an instance from initializers for required elements and attributes.
virtual ~NmlId()
Destructor.
Class corresponding to the NonNegativeInteger schema type.
NonNegativeInteger(const ::xml_schema::non_negative_integer &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~NonNegativeInteger()
Destructor.
virtual NonNegativeInteger * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the Notes schema type.
Notes()
Create an instance from initializers for required elements and attributes.
virtual ~Notes()
Destructor.
virtual Notes * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the OnCondition schema type.
virtual OnCondition * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
StateAssignment_sequence::const_iterator StateAssignment_const_iterator
Element constant iterator type.
::xml_schema::string test_type
Attribute type.
EventOut_sequence::const_iterator EventOut_const_iterator
Element constant iterator type.
OnCondition(const test_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const EventOut_sequence & EventOut() const
Return a read-only (constant) reference to the element sequence.
const StateAssignment_sequence & StateAssignment() const
Return a read-only (constant) reference to the element sequence.
OnCondition & operator=(const OnCondition &x)
Copy assignment operator.
const test_type & test() const
Return a read-only (constant) reference to the attribute.
virtual ~OnCondition()
Destructor.
::xsd::cxx::tree::sequence< StateAssignment_type > StateAssignment_sequence
Element sequence container type.
const Transition_optional & Transition() const
Return a read-only (constant) reference to the element container.
::xsd::cxx::tree::sequence< EventOut_type > EventOut_sequence
Element sequence container type.
::xsd::cxx::tree::optional< Transition_type > Transition_optional
Element optional container type.
Class corresponding to the OnEntry schema type.
OnEntry & operator=(const OnEntry &x)
Copy assignment operator.
virtual ~OnEntry()
Destructor.
::xsd::cxx::tree::sequence< StateAssignment_type > StateAssignment_sequence
Element sequence container type.
StateAssignment_sequence::const_iterator StateAssignment_const_iterator
Element constant iterator type.
virtual OnEntry * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const StateAssignment_sequence & StateAssignment() const
Return a read-only (constant) reference to the element sequence.
OnEntry()
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the OnEvent schema type.
virtual OnEvent * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xsd::cxx::tree::sequence< EventOut_type > EventOut_sequence
Element sequence container type.
virtual ~OnEvent()
Destructor.
::xml_schema::string port_type
Attribute type.
const port_type & port() const
Return a read-only (constant) reference to the attribute.
const EventOut_sequence & EventOut() const
Return a read-only (constant) reference to the element sequence.
EventOut_sequence::const_iterator EventOut_const_iterator
Element constant iterator type.
const StateAssignment_sequence & StateAssignment() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< StateAssignment_type > StateAssignment_sequence
Element sequence container type.
OnEvent & operator=(const OnEvent &x)
Copy assignment operator.
OnEvent(const port_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
StateAssignment_sequence::const_iterator StateAssignment_const_iterator
Element constant iterator type.
Class corresponding to the OnStart schema type.
OnStart & operator=(const OnStart &x)
Copy assignment operator.
virtual OnStart * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xsd::cxx::tree::sequence< StateAssignment_type > StateAssignment_sequence
Element sequence container type.
StateAssignment_sequence::const_iterator StateAssignment_const_iterator
Element constant iterator type.
const StateAssignment_sequence & StateAssignment() const
Return a read-only (constant) reference to the element sequence.
OnStart()
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~OnStart()
Destructor.
Class corresponding to the OpenState schema type.
OpenState(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~OpenState()
Destructor.
virtual OpenState * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the Parameter schema type.
virtual ~Parameter()
Destructor.
Parameter(const name_type &, const dimension_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual Parameter * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the Path schema type.
virtual ~Path()
Destructor.
::xsd::cxx::tree::optional< from_type > from_optional
Element optional container type.
Path()
Create an instance from the ultimate base and initializers for required elements and attributes.
const from_optional & from() const
Return a read-only (constant) reference to the element container.
virtual Path * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xsd::cxx::tree::optional< to_type > to_optional
Element optional container type.
Path & operator=(const Path &x)
Copy assignment operator.
const to_optional & to() const
Return a read-only (constant) reference to the element container.
Class corresponding to the PinskyRinzelCA3Cell schema type.
const gKdr_type & gKdr() const
Return a read-only (constant) reference to the attribute.
const gLd_type & gLd() const
Return a read-only (constant) reference to the attribute.
const betac_type & betac() const
Return a read-only (constant) reference to the attribute.
const gCa_type & gCa() const
Return a read-only (constant) reference to the attribute.
const eK_type & eK() const
Return a read-only (constant) reference to the attribute.
const gNmda_type & gNmda() const
Return a read-only (constant) reference to the attribute.
const eCa_type & eCa() const
Return a read-only (constant) reference to the attribute.
const gNa_type & gNa() const
Return a read-only (constant) reference to the attribute.
virtual ~PinskyRinzelCA3Cell()
Destructor.
const gLs_type & gLs() const
Return a read-only (constant) reference to the attribute.
const gAmpa_type & gAmpa() const
Return a read-only (constant) reference to the attribute.
const eL_type & eL() const
Return a read-only (constant) reference to the attribute.
const cm_type & cm() const
Return a read-only (constant) reference to the attribute.
const gKC_type & gKC() const
Return a read-only (constant) reference to the attribute.
const eNa_type & eNa() const
Return a read-only (constant) reference to the attribute.
virtual PinskyRinzelCA3Cell * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
PinskyRinzelCA3Cell(const id_type &, const iSoma_type &, const iDend_type &, const gc_type &, const gLs_type &, const gLd_type &, const gNa_type &, const gKdr_type &, const gCa_type &, const gKahp_type &, const gKC_type &, const gNmda_type &, const gAmpa_type &, const eNa_type &, const eCa_type &, const eK_type &, const eL_type &, const qd0_type &, const pp_type &, const alphac_type &, const betac_type &, const cm_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const gKahp_type & gKahp() const
Return a read-only (constant) reference to the attribute.
const pp_type & pp() const
Return a read-only (constant) reference to the attribute.
const iSoma_type & iSoma() const
Return a read-only (constant) reference to the attribute.
const gc_type & gc() const
Return a read-only (constant) reference to the attribute.
PinskyRinzelCA3Cell & operator=(const PinskyRinzelCA3Cell &x)
Copy assignment operator.
const qd0_type & qd0() const
Return a read-only (constant) reference to the attribute.
const alphac_type & alphac() const
Return a read-only (constant) reference to the attribute.
const iDend_type & iDend() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the PlasticityMechanism schema type.
const tauRec_type & tauRec() const
Return a read-only (constant) reference to the attribute.
::xsd::cxx::tree::optional< tauFac_type > tauFac_optional
Attribute optional container type.
const tauFac_optional & tauFac() const
Return a read-only (constant) reference to the attribute container.
const type_type & type() const
Return a read-only (constant) reference to the attribute.
virtual PlasticityMechanism * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
PlasticityMechanism(const type_type &, const initReleaseProb_type &, const tauRec_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const initReleaseProb_type & initReleaseProb() const
Return a read-only (constant) reference to the attribute.
virtual ~PlasticityMechanism()
Destructor.
PlasticityMechanism & operator=(const PlasticityMechanism &x)
Copy assignment operator.
Enumeration class corresponding to the PlasticityTypes schema type.
virtual PlasticityTypes * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
PlasticityTypes(value v)
Create an instance from the underlying enum value.
PlasticityTypes & operator=(value v)
Assign the underlying enum value.
value
Underlying enum type.
Class corresponding to the Point3DWithDiam schema type.
const x_type & x() const
Return a read-only (constant) reference to the attribute.
::xml_schema::double_ y_type
Attribute type.
::xml_schema::double_ x_type
Attribute type.
const z_type & z() const
Return a read-only (constant) reference to the attribute.
::xml_schema::double_ z_type
Attribute type.
Point3DWithDiam & operator=(const Point3DWithDiam &x)
Copy assignment operator.
Point3DWithDiam(const x_type &, const y_type &, const z_type &, const diameter_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const y_type & y() const
Return a read-only (constant) reference to the attribute.
virtual Point3DWithDiam * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~Point3DWithDiam()
Destructor.
const diameter_type & diameter() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the PoissonFiringSynapse schema type.
::xml_schema::string synapse_type
Attribute type.
PoissonFiringSynapse & operator=(const PoissonFiringSynapse &x)
Copy assignment operator.
PoissonFiringSynapse(const id_type &, const averageRate_type &, const synapse_type &, const spikeTarget_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const averageRate_type & averageRate() const
Return a read-only (constant) reference to the attribute.
virtual PoissonFiringSynapse * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const spikeTarget_type & spikeTarget() const
Return a read-only (constant) reference to the attribute.
virtual ~PoissonFiringSynapse()
Destructor.
::xml_schema::string spikeTarget_type
Attribute type.
const synapse_type & synapse() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the Population schema type.
const instance_sequence & instance() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::optional< type_type > type_optional
Attribute optional container type.
const neuroLexId_optional & neuroLexId() const
Return a read-only (constant) reference to the attribute container.
Population(const id_type &, const component_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const layout_optional & layout() const
Return a read-only (constant) reference to the element container.
::xsd::cxx::tree::optional< layout_type > layout_optional
Element optional container type.
Population & operator=(const Population &x)
Copy assignment operator.
virtual ~Population()
Destructor.
::xsd::cxx::tree::optional< neuroLexId_type > neuroLexId_optional
Attribute optional container type.
::xsd::cxx::tree::optional< size_type > size_optional
Attribute optional container type.
const component_type & component() const
Return a read-only (constant) reference to the attribute.
::xsd::cxx::tree::sequence< instance_type > instance_sequence
Element sequence container type.
const size_optional & size() const
Return a read-only (constant) reference to the attribute container.
virtual Population * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const extracellularProperties_optional & extracellularProperties() const
Return a read-only (constant) reference to the attribute container.
const type_optional & type() const
Return a read-only (constant) reference to the attribute container.
instance_sequence::const_iterator instance_const_iterator
Element constant iterator type.
::xsd::cxx::tree::optional< extracellularProperties_type > extracellularProperties_optional
Attribute optional container type.
Class corresponding to the PositiveInteger schema type.
virtual PositiveInteger * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
PositiveInteger(const ::xml_schema::positive_integer &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~PositiveInteger()
Destructor.
Class corresponding to the Projection schema type.
const synapse_type & synapse() const
Return a read-only (constant) reference to the attribute.
const connectionWD_sequence & connectionWD() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< connection_type > connection_sequence
Element sequence container type.
virtual Projection * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xsd::cxx::tree::sequence< connectionWD_type > connectionWD_sequence
Element sequence container type.
virtual ~Projection()
Destructor.
connection_sequence::const_iterator connection_const_iterator
Element constant iterator type.
Projection & operator=(const Projection &x)
Copy assignment operator.
connectionWD_sequence::const_iterator connectionWD_const_iterator
Element constant iterator type.
Projection(const id_type &, const presynapticPopulation_type &, const postsynapticPopulation_type &, const synapse_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const connection_sequence & connection() const
Return a read-only (constant) reference to the element sequence.
Class corresponding to the Property schema type.
Property & operator=(const Property &x)
Copy assignment operator.
virtual ~Property()
Destructor.
const value_type & value() const
Return a read-only (constant) reference to the attribute.
virtual Property * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xml_schema::string value_type
Attribute type.
::xml_schema::string tag_type
Attribute type.
Property(const tag_type &, const value_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const tag_type & tag() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the ProximalDetails schema type.
ProximalDetails(const translationStart_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
ProximalDetails & operator=(const ProximalDetails &x)
Copy assignment operator.
const translationStart_type & translationStart() const
Return a read-only (constant) reference to the attribute.
::xml_schema::double_ translationStart_type
Attribute type.
virtual ProximalDetails * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~ProximalDetails()
Destructor.
Class corresponding to the PulseGeneratorDL schema type.
virtual ~PulseGeneratorDL()
Destructor.
const amplitude_type & amplitude() const
Return a read-only (constant) reference to the attribute.
PulseGeneratorDL(const id_type &, const delay_type &, const duration_type &, const amplitude_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
PulseGeneratorDL & operator=(const PulseGeneratorDL &x)
Copy assignment operator.
const duration_type & duration() const
Return a read-only (constant) reference to the attribute.
const delay_type & delay() const
Return a read-only (constant) reference to the attribute.
virtual PulseGeneratorDL * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the PulseGenerator schema type.
PulseGenerator(const id_type &, const delay_type &, const duration_type &, const amplitude_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~PulseGenerator()
Destructor.
const duration_type & duration() const
Return a read-only (constant) reference to the attribute.
const delay_type & delay() const
Return a read-only (constant) reference to the attribute.
virtual PulseGenerator * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
PulseGenerator & operator=(const PulseGenerator &x)
Copy assignment operator.
const amplitude_type & amplitude() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the Q10ConductanceScaling schema type.
Q10ConductanceScaling(const q10Factor_type &, const experimentalTemp_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual Q10ConductanceScaling * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const experimentalTemp_type & experimentalTemp() const
Return a read-only (constant) reference to the attribute.
virtual ~Q10ConductanceScaling()
Destructor.
Q10ConductanceScaling & operator=(const Q10ConductanceScaling &x)
Copy assignment operator.
const q10Factor_type & q10Factor() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the Q10Settings schema type.
::xsd::cxx::tree::optional< fixedQ10_type > fixedQ10_optional
Attribute optional container type.
const type_type & type() const
Return a read-only (constant) reference to the attribute.
const fixedQ10_optional & fixedQ10() const
Return a read-only (constant) reference to the attribute container.
const q10Factor_optional & q10Factor() const
Return a read-only (constant) reference to the attribute container.
const experimentalTemp_optional & experimentalTemp() const
Return a read-only (constant) reference to the attribute container.
::xsd::cxx::tree::optional< experimentalTemp_type > experimentalTemp_optional
Attribute optional container type.
Q10Settings(const type_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
::xsd::cxx::tree::optional< q10Factor_type > q10Factor_optional
Attribute optional container type.
virtual Q10Settings * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~Q10Settings()
Destructor.
Q10Settings & operator=(const Q10Settings &x)
Copy assignment operator.
Class corresponding to the RampGeneratorDL schema type.
virtual ~RampGeneratorDL()
Destructor.
const startAmplitude_type & startAmplitude() const
Return a read-only (constant) reference to the attribute.
virtual RampGeneratorDL * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const delay_type & delay() const
Return a read-only (constant) reference to the attribute.
const baselineAmplitude_type & baselineAmplitude() const
Return a read-only (constant) reference to the attribute.
const finishAmplitude_type & finishAmplitude() const
Return a read-only (constant) reference to the attribute.
RampGeneratorDL & operator=(const RampGeneratorDL &x)
Copy assignment operator.
const duration_type & duration() const
Return a read-only (constant) reference to the attribute.
RampGeneratorDL(const id_type &, const delay_type &, const duration_type &, const startAmplitude_type &, const finishAmplitude_type &, const baselineAmplitude_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the RampGenerator schema type.
const finishAmplitude_type & finishAmplitude() const
Return a read-only (constant) reference to the attribute.
const duration_type & duration() const
Return a read-only (constant) reference to the attribute.
RampGenerator & operator=(const RampGenerator &x)
Copy assignment operator.
const baselineAmplitude_type & baselineAmplitude() const
Return a read-only (constant) reference to the attribute.
const delay_type & delay() const
Return a read-only (constant) reference to the attribute.
const startAmplitude_type & startAmplitude() const
Return a read-only (constant) reference to the attribute.
virtual ~RampGenerator()
Destructor.
virtual RampGenerator * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
RampGenerator(const id_type &, const delay_type &, const duration_type &, const startAmplitude_type &, const finishAmplitude_type &, const baselineAmplitude_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the RandomLayout schema type.
const number_optional & number() const
Return a read-only (constant) reference to the attribute container.
virtual RandomLayout * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xml_schema::non_negative_integer number_type
Attribute type.
virtual ~RandomLayout()
Destructor.
RandomLayout & operator=(const RandomLayout &x)
Copy assignment operator.
const region_optional & region() const
Return a read-only (constant) reference to the attribute container.
::xsd::cxx::tree::optional< region_type > region_optional
Attribute optional container type.
::xsd::cxx::tree::optional< number_type > number_optional
Attribute optional container type.
RandomLayout()
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the ReactionScheme schema type.
virtual ReactionScheme * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
ReactionScheme(const id_type &, const source_type &, const type_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
::xml_schema::string type_type
Attribute type.
ReactionScheme & operator=(const ReactionScheme &x)
Copy assignment operator.
virtual ~ReactionScheme()
Destructor.
const source_type & source() const
Return a read-only (constant) reference to the attribute.
const type_type & type() const
Return a read-only (constant) reference to the attribute.
::xml_schema::string source_type
Attribute type.
Class corresponding to the Regime schema type.
const initial_optional & initial() const
Return a read-only (constant) reference to the attribute container.
const OnEntry_optional & OnEntry() const
Return a read-only (constant) reference to the element container.
const OnCondition_sequence & OnCondition() const
Return a read-only (constant) reference to the element sequence.
virtual ~Regime()
Destructor.
::xml_schema::string name_type
Attribute type.
const name_type & name() const
Return a read-only (constant) reference to the attribute.
::xsd::cxx::tree::optional< OnEntry_type > OnEntry_optional
Element optional container type.
::xsd::cxx::tree::sequence< OnCondition_type > OnCondition_sequence
Element sequence container type.
TimeDerivative_sequence::const_iterator TimeDerivative_const_iterator
Element constant iterator type.
virtual Regime * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const TimeDerivative_sequence & TimeDerivative() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::sequence< TimeDerivative_type > TimeDerivative_sequence
Element sequence container type.
Regime & operator=(const Regime &x)
Copy assignment operator.
OnCondition_sequence::const_iterator OnCondition_const_iterator
Element constant iterator type.
Regime(const name_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
::xsd::cxx::tree::optional< initial_type > initial_optional
Attribute optional container type.
Class corresponding to the Region schema type.
Region(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~Region()
Destructor.
virtual Region * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const space_optional & space() const
Return a read-only (constant) reference to the attribute container.
Region & operator=(const Region &x)
Copy assignment operator.
::xsd::cxx::tree::optional< space_type > space_optional
Attribute optional container type.
Class corresponding to the Requirement schema type.
Requirement(const name_type &, const dimension_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~Requirement()
Destructor.
virtual Requirement * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the Resistivity schema type.
Resistivity(const value_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const segmentGroup_type & segmentGroup() const
Return a read-only (constant) reference to the attribute.
virtual ~Resistivity()
Destructor.
virtual Resistivity * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Resistivity & operator=(const Resistivity &x)
Copy assignment operator.
static const segmentGroup_type & segmentGroup_default_value()
Return the default value for the attribute.
::neuroml2::NmlId segmentGroup_type
Attribute type.
const value_type & value() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the ReverseTransition schema type.
ReverseTransition & operator=(const ReverseTransition &x)
Copy assignment operator.
ReverseTransition(const id_type &, const from_type &, const to_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const to_type & to() const
Return a read-only (constant) reference to the attribute.
virtual ~ReverseTransition()
Destructor.
virtual ReverseTransition * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const from_type & from() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the Segment schema type.
Segment_base(const id_type &, const distal_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const distal_type & distal() const
Return a read-only (constant) reference to the element.
virtual ~Segment_base()
Destructor.
::xsd::cxx::tree::optional< parent_type > parent_optional
Element optional container type.
::xml_schema::string name_type
Attribute type.
const neuroLexId_optional & neuroLexId() const
Return a read-only (constant) reference to the attribute container.
::xsd::cxx::tree::optional< name_type > name_optional
Attribute optional container type.
const proximal_optional & proximal() const
Return a read-only (constant) reference to the element container.
::xsd::cxx::tree::optional< proximal_type > proximal_optional
Element optional container type.
Segment_base & operator=(const Segment_base &x)
Copy assignment operator.
const parent_optional & parent() const
Return a read-only (constant) reference to the element container.
const name_optional & name() const
Return a read-only (constant) reference to the attribute container.
::xsd::cxx::tree::optional< neuroLexId_type > neuroLexId_optional
Attribute optional container type.
virtual Segment_base * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the SegmentEndPoint schema type.
virtual SegmentEndPoint * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~SegmentEndPoint()
Destructor.
SegmentEndPoint(const segment_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const segment_type & segment() const
Return a read-only (constant) reference to the attribute.
SegmentEndPoint & operator=(const SegmentEndPoint &x)
Copy assignment operator.
Class corresponding to the SegmentGroup schema type.
SegmentGroup(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
::xsd::cxx::tree::sequence< property_type > property_sequence
Element sequence container type.
const inhomogeneousParameter_sequence & inhomogeneousParameter() const
Return a read-only (constant) reference to the element sequence.
const notes_optional & notes() const
Return a read-only (constant) reference to the element container.
::xsd::cxx::tree::sequence< subTree_type > subTree_sequence
Element sequence container type.
virtual ~SegmentGroup()
Destructor.
const include_sequence & include() const
Return a read-only (constant) reference to the element sequence.
property_sequence::const_iterator property_const_iterator
Element constant iterator type.
subTree_sequence::const_iterator subTree_const_iterator
Element constant iterator type.
inhomogeneousParameter_sequence::const_iterator inhomogeneousParameter_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< include_type > include_sequence
Element sequence container type.
SegmentGroup & operator=(const SegmentGroup &x)
Copy assignment operator.
::xsd::cxx::tree::sequence< member_type > member_sequence
Element sequence container type.
path_sequence::const_iterator path_const_iterator
Element constant iterator type.
::xsd::cxx::tree::optional< annotation_type > annotation_optional
Element optional container type.
::xsd::cxx::tree::optional< notes_type > notes_optional
Element optional container type.
::xsd::cxx::tree::sequence< inhomogeneousParameter_type > inhomogeneousParameter_sequence
Element sequence container type.
const neuroLexId_optional & neuroLexId() const
Return a read-only (constant) reference to the attribute container.
const subTree_sequence & subTree() const
Return a read-only (constant) reference to the element sequence.
virtual SegmentGroup * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
include_sequence::const_iterator include_const_iterator
Element constant iterator type.
::xsd::cxx::tree::sequence< path_type > path_sequence
Element sequence container type.
const member_sequence & member() const
Return a read-only (constant) reference to the element sequence.
const annotation_optional & annotation() const
Return a read-only (constant) reference to the element container.
const property_sequence & property() const
Return a read-only (constant) reference to the element sequence.
const path_sequence & path() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::optional< neuroLexId_type > neuroLexId_optional
Attribute optional container type.
member_sequence::const_iterator member_const_iterator
Element constant iterator type.
Class corresponding to the SegmentParent schema type.
virtual SegmentParent * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::neuroml2::ZeroToOne fractionAlong_type
Attribute type.
const fractionAlong_type & fractionAlong() const
Return a read-only (constant) reference to the attribute.
const segment_type & segment() const
Return a read-only (constant) reference to the attribute.
virtual ~SegmentParent()
Destructor.
SegmentParent(const segment_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
static fractionAlong_type fractionAlong_default_value()
Return the default value for the attribute.
SegmentParent & operator=(const SegmentParent &x)
Copy assignment operator.
Class corresponding to the SilentSynapse schema type.
SilentSynapse(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual SilentSynapse * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~SilentSynapse()
Destructor.
Class corresponding to the SineGeneratorDL schema type.
SineGeneratorDL & operator=(const SineGeneratorDL &x)
Copy assignment operator.
const delay_type & delay() const
Return a read-only (constant) reference to the attribute.
SineGeneratorDL(const id_type &, const delay_type &, const phase_type &, const duration_type &, const amplitude_type &, const period_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const amplitude_type & amplitude() const
Return a read-only (constant) reference to the attribute.
const period_type & period() const
Return a read-only (constant) reference to the attribute.
const duration_type & duration() const
Return a read-only (constant) reference to the attribute.
virtual ~SineGeneratorDL()
Destructor.
virtual SineGeneratorDL * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const phase_type & phase() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the SineGenerator schema type.
SineGenerator(const id_type &, const delay_type &, const phase_type &, const duration_type &, const amplitude_type &, const period_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const duration_type & duration() const
Return a read-only (constant) reference to the attribute.
const amplitude_type & amplitude() const
Return a read-only (constant) reference to the attribute.
const period_type & period() const
Return a read-only (constant) reference to the attribute.
const phase_type & phase() const
Return a read-only (constant) reference to the attribute.
const delay_type & delay() const
Return a read-only (constant) reference to the attribute.
virtual SineGenerator * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~SineGenerator()
Destructor.
SineGenerator & operator=(const SineGenerator &x)
Copy assignment operator.
Class corresponding to the Space schema type.
Space(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const basedOn_optional & basedOn() const
Return a read-only (constant) reference to the attribute container.
::xsd::cxx::tree::optional< structure_type > structure_optional
Element optional container type.
virtual Space * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xsd::cxx::tree::optional< basedOn_type > basedOn_optional
Attribute optional container type.
const structure_optional & structure() const
Return a read-only (constant) reference to the element container.
Space & operator=(const Space &x)
Copy assignment operator.
virtual ~Space()
Destructor.
Class corresponding to the SpaceStructure schema type.
static zStart_type zStart_default_value()
Return the default value for the attribute.
::xml_schema::float_ yStart_type
Attribute type.
SpaceStructure()
Create an instance from the ultimate base and initializers for required elements and attributes.
const yStart_type & yStart() const
Return a read-only (constant) reference to the attribute.
::xml_schema::float_ xSpacing_type
Attribute type.
::xsd::cxx::tree::optional< xSpacing_type > xSpacing_optional
Attribute optional container type.
const zStart_type & zStart() const
Return a read-only (constant) reference to the attribute.
::xml_schema::float_ zSpacing_type
Attribute type.
::xsd::cxx::tree::optional< ySpacing_type > ySpacing_optional
Attribute optional container type.
::xml_schema::float_ xStart_type
Attribute type.
const zSpacing_optional & zSpacing() const
Return a read-only (constant) reference to the attribute container.
const ySpacing_optional & ySpacing() const
Return a read-only (constant) reference to the attribute container.
virtual SpaceStructure * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
static xStart_type xStart_default_value()
Return the default value for the attribute.
SpaceStructure & operator=(const SpaceStructure &x)
Copy assignment operator.
::xml_schema::float_ zStart_type
Attribute type.
const xSpacing_optional & xSpacing() const
Return a read-only (constant) reference to the attribute container.
const xStart_type & xStart() const
Return a read-only (constant) reference to the attribute.
virtual ~SpaceStructure()
Destructor.
static yStart_type yStart_default_value()
Return the default value for the attribute.
::xsd::cxx::tree::optional< zSpacing_type > zSpacing_optional
Attribute optional container type.
::xml_schema::float_ ySpacing_type
Attribute type.
Class corresponding to the Species schema type.
Species & operator=(const Species &x)
Copy assignment operator.
::neuroml2::NmlId segmentGroup_type
Attribute type.
const concentrationModel_type & concentrationModel() const
Return a read-only (constant) reference to the attribute.
const segmentGroup_type & segmentGroup() const
Return a read-only (constant) reference to the attribute.
virtual Species * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xsd::cxx::tree::optional< ion_type > ion_optional
Attribute optional container type.
const ion_optional & ion() const
Return a read-only (constant) reference to the attribute container.
static const segmentGroup_type & segmentGroup_default_value()
Return the default value for the attribute.
Species(const id_type &, const concentrationModel_type &, const initialConcentration_type &, const initialExtConcentration_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~Species()
Destructor.
const initialConcentration_type & initialConcentration() const
Return a read-only (constant) reference to the attribute.
const initialExtConcentration_type & initialExtConcentration() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the SpecificCapacitance schema type.
SpecificCapacitance(const value_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual SpecificCapacitance * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::neuroml2::NmlId segmentGroup_type
Attribute type.
SpecificCapacitance & operator=(const SpecificCapacitance &x)
Copy assignment operator.
const segmentGroup_type & segmentGroup() const
Return a read-only (constant) reference to the attribute.
const value_type & value() const
Return a read-only (constant) reference to the attribute.
virtual ~SpecificCapacitance()
Destructor.
static const segmentGroup_type & segmentGroup_default_value()
Return the default value for the attribute.
Class corresponding to the SpikeArray schema type.
spike_sequence::const_iterator spike_const_iterator
Element constant iterator type.
virtual SpikeArray * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
SpikeArray & operator=(const SpikeArray &x)
Copy assignment operator.
SpikeArray(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const spike_sequence & spike() const
Return a read-only (constant) reference to the element sequence.
virtual ~SpikeArray()
Destructor.
::xsd::cxx::tree::sequence< spike_type > spike_sequence
Element sequence container type.
Class corresponding to the SpikeGenerator schema type.
virtual ~SpikeGenerator()
Destructor.
const period_type & period() const
Return a read-only (constant) reference to the attribute.
SpikeGenerator(const id_type &, const period_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
SpikeGenerator & operator=(const SpikeGenerator &x)
Copy assignment operator.
virtual SpikeGenerator * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the SpikeGeneratorPoisson schema type.
const averageRate_type & averageRate() const
Return a read-only (constant) reference to the attribute.
SpikeGeneratorPoisson(const id_type &, const averageRate_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual SpikeGeneratorPoisson * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~SpikeGeneratorPoisson()
Destructor.
SpikeGeneratorPoisson & operator=(const SpikeGeneratorPoisson &x)
Copy assignment operator.
Class corresponding to the SpikeGeneratorRandom schema type.
virtual SpikeGeneratorRandom * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~SpikeGeneratorRandom()
Destructor.
const minISI_type & minISI() const
Return a read-only (constant) reference to the attribute.
SpikeGeneratorRandom(const id_type &, const maxISI_type &, const minISI_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
SpikeGeneratorRandom & operator=(const SpikeGeneratorRandom &x)
Copy assignment operator.
const maxISI_type & maxISI() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the SpikeGeneratorRefPoisson schema type.
virtual SpikeGeneratorRefPoisson * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
SpikeGeneratorRefPoisson(const id_type &, const averageRate_type &, const minimumISI_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~SpikeGeneratorRefPoisson()
Destructor.
const minimumISI_type & minimumISI() const
Return a read-only (constant) reference to the attribute.
SpikeGeneratorRefPoisson & operator=(const SpikeGeneratorRefPoisson &x)
Copy assignment operator.
Class corresponding to the Spike schema type.
Spike & operator=(const Spike &x)
Copy assignment operator.
const time_type & time() const
Return a read-only (constant) reference to the attribute.
virtual Spike * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~Spike()
Destructor.
Spike(const id_type &, const time_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the SpikeSourcePoisson schema type.
const rate_type & rate() const
Return a read-only (constant) reference to the attribute.
SpikeSourcePoisson & operator=(const SpikeSourcePoisson &x)
Copy assignment operator.
const duration_type & duration() const
Return a read-only (constant) reference to the attribute.
const start_type & start() const
Return a read-only (constant) reference to the attribute.
virtual SpikeSourcePoisson * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~SpikeSourcePoisson()
Destructor.
SpikeSourcePoisson(const id_type &, const start_type &, const duration_type &, const rate_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the SpikeThresh schema type.
::neuroml2::NmlId segmentGroup_type
Attribute type.
SpikeThresh & operator=(const SpikeThresh &x)
Copy assignment operator.
const value_type & value() const
Return a read-only (constant) reference to the attribute.
virtual SpikeThresh * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
SpikeThresh(const value_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const segmentGroup_type & segmentGroup() const
Return a read-only (constant) reference to the attribute.
virtual ~SpikeThresh()
Destructor.
static const segmentGroup_type & segmentGroup_default_value()
Return the default value for the attribute.
Class corresponding to the Standalone schema type.
const annotation_optional & annotation() const
Return a read-only (constant) reference to the element container.
property_sequence::const_iterator property_const_iterator
Element constant iterator type.
virtual Standalone * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const metaid_optional & metaid() const
Return a read-only (constant) reference to the attribute container.
Standalone(const id_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
::xsd::cxx::tree::sequence< property_type > property_sequence
Element sequence container type.
const notes_optional & notes() const
Return a read-only (constant) reference to the element container.
virtual ~Standalone()
Destructor.
::xsd::cxx::tree::optional< annotation_type > annotation_optional
Element optional container type.
const property_sequence & property() const
Return a read-only (constant) reference to the element sequence.
::xsd::cxx::tree::optional< metaid_type > metaid_optional
Attribute optional container type.
Standalone & operator=(const Standalone &x)
Copy assignment operator.
::xsd::cxx::tree::optional< notes_type > notes_optional
Element optional container type.
Class corresponding to the StateAssignment schema type.
const variable_type & variable() const
Return a read-only (constant) reference to the attribute.
StateAssignment & operator=(const StateAssignment &x)
Copy assignment operator.
::xml_schema::string value_type
Attribute type.
StateAssignment(const variable_type &, const value_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~StateAssignment()
Destructor.
::xml_schema::string variable_type
Attribute type.
virtual StateAssignment * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const value_type & value() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the StateVariable schema type.
virtual ~StateVariable()
Destructor.
virtual StateVariable * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
StateVariable(const name_type &, const dimension_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the SubTree schema type.
virtual ~SubTree()
Destructor.
SubTree & operator=(const SubTree &x)
Copy assignment operator.
::xsd::cxx::tree::optional< from_type > from_optional
Element optional container type.
::xsd::cxx::tree::optional< to_type > to_optional
Element optional container type.
const to_optional & to() const
Return a read-only (constant) reference to the element container.
SubTree()
Create an instance from the ultimate base and initializers for required elements and attributes.
const from_optional & from() const
Return a read-only (constant) reference to the element container.
virtual SubTree * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the SynapticConnection schema type.
const synapse_type & synapse() const
Return a read-only (constant) reference to the attribute.
::xsd::cxx::tree::optional< destination_type > destination_optional
Attribute optional container type.
virtual ~SynapticConnection()
Destructor.
const neuroLexId_optional & neuroLexId() const
Return a read-only (constant) reference to the attribute container.
SynapticConnection & operator=(const SynapticConnection &x)
Copy assignment operator.
const destination_optional & destination() const
Return a read-only (constant) reference to the attribute container.
virtual SynapticConnection * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
SynapticConnection(const from_type &, const to_type &, const synapse_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
::xsd::cxx::tree::optional< neuroLexId_type > neuroLexId_optional
Attribute optional container type.
const to_type & to() const
Return a read-only (constant) reference to the attribute.
const from_type & from() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the TauInfTransition schema type.
virtual ~TauInfTransition()
Destructor.
virtual TauInfTransition * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const from_type & from() const
Return a read-only (constant) reference to the attribute.
const to_type & to() const
Return a read-only (constant) reference to the attribute.
TauInfTransition & operator=(const TauInfTransition &x)
Copy assignment operator.
TauInfTransition(const id_type &, const steadyState_type &, const timeCourse_type &, const from_type &, const to_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const steadyState_type & steadyState() const
Return a read-only (constant) reference to the element.
const timeCourse_type & timeCourse() const
Return a read-only (constant) reference to the element.
Class corresponding to the TimeDerivative schema type.
TimeDerivative & operator=(const TimeDerivative &x)
Copy assignment operator.
virtual TimeDerivative * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const variable_type & variable() const
Return a read-only (constant) reference to the attribute.
::xml_schema::string variable_type
Attribute type.
const value_type & value() const
Return a read-only (constant) reference to the attribute.
virtual ~TimeDerivative()
Destructor.
::xml_schema::string value_type
Attribute type.
TimeDerivative(const variable_type &, const value_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the TimedSynapticInput schema type.
virtual TimedSynapticInput * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
TimedSynapticInput(const id_type &, const synapse_type &, const spikeTarget_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
::xsd::cxx::tree::sequence< spike_type > spike_sequence
Element sequence container type.
const spike_sequence & spike() const
Return a read-only (constant) reference to the element sequence.
spike_sequence::const_iterator spike_const_iterator
Element constant iterator type.
const spikeTarget_type & spikeTarget() const
Return a read-only (constant) reference to the attribute.
::xml_schema::string spikeTarget_type
Attribute type.
const synapse_type & synapse() const
Return a read-only (constant) reference to the attribute.
TimedSynapticInput & operator=(const TimedSynapticInput &x)
Copy assignment operator.
virtual ~TimedSynapticInput()
Destructor.
Class corresponding to the TransientPoissonFiringSynapse schema type.
virtual ~TransientPoissonFiringSynapse()
Destructor.
TransientPoissonFiringSynapse(const id_type &, const averageRate_type &, const delay_type &, const duration_type &, const synapse_type &, const spikeTarget_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
TransientPoissonFiringSynapse & operator=(const TransientPoissonFiringSynapse &x)
Copy assignment operator.
const synapse_type & synapse() const
Return a read-only (constant) reference to the attribute.
::xml_schema::string synapse_type
Attribute type.
virtual TransientPoissonFiringSynapse * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const averageRate_type & averageRate() const
Return a read-only (constant) reference to the attribute.
const spikeTarget_type & spikeTarget() const
Return a read-only (constant) reference to the attribute.
const delay_type & delay() const
Return a read-only (constant) reference to the attribute.
::xml_schema::string spikeTarget_type
Attribute type.
const duration_type & duration() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the Transition schema type.
Transition(const regime_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual Transition * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const regime_type & regime() const
Return a read-only (constant) reference to the attribute.
::xml_schema::string regime_type
Attribute type.
Transition & operator=(const Transition &x)
Copy assignment operator.
virtual ~Transition()
Destructor.
Enumeration class corresponding to the TrueOrFalse schema type.
value
Underlying enum type.
TrueOrFalse(value v)
Create an instance from the underlying enum value.
virtual TrueOrFalse * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
TrueOrFalse & operator=(value v)
Assign the underlying enum value.
Class corresponding to the UnstructuredLayout schema type.
virtual UnstructuredLayout * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
::xml_schema::non_negative_integer number_type
Attribute type.
const number_optional & number() const
Return a read-only (constant) reference to the attribute container.
virtual ~UnstructuredLayout()
Destructor.
::xsd::cxx::tree::optional< number_type > number_optional
Attribute optional container type.
UnstructuredLayout & operator=(const UnstructuredLayout &x)
Copy assignment operator.
UnstructuredLayout()
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the VariableParameter schema type.
VariableParameter & operator=(const VariableParameter &x)
Copy assignment operator.
const parameter_type & parameter() const
Return a read-only (constant) reference to the attribute.
::xml_schema::string segmentGroup_type
Attribute type.
VariableParameter(const parameter_type &, const segmentGroup_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
::xsd::cxx::tree::optional< inhomogeneousValue_type > inhomogeneousValue_optional
Element optional container type.
const segmentGroup_type & segmentGroup() const
Return a read-only (constant) reference to the attribute.
::xml_schema::string parameter_type
Attribute type.
virtual VariableParameter * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~VariableParameter()
Destructor.
const inhomogeneousValue_optional & inhomogeneousValue() const
Return a read-only (constant) reference to the element container.
Class corresponding to the VoltageClamp schema type.
const duration_type & duration() const
Return a read-only (constant) reference to the attribute.
VoltageClamp & operator=(const VoltageClamp &x)
Copy assignment operator.
const targetVoltage_type & targetVoltage() const
Return a read-only (constant) reference to the attribute.
const delay_type & delay() const
Return a read-only (constant) reference to the attribute.
virtual ~VoltageClamp()
Destructor.
VoltageClamp(const id_type &, const delay_type &, const duration_type &, const targetVoltage_type &, const simpleSeriesResistance_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const simpleSeriesResistance_type & simpleSeriesResistance() const
Return a read-only (constant) reference to the attribute.
virtual VoltageClamp * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the VoltageClampTriple schema type.
const testingVoltage_type & testingVoltage() const
Return a read-only (constant) reference to the attribute.
const simpleSeriesResistance_type & simpleSeriesResistance() const
Return a read-only (constant) reference to the attribute.
const duration_type & duration() const
Return a read-only (constant) reference to the attribute.
VoltageClampTriple(const id_type &, const active_type &, const delay_type &, const duration_type &, const conditioningVoltage_type &, const testingVoltage_type &, const returnVoltage_type &, const simpleSeriesResistance_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
const returnVoltage_type & returnVoltage() const
Return a read-only (constant) reference to the attribute.
VoltageClampTriple & operator=(const VoltageClampTriple &x)
Copy assignment operator.
const delay_type & delay() const
Return a read-only (constant) reference to the attribute.
virtual ~VoltageClampTriple()
Destructor.
const active_type & active() const
Return a read-only (constant) reference to the attribute.
virtual VoltageClampTriple * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const conditioningVoltage_type & conditioningVoltage() const
Return a read-only (constant) reference to the attribute.
Enumeration class corresponding to the ZeroOrOne schema type.
ZeroOrOne(::xml_schema::double_ v)
Create an instance from a fundamental type value.
virtual ZeroOrOne * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Class corresponding to the ZeroToOne schema type.
ZeroToOne(const ::xml_schema::float_ &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ZeroToOne * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
virtual ~ZeroToOne()
Destructor.
Enumeration class corresponding to the allowedSpaces schema type.
virtual allowedSpaces * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
allowedSpaces & operator=(value v)
Assign the underlying enum value.
value
Underlying enum type.
allowedSpaces(value v)
Create an instance from the underlying enum value.
Class corresponding to the basePyNNCell schema type.
::xml_schema::float_ i_offset_type
Attribute type.
const i_offset_type & i_offset() const
Return a read-only (constant) reference to the attribute.
virtual ~basePyNNCell()
Destructor.
virtual basePyNNCell * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const cm_type & cm() const
Return a read-only (constant) reference to the attribute.
::xml_schema::float_ tau_syn_E_type
Attribute type.
const v_init_type & v_init() const
Return a read-only (constant) reference to the attribute.
const tau_syn_I_type & tau_syn_I() const
Return a read-only (constant) reference to the attribute.
basePyNNCell & operator=(const basePyNNCell &x)
Copy assignment operator.
::xml_schema::float_ tau_syn_I_type
Attribute type.
const tau_syn_E_type & tau_syn_E() const
Return a read-only (constant) reference to the attribute.
::xml_schema::float_ v_init_type
Attribute type.
::xml_schema::float_ cm_type
Attribute type.
basePyNNCell(const id_type &, const cm_type &, const i_offset_type &, const tau_syn_E_type &, const tau_syn_I_type &, const v_init_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
Class corresponding to the basePyNNIaFCell schema type.
::xml_schema::float_ v_thresh_type
Attribute type.
const tau_refrac_type & tau_refrac() const
Return a read-only (constant) reference to the attribute.
const v_reset_type & v_reset() const
Return a read-only (constant) reference to the attribute.
::xml_schema::float_ v_rest_type
Attribute type.
const v_rest_type & v_rest() const
Return a read-only (constant) reference to the attribute.
::xml_schema::float_ tau_refrac_type
Attribute type.
const v_thresh_type & v_thresh() const
Return a read-only (constant) reference to the attribute.
virtual ~basePyNNIaFCell()
Destructor.
::xml_schema::float_ tau_m_type
Attribute type.
virtual basePyNNIaFCell * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
basePyNNIaFCell(const id_type &, const cm_type &, const i_offset_type &, const tau_syn_E_type &, const tau_syn_I_type &, const v_init_type &, const tau_m_type &, const tau_refrac_type &, const v_reset_type &, const v_rest_type &, const v_thresh_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
::xml_schema::float_ v_reset_type
Attribute type.
basePyNNIaFCell & operator=(const basePyNNIaFCell &x)
Copy assignment operator.
const tau_m_type & tau_m() const
Return a read-only (constant) reference to the attribute.
Class corresponding to the basePyNNIaFCondCell schema type.
virtual basePyNNIaFCondCell * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
const e_rev_E_type & e_rev_E() const
Return a read-only (constant) reference to the attribute.
basePyNNIaFCondCell(const id_type &, const cm_type &, const i_offset_type &, const tau_syn_E_type &, const tau_syn_I_type &, const v_init_type &, const tau_m_type &, const tau_refrac_type &, const v_reset_type &, const v_rest_type &, const v_thresh_type &, const e_rev_E_type &, const e_rev_I_type &)
Create an instance from the ultimate base and initializers for required elements and attributes.
virtual ~basePyNNIaFCondCell()
Destructor.
basePyNNIaFCondCell & operator=(const basePyNNIaFCondCell &x)
Copy assignment operator.
const e_rev_I_type & e_rev_I() const
Return a read-only (constant) reference to the attribute.
::xml_schema::float_ e_rev_E_type
Attribute type.
::xml_schema::float_ e_rev_I_type
Attribute type.
Enumeration class corresponding to the channelTypes schema type.
channelTypes(value v)
Create an instance from the underlying enum value.
value
Underlying enum type.
virtual channelTypes * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
channelTypes & operator=(value v)
Assign the underlying enum value.
Enumeration class corresponding to the gateTypes schema type.
virtual gateTypes * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
gateTypes & operator=(value v)
Assign the underlying enum value.
gateTypes(value v)
Create an instance from the underlying enum value.
value
Underlying enum type.
Enumeration class corresponding to the networkTypes schema type.
value
Underlying enum type.
networkTypes & operator=(value v)
Assign the underlying enum value.
networkTypes(value v)
Create an instance from the underlying enum value.
virtual networkTypes * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
Enumeration class corresponding to the populationTypes schema type.
value
Underlying enum type.
populationTypes(value v)
Create an instance from the underlying enum value.
virtual populationTypes * _clone(::xml_schema::flags f=0, ::xml_schema::container *c=0) const
Copy the instance polymorphically.
populationTypes & operator=(value v)
Assign the underlying enum value.
C++ namespace for the http://www.neuroml.org/schema/neuroml2 schema namespace.
::std::unique_ptr< ::neuroml2::NeuroMLDocument > neuroml(const ::std::string &u, ::xml_schema::flags f, const ::xml_schema::properties &p)
Parse a URI or a local file.
const XMLCh *const tree_node_key
DOM user data key for back pointers to tree nodes.
C++ namespace for the http://www.w3.org/2001/XMLSchema schema namespace.
::xsd::cxx::tree::type container
Alias for the anyType type.
::xsd::cxx::tree::id< char, ncname > id
C++ type corresponding to the ID XML Schema built-in type.
::xsd::cxx::tree::type type
C++ type corresponding to the anyType XML Schema built-in type.
::xsd::cxx::tree::simple_type< char, type > simple_type
C++ type corresponding to the anySimpleType XML Schema built-in type.
::xsd::cxx::tree::time< char, simple_type > time
C++ type corresponding to the time XML Schema built-in type.
::xsd::cxx::tree::flags flags
Parsing and serialization flags.
double double_
C++ type corresponding to the double XML Schema built-in type.
::xsd::cxx::tree::list_stream< char > list_stream
List serialization stream.
::xsd::cxx::tree::properties< char > properties
Parsing properties.
::xsd::cxx::xml::error_handler< char > error_handler
Error handler callback interface.
unsigned long long positive_integer
C++ type corresponding to the positiveInteger XML Schema built-in type.
::xsd::cxx::tree::name< char, token > name
C++ type corresponding to the Name XML Schema built-in type.
::xsd::cxx::tree::duration< char, simple_type > duration
C++ type corresponding to the duration XML Schema built-in type.
::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap
Namespace serialization information map.
float float_
C++ type corresponding to the float XML Schema built-in type.
::xsd::cxx::tree::as_double< double_ > as_double
Serialization wrapper for the double type.
::xsd::cxx::tree::string< char, simple_type > string
C++ type corresponding to the string XML Schema built-in type.
unsigned long long non_negative_integer
C++ type corresponding to the nonNegativeInteger XML Schema built-in type.