NCBI C++ ToolKit
MsrowExpression_.cpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id$
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
6  *
7  * This software/database is a "United States Government Work" under the
8  * terms of the United States Copyright Act. It was written as part of
9  * the author's official duties as a United States Government employee and
10  * thus cannot be copyrighted. This software/database is freely available
11  * to the public for use. The National Library of Medicine and the U.S.
12  * Government have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  * File Description:
27  * This code was generated by application DATATOOL
28  * using the following specifications:
29  * 'pubmed_mathml3.xsd'.
30  *
31  * ATTENTION:
32  * Don't edit or commit this file into CVS as this file will
33  * be overridden (by DATATOOL) without warning!
34  * ===========================================================================
35  */
36 
37 // standard includes
38 #include <ncbi_pch.hpp>
39 #include <serial/serialimpl.hpp>
40 
41 // generated includes
213 
214 BEGIN_objects_SCOPE // namespace ncbi::objects::
215 
216 
217 // generated classes
218 
220 {
221  if ( m_choice != e_not_set )
222  ResetSelection();
223 }
224 
226 {
227  switch ( m_choice ) {
228  case e_Reln:
229  case e_Fn:
230  case e_Declare:
231  m_object->RemoveReference();
232  break;
233  default:
234  break;
235  }
237 }
238 
240 {
241  switch ( index ) {
242  case e_Reln:
243  (m_object = new(pool) ncbi::objects::CReln())->AddReference();
244  break;
245  case e_Fn:
246  (m_object = new(pool) ncbi::objects::CFn())->AddReference();
247  break;
248  case e_Declare:
249  (m_object = new(pool) ncbi::objects::CDeclare())->AddReference();
250  break;
251  default:
252  break;
253  }
254  m_choice = index;
255 }
256 
258  "not set",
259  "reln",
260  "fn",
261  "declare"
262 };
263 
265 {
266  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
267 }
268 
270 {
271  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
272 }
273 
275 {
276  CheckSelected(e_Reln);
277  return *static_cast<const TReln*>(m_object);
278 }
279 
281 {
283  return *static_cast<TReln*>(m_object);
284 }
285 
287 {
288  TReln* ptr = &value;
289  if ( m_choice != e_Reln || m_object != ptr ) {
290  ResetSelection();
291  (m_object = ptr)->AddReference();
292  m_choice = e_Reln;
293  }
294 }
295 
297 {
298  CheckSelected(e_Fn);
299  return *static_cast<const TFn*>(m_object);
300 }
301 
303 {
305  return *static_cast<TFn*>(m_object);
306 }
307 
309 {
310  TFn* ptr = &value;
311  if ( m_choice != e_Fn || m_object != ptr ) {
312  ResetSelection();
313  (m_object = ptr)->AddReference();
314  m_choice = e_Fn;
315  }
316 }
317 
319 {
320  CheckSelected(e_Declare);
321  return *static_cast<const TDeclare*>(m_object);
322 }
323 
325 {
327  return *static_cast<TDeclare*>(m_object);
328 }
329 
331 {
332  TDeclare* ptr = &value;
333  if ( m_choice != e_Declare || m_object != ptr ) {
334  ResetSelection();
335  (m_object = ptr)->AddReference();
336  m_choice = e_Declare;
337  }
338 }
339 
340 // helper methods
341 
342 // type info
344 {
345  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp", "DeprecatedContExp");
346  SET_CHOICE_MODULE("pubmed_mathml3");
347  ADD_NAMED_REF_CHOICE_VARIANT("reln", m_object, CReln)->SetNsQualified(true);
348  ADD_NAMED_REF_CHOICE_VARIANT("fn", m_object, CFn)->SetNsQualified(true);
349  ADD_NAMED_REF_CHOICE_VARIANT("declare", m_object, CDeclare)->SetNsQualified(true);
350  info->CodeVersion(22400);
351  info->DataSpec(ncbi::EDataSpec::eXSD);
352 }
354 
355 // constructor
358 {
359 }
360 
361 // destructor
363 {
364  Reset();
365 }
366 
367 
369 {
370  if ( !m_Interval ) {
371  m_Interval.Reset(new TInterval());
372  return;
373  }
374  (*m_Interval).Reset();
375 }
376 
378 {
379  m_Interval.Reset(&value);
380 }
381 
383 {
384  ResetInterval();
385 }
386 
388 {
389  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.interval", "mmlclass");
390  SET_CLASS_MODULE("pubmed_mathml3");
391  ADD_NAMED_REF_MEMBER("interval", m_Interval, CInterval)->SetNsQualified(true);
392  info->RandomOrder();
393  info->CodeVersion(22400);
394  info->DataSpec(ncbi::EDataSpec::eXSD);
395 }
397 
398 // constructor
400 {
401  memset(m_set_State,0,sizeof(m_set_State));
402  if ( !IsAllocatedInPool() ) {
403  ResetInterval();
404  }
405 }
406 
407 // destructor
409 {
410 }
411 
412 
414 {
415  if ( m_choice != e_not_set )
416  ResetSelection();
417 }
418 
420 {
421  switch ( m_choice ) {
422  case e_Inverse:
423  case e_Ident:
424  case e_Domain:
425  case e_Codomain:
426  case e_Image:
427  case e_Ln:
428  case e_Log:
429  case e_Moment:
430  m_object->RemoveReference();
431  break;
432  default:
433  break;
434  }
436 }
437 
439 {
440  switch ( index ) {
441  case e_Inverse:
442  (m_object = new(pool) ncbi::objects::CInverse())->AddReference();
443  break;
444  case e_Ident:
445  (m_object = new(pool) ncbi::objects::CIdent())->AddReference();
446  break;
447  case e_Domain:
448  (m_object = new(pool) ncbi::objects::CDomain())->AddReference();
449  break;
450  case e_Codomain:
451  (m_object = new(pool) ncbi::objects::CCodomain())->AddReference();
452  break;
453  case e_Image:
454  (m_object = new(pool) ncbi::objects::CImage())->AddReference();
455  break;
456  case e_Ln:
457  (m_object = new(pool) ncbi::objects::CLn())->AddReference();
458  break;
459  case e_Log:
460  (m_object = new(pool) ncbi::objects::CLog())->AddReference();
461  break;
462  case e_Moment:
463  (m_object = new(pool) ncbi::objects::CMoment())->AddReference();
464  break;
465  default:
466  break;
467  }
468  m_choice = index;
469 }
470 
472  "not set",
473  "inverse",
474  "ident",
475  "domain",
476  "codomain",
477  "image",
478  "ln",
479  "log",
480  "moment"
481 };
482 
484 {
485  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
486 }
487 
489 {
490  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
491 }
492 
494 {
495  CheckSelected(e_Inverse);
496  return *static_cast<const TInverse*>(m_object);
497 }
498 
500 {
503  value.SetInverse();
504  return value;
505 }
506 
508 {
509  CheckSelected(e_Ident);
510  return *static_cast<const TIdent*>(m_object);
511 }
512 
514 {
517  value.SetIdent();
518  return value;
519 }
520 
522 {
523  CheckSelected(e_Domain);
524  return *static_cast<const TDomain*>(m_object);
525 }
526 
528 {
531  value.SetDomain();
532  return value;
533 }
534 
536 {
537  CheckSelected(e_Codomain);
538  return *static_cast<const TCodomain*>(m_object);
539 }
540 
542 {
545  value.SetCodomain();
546  return value;
547 }
548 
550 {
551  CheckSelected(e_Image);
552  return *static_cast<const TImage*>(m_object);
553 }
554 
556 {
559  value.SetImage();
560  return value;
561 }
562 
564 {
565  CheckSelected(e_Ln);
566  return *static_cast<const TLn*>(m_object);
567 }
568 
570 {
573  value.SetLn();
574  return value;
575 }
576 
578 {
579  CheckSelected(e_Log);
580  return *static_cast<const TLog*>(m_object);
581 }
582 
584 {
587  value.SetLog();
588  return value;
589 }
590 
592 {
593  CheckSelected(e_Moment);
594  return *static_cast<const TMoment*>(m_object);
595 }
596 
598 {
601  value.SetMoment();
602  return value;
603 }
604 
605 // helper methods
606 
607 // type info
609 {
610  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.unary-functional", "mmlclass");
611  SET_CHOICE_MODULE("pubmed_mathml3");
612  ADD_NAMED_REF_CHOICE_VARIANT("inverse", m_object, CInverse)->SetNsQualified(true);
613  ADD_NAMED_REF_CHOICE_VARIANT("ident", m_object, CIdent)->SetNsQualified(true);
614  ADD_NAMED_REF_CHOICE_VARIANT("domain", m_object, CDomain)->SetNsQualified(true);
615  ADD_NAMED_REF_CHOICE_VARIANT("codomain", m_object, CCodomain)->SetNsQualified(true);
616  ADD_NAMED_REF_CHOICE_VARIANT("image", m_object, CImage)->SetNsQualified(true);
617  ADD_NAMED_REF_CHOICE_VARIANT("ln", m_object, CLn)->SetNsQualified(true);
618  ADD_NAMED_REF_CHOICE_VARIANT("log", m_object, CLog)->SetNsQualified(true);
619  ADD_NAMED_REF_CHOICE_VARIANT("moment", m_object, CMoment)->SetNsQualified(true);
620  info->CodeVersion(22400);
621  info->DataSpec(ncbi::EDataSpec::eXSD);
622 }
624 
625 // constructor
628 {
629 }
630 
631 // destructor
633 {
634  Reset();
635 }
636 
637 
639 {
640  if ( !m_Lambda ) {
641  m_Lambda.Reset(new TLambda());
642  return;
643  }
644  (*m_Lambda).Reset();
645 }
646 
648 {
649  m_Lambda.Reset(&value);
650 }
651 
653 {
654  ResetLambda();
655 }
656 
658 {
659  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.lambda", "mmlclass");
660  SET_CLASS_MODULE("pubmed_mathml3");
661  ADD_NAMED_REF_MEMBER("lambda", m_Lambda, CLambda)->SetNsQualified(true);
662  info->RandomOrder();
663  info->CodeVersion(22400);
664  info->DataSpec(ncbi::EDataSpec::eXSD);
665 }
667 
668 // constructor
670 {
671  memset(m_set_State,0,sizeof(m_set_State));
672  if ( !IsAllocatedInPool() ) {
673  ResetLambda();
674  }
675 }
676 
677 // destructor
679 {
680 }
681 
682 
684 {
685  return m_Compose ? m_Compose->IsSetCompose() : false;
686 }
687 
689 {
690  if ( !m_Compose ) {
691  m_Compose.Reset(new TCompose());
692  return;
693  }
694  (*m_Compose).Reset();
695 }
696 
698 {
699  m_Compose.Reset(&value);
700 }
701 
703 {
704  if ( !m_Compose ) {
705  ResetCompose();
706  }
707  m_Compose->SetCompose();
708  return (*m_Compose);
709 }
710 
712 {
713  ResetCompose();
714 }
715 
717 {
718  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.nary-functional", "mmlclass");
719  SET_CLASS_MODULE("pubmed_mathml3");
720  ADD_NAMED_REF_MEMBER("compose", m_Compose, CCompose)->SetNsQualified(true);
721  info->RandomOrder();
722  info->CodeVersion(22400);
723  info->DataSpec(ncbi::EDataSpec::eXSD);
724 }
726 
727 // constructor
729 {
730  memset(m_set_State,0,sizeof(m_set_State));
731  if ( !IsAllocatedInPool() ) {
732  ResetCompose();
733  }
734 }
735 
736 // destructor
738 {
739 }
740 
741 
743 {
744  if ( m_choice != e_not_set )
745  ResetSelection();
746 }
747 
749 {
750  switch ( m_choice ) {
751  case e_Quotient:
752  case e_Divide:
753  case e_Minus:
754  case e_Power:
755  case e_Rem:
756  case e_Root:
757  m_object->RemoveReference();
758  break;
759  default:
760  break;
761  }
763 }
764 
766 {
767  switch ( index ) {
768  case e_Quotient:
769  (m_object = new(pool) ncbi::objects::CQuotient())->AddReference();
770  break;
771  case e_Divide:
772  (m_object = new(pool) ncbi::objects::CDivide())->AddReference();
773  break;
774  case e_Minus:
775  (m_object = new(pool) ncbi::objects::CMinus())->AddReference();
776  break;
777  case e_Power:
778  (m_object = new(pool) ncbi::objects::CPower())->AddReference();
779  break;
780  case e_Rem:
781  (m_object = new(pool) ncbi::objects::CRem())->AddReference();
782  break;
783  case e_Root:
784  (m_object = new(pool) ncbi::objects::CRoot())->AddReference();
785  break;
786  default:
787  break;
788  }
789  m_choice = index;
790 }
791 
793  "not set",
794  "quotient",
795  "divide",
796  "minus",
797  "power",
798  "rem",
799  "root"
800 };
801 
803 {
804  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
805 }
806 
808 {
809  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
810 }
811 
813 {
814  CheckSelected(e_Quotient);
815  return *static_cast<const TQuotient*>(m_object);
816 }
817 
819 {
822  value.SetQuotient();
823  return value;
824 }
825 
827 {
828  CheckSelected(e_Divide);
829  return *static_cast<const TDivide*>(m_object);
830 }
831 
833 {
836  value.SetDivide();
837  return value;
838 }
839 
841 {
842  CheckSelected(e_Minus);
843  return *static_cast<const TMinus*>(m_object);
844 }
845 
847 {
850  value.SetMinus();
851  return value;
852 }
853 
855 {
856  CheckSelected(e_Power);
857  return *static_cast<const TPower*>(m_object);
858 }
859 
861 {
864  value.SetPower();
865  return value;
866 }
867 
869 {
870  CheckSelected(e_Rem);
871  return *static_cast<const TRem*>(m_object);
872 }
873 
875 {
878  value.SetRem();
879  return value;
880 }
881 
883 {
884  CheckSelected(e_Root);
885  return *static_cast<const TRoot*>(m_object);
886 }
887 
889 {
892  value.SetRoot();
893  return value;
894 }
895 
896 // helper methods
897 
898 // type info
900 {
901  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.binary-arith", "mmlclass");
902  SET_CHOICE_MODULE("pubmed_mathml3");
903  ADD_NAMED_REF_CHOICE_VARIANT("quotient", m_object, CQuotient)->SetNsQualified(true);
904  ADD_NAMED_REF_CHOICE_VARIANT("divide", m_object, CDivide)->SetNsQualified(true);
905  ADD_NAMED_REF_CHOICE_VARIANT("minus", m_object, CMinus)->SetNsQualified(true);
906  ADD_NAMED_REF_CHOICE_VARIANT("power", m_object, CPower)->SetNsQualified(true);
907  ADD_NAMED_REF_CHOICE_VARIANT("rem", m_object, CRem)->SetNsQualified(true);
908  ADD_NAMED_REF_CHOICE_VARIANT("root", m_object, CRoot)->SetNsQualified(true);
909  info->CodeVersion(22400);
910  info->DataSpec(ncbi::EDataSpec::eXSD);
911 }
913 
914 // constructor
917 {
918 }
919 
920 // destructor
922 {
923  Reset();
924 }
925 
926 
928 {
929  if ( m_choice != e_not_set )
930  ResetSelection();
931 }
932 
934 {
935  switch ( m_choice ) {
936  case e_Factorial:
937  case e_Abs:
938  case e_Conjugate:
939  case e_Arg:
940  case e_Real:
941  case e_Imaginary:
942  case e_Floor:
943  case e_Ceiling:
944  case e_Exp:
945  m_object->RemoveReference();
946  break;
947  default:
948  break;
949  }
951 }
952 
954 {
955  switch ( index ) {
956  case e_Factorial:
957  (m_object = new(pool) ncbi::objects::CFactorial())->AddReference();
958  break;
959  case e_Abs:
960  (m_object = new(pool) ncbi::objects::CAbs())->AddReference();
961  break;
962  case e_Conjugate:
963  (m_object = new(pool) ncbi::objects::CConjugate())->AddReference();
964  break;
965  case e_Arg:
966  (m_object = new(pool) ncbi::objects::CArg())->AddReference();
967  break;
968  case e_Real:
969  (m_object = new(pool) ncbi::objects::CReal())->AddReference();
970  break;
971  case e_Imaginary:
972  (m_object = new(pool) ncbi::objects::CImaginary())->AddReference();
973  break;
974  case e_Floor:
975  (m_object = new(pool) ncbi::objects::CFloor())->AddReference();
976  break;
977  case e_Ceiling:
978  (m_object = new(pool) ncbi::objects::CCeiling())->AddReference();
979  break;
980  case e_Exp:
981  (m_object = new(pool) ncbi::objects::CExp())->AddReference();
982  break;
983  default:
984  break;
985  }
986  m_choice = index;
987 }
988 
990  "not set",
991  "factorial",
992  "abs",
993  "conjugate",
994  "arg",
995  "real",
996  "imaginary",
997  "floor",
998  "ceiling",
999  "exp"
1000 };
1001 
1003 {
1004  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1005 }
1006 
1008 {
1009  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1010 }
1011 
1013 {
1014  CheckSelected(e_Factorial);
1015  return *static_cast<const TFactorial*>(m_object);
1016 }
1017 
1019 {
1022  value.SetFactorial();
1023  return value;
1024 }
1025 
1027 {
1028  CheckSelected(e_Abs);
1029  return *static_cast<const TAbs*>(m_object);
1030 }
1031 
1033 {
1036  value.SetAbs();
1037  return value;
1038 }
1039 
1041 {
1042  CheckSelected(e_Conjugate);
1043  return *static_cast<const TConjugate*>(m_object);
1044 }
1045 
1047 {
1050  value.SetConjugate();
1051  return value;
1052 }
1053 
1055 {
1056  CheckSelected(e_Arg);
1057  return *static_cast<const TArg*>(m_object);
1058 }
1059 
1061 {
1064  value.SetArg();
1065  return value;
1066 }
1067 
1069 {
1070  CheckSelected(e_Real);
1071  return *static_cast<const TReal*>(m_object);
1072 }
1073 
1075 {
1078  value.SetReal();
1079  return value;
1080 }
1081 
1083 {
1084  CheckSelected(e_Imaginary);
1085  return *static_cast<const TImaginary*>(m_object);
1086 }
1087 
1089 {
1092  value.SetImaginary();
1093  return value;
1094 }
1095 
1097 {
1098  CheckSelected(e_Floor);
1099  return *static_cast<const TFloor*>(m_object);
1100 }
1101 
1103 {
1106  value.SetFloor();
1107  return value;
1108 }
1109 
1111 {
1112  CheckSelected(e_Ceiling);
1113  return *static_cast<const TCeiling*>(m_object);
1114 }
1115 
1117 {
1120  value.SetCeiling();
1121  return value;
1122 }
1123 
1125 {
1126  CheckSelected(e_Exp);
1127  return *static_cast<const TExp*>(m_object);
1128 }
1129 
1131 {
1134  value.SetExp();
1135  return value;
1136 }
1137 
1138 // helper methods
1139 
1140 // type info
1142 {
1143  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.unary-arith", "mmlclass");
1144  SET_CHOICE_MODULE("pubmed_mathml3");
1145  ADD_NAMED_REF_CHOICE_VARIANT("factorial", m_object, CFactorial)->SetNsQualified(true);
1146  ADD_NAMED_REF_CHOICE_VARIANT("abs", m_object, CAbs)->SetNsQualified(true);
1147  ADD_NAMED_REF_CHOICE_VARIANT("conjugate", m_object, CConjugate)->SetNsQualified(true);
1148  ADD_NAMED_REF_CHOICE_VARIANT("arg", m_object, CArg)->SetNsQualified(true);
1149  ADD_NAMED_REF_CHOICE_VARIANT("real", m_object, CReal)->SetNsQualified(true);
1150  ADD_NAMED_REF_CHOICE_VARIANT("imaginary", m_object, CImaginary)->SetNsQualified(true);
1151  ADD_NAMED_REF_CHOICE_VARIANT("floor", m_object, CFloor)->SetNsQualified(true);
1152  ADD_NAMED_REF_CHOICE_VARIANT("ceiling", m_object, CCeiling)->SetNsQualified(true);
1153  ADD_NAMED_REF_CHOICE_VARIANT("exp", m_object, CExp)->SetNsQualified(true);
1154  info->CodeVersion(22400);
1155  info->DataSpec(ncbi::EDataSpec::eXSD);
1156 }
1158 
1159 // constructor
1161  : m_choice(e_not_set)
1162 {
1163 }
1164 
1165 // destructor
1167 {
1168  Reset();
1169 }
1170 
1171 
1173 {
1174  if ( m_choice != e_not_set )
1175  ResetSelection();
1176 }
1177 
1179 {
1180  switch ( m_choice ) {
1181  case e_Max:
1182  case e_Min:
1183  m_object->RemoveReference();
1184  break;
1185  default:
1186  break;
1187  }
1188  m_choice = e_not_set;
1189 }
1190 
1192 {
1193  switch ( index ) {
1194  case e_Max:
1195  (m_object = new(pool) ncbi::objects::CMax())->AddReference();
1196  break;
1197  case e_Min:
1198  (m_object = new(pool) ncbi::objects::CMin())->AddReference();
1199  break;
1200  default:
1201  break;
1202  }
1203  m_choice = index;
1204 }
1205 
1207  "not set",
1208  "max",
1209  "min"
1210 };
1211 
1213 {
1214  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1215 }
1216 
1218 {
1219  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1220 }
1221 
1223 {
1225  return *static_cast<const TMax*>(m_object);
1226 }
1227 
1229 {
1232  value.SetMax();
1233  return value;
1234 }
1235 
1237 {
1238  CheckSelected(e_Min);
1239  return *static_cast<const TMin*>(m_object);
1240 }
1241 
1243 {
1246  value.SetMin();
1247  return value;
1248 }
1249 
1250 // helper methods
1251 
1252 // type info
1254 {
1255  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.nary-minmax", "mmlclass");
1256  SET_CHOICE_MODULE("pubmed_mathml3");
1257  ADD_NAMED_REF_CHOICE_VARIANT("max", m_object, CMax)->SetNsQualified(true);
1258  ADD_NAMED_REF_CHOICE_VARIANT("min", m_object, CMin)->SetNsQualified(true);
1259  info->CodeVersion(22400);
1260  info->DataSpec(ncbi::EDataSpec::eXSD);
1261 }
1263 
1264 // constructor
1266  : m_choice(e_not_set)
1267 {
1268 }
1269 
1270 // destructor
1272 {
1273  Reset();
1274 }
1275 
1276 
1278 {
1279  if ( m_choice != e_not_set )
1280  ResetSelection();
1281 }
1282 
1284 {
1285  switch ( m_choice ) {
1286  case e_Plus:
1287  case e_Times:
1288  case e_Gcd:
1289  case e_Lcm:
1290  m_object->RemoveReference();
1291  break;
1292  default:
1293  break;
1294  }
1295  m_choice = e_not_set;
1296 }
1297 
1299 {
1300  switch ( index ) {
1301  case e_Plus:
1302  (m_object = new(pool) ncbi::objects::CPlus())->AddReference();
1303  break;
1304  case e_Times:
1305  (m_object = new(pool) ncbi::objects::CTimes())->AddReference();
1306  break;
1307  case e_Gcd:
1308  (m_object = new(pool) ncbi::objects::CGcd())->AddReference();
1309  break;
1310  case e_Lcm:
1311  (m_object = new(pool) ncbi::objects::CLcm())->AddReference();
1312  break;
1313  default:
1314  break;
1315  }
1316  m_choice = index;
1317 }
1318 
1320  "not set",
1321  "plus",
1322  "times",
1323  "gcd",
1324  "lcm"
1325 };
1326 
1328 {
1329  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1330 }
1331 
1333 {
1334  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1335 }
1336 
1338 {
1339  CheckSelected(e_Plus);
1340  return *static_cast<const TPlus*>(m_object);
1341 }
1342 
1344 {
1347  value.SetPlus();
1348  return value;
1349 }
1350 
1352 {
1353  CheckSelected(e_Times);
1354  return *static_cast<const TTimes*>(m_object);
1355 }
1356 
1358 {
1361  value.SetTimes();
1362  return value;
1363 }
1364 
1366 {
1367  CheckSelected(e_Gcd);
1368  return *static_cast<const TGcd*>(m_object);
1369 }
1370 
1372 {
1375  value.SetGcd();
1376  return value;
1377 }
1378 
1380 {
1381  CheckSelected(e_Lcm);
1382  return *static_cast<const TLcm*>(m_object);
1383 }
1384 
1386 {
1389  value.SetLcm();
1390  return value;
1391 }
1392 
1393 // helper methods
1394 
1395 // type info
1397 {
1398  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.nary-arith", "mmlclass");
1399  SET_CHOICE_MODULE("pubmed_mathml3");
1400  ADD_NAMED_REF_CHOICE_VARIANT("plus", m_object, CPlus)->SetNsQualified(true);
1401  ADD_NAMED_REF_CHOICE_VARIANT("times", m_object, CTimes)->SetNsQualified(true);
1402  ADD_NAMED_REF_CHOICE_VARIANT("gcd", m_object, CGcd)->SetNsQualified(true);
1403  ADD_NAMED_REF_CHOICE_VARIANT("lcm", m_object, CLcm)->SetNsQualified(true);
1404  info->CodeVersion(22400);
1405  info->DataSpec(ncbi::EDataSpec::eXSD);
1406 }
1408 
1409 // constructor
1411  : m_choice(e_not_set)
1412 {
1413 }
1414 
1415 // destructor
1417 {
1418  Reset();
1419 }
1420 
1421 
1423 {
1424  if ( m_choice != e_not_set )
1425  ResetSelection();
1426 }
1427 
1429 {
1430  switch ( m_choice ) {
1431  case e_And:
1432  case e_Or:
1433  case e_Xor:
1434  m_object->RemoveReference();
1435  break;
1436  default:
1437  break;
1438  }
1439  m_choice = e_not_set;
1440 }
1441 
1443 {
1444  switch ( index ) {
1445  case e_And:
1446  (m_object = new(pool) ncbi::objects::CAnd())->AddReference();
1447  break;
1448  case e_Or:
1449  (m_object = new(pool) ncbi::objects::COr())->AddReference();
1450  break;
1451  case e_Xor:
1452  (m_object = new(pool) ncbi::objects::CXor())->AddReference();
1453  break;
1454  default:
1455  break;
1456  }
1457  m_choice = index;
1458 }
1459 
1461  "not set",
1462  "and",
1463  "or",
1464  "xor"
1465 };
1466 
1468 {
1469  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1470 }
1471 
1473 {
1474  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1475 }
1476 
1478 {
1479  CheckSelected(e_And);
1480  return *static_cast<const TAnd*>(m_object);
1481 }
1482 
1484 {
1487  value.SetAnd();
1488  return value;
1489 }
1490 
1492 {
1493  CheckSelected(e_Or);
1494  return *static_cast<const TOr*>(m_object);
1495 }
1496 
1498 {
1501  value.SetOr();
1502  return value;
1503 }
1504 
1506 {
1507  CheckSelected(e_Xor);
1508  return *static_cast<const TXor*>(m_object);
1509 }
1510 
1512 {
1515  value.SetXor();
1516  return value;
1517 }
1518 
1519 // helper methods
1520 
1521 // type info
1523 {
1524  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.nary-logical", "mmlclass");
1525  SET_CHOICE_MODULE("pubmed_mathml3");
1526  ADD_NAMED_REF_CHOICE_VARIANT("and", m_object, CAnd)->SetNsQualified(true);
1527  ADD_NAMED_REF_CHOICE_VARIANT("or", m_object, COr)->SetNsQualified(true);
1528  ADD_NAMED_REF_CHOICE_VARIANT("xor", m_object, CXor)->SetNsQualified(true);
1529  info->CodeVersion(22400);
1530  info->DataSpec(ncbi::EDataSpec::eXSD);
1531 }
1533 
1534 // constructor
1536  : m_choice(e_not_set)
1537 {
1538 }
1539 
1540 // destructor
1542 {
1543  Reset();
1544 }
1545 
1546 
1548 {
1549  return m_Not ? m_Not->IsSetNot() : false;
1550 }
1551 
1553 {
1554  if ( !m_Not ) {
1555  m_Not.Reset(new TNot());
1556  return;
1557  }
1558  (*m_Not).Reset();
1559 }
1560 
1562 {
1563  m_Not.Reset(&value);
1564 }
1565 
1567 {
1568  if ( !m_Not ) {
1569  ResetNot();
1570  }
1571  m_Not->SetNot();
1572  return (*m_Not);
1573 }
1574 
1576 {
1577  ResetNot();
1578 }
1579 
1581 {
1582  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.unary-logical", "mmlclass");
1583  SET_CLASS_MODULE("pubmed_mathml3");
1584  ADD_NAMED_REF_MEMBER("not", m_Not, CNot)->SetNsQualified(true);
1585  info->RandomOrder();
1586  info->CodeVersion(22400);
1587  info->DataSpec(ncbi::EDataSpec::eXSD);
1588 }
1590 
1591 // constructor
1593 {
1594  memset(m_set_State,0,sizeof(m_set_State));
1595  if ( !IsAllocatedInPool() ) {
1596  ResetNot();
1597  }
1598 }
1599 
1600 // destructor
1602 {
1603 }
1604 
1605 
1607 {
1608  if ( m_choice != e_not_set )
1609  ResetSelection();
1610 }
1611 
1613 {
1614  switch ( m_choice ) {
1615  case e_Implies:
1616  case e_Equivalent:
1617  m_object->RemoveReference();
1618  break;
1619  default:
1620  break;
1621  }
1622  m_choice = e_not_set;
1623 }
1624 
1626 {
1627  switch ( index ) {
1628  case e_Implies:
1629  (m_object = new(pool) ncbi::objects::CImplies())->AddReference();
1630  break;
1631  case e_Equivalent:
1632  (m_object = new(pool) ncbi::objects::CEquivalent())->AddReference();
1633  break;
1634  default:
1635  break;
1636  }
1637  m_choice = index;
1638 }
1639 
1641  "not set",
1642  "implies",
1643  "equivalent"
1644 };
1645 
1647 {
1648  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1649 }
1650 
1652 {
1653  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1654 }
1655 
1657 {
1658  CheckSelected(e_Implies);
1659  return *static_cast<const TImplies*>(m_object);
1660 }
1661 
1663 {
1666  value.SetImplies();
1667  return value;
1668 }
1669 
1671 {
1672  CheckSelected(e_Equivalent);
1673  return *static_cast<const TEquivalent*>(m_object);
1674 }
1675 
1677 {
1680  value.SetEquivalent();
1681  return value;
1682 }
1683 
1684 // helper methods
1685 
1686 // type info
1688 {
1689  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.binary-logical", "mmlclass");
1690  SET_CHOICE_MODULE("pubmed_mathml3");
1691  ADD_NAMED_REF_CHOICE_VARIANT("implies", m_object, CImplies)->SetNsQualified(true);
1692  ADD_NAMED_REF_CHOICE_VARIANT("equivalent", m_object, CEquivalent)->SetNsQualified(true);
1693  info->CodeVersion(22400);
1694  info->DataSpec(ncbi::EDataSpec::eXSD);
1695 }
1697 
1698 // constructor
1700  : m_choice(e_not_set)
1701 {
1702 }
1703 
1704 // destructor
1706 {
1707  Reset();
1708 }
1709 
1710 
1712 {
1713  if ( m_choice != e_not_set )
1714  ResetSelection();
1715 }
1716 
1718 {
1719  switch ( m_choice ) {
1720  case e_Forall:
1721  case e_Exists:
1722  m_object->RemoveReference();
1723  break;
1724  default:
1725  break;
1726  }
1727  m_choice = e_not_set;
1728 }
1729 
1731 {
1732  switch ( index ) {
1733  case e_Forall:
1734  (m_object = new(pool) ncbi::objects::CForall())->AddReference();
1735  break;
1736  case e_Exists:
1737  (m_object = new(pool) ncbi::objects::CExists())->AddReference();
1738  break;
1739  default:
1740  break;
1741  }
1742  m_choice = index;
1743 }
1744 
1746  "not set",
1747  "forall",
1748  "exists"
1749 };
1750 
1752 {
1753  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1754 }
1755 
1757 {
1758  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1759 }
1760 
1762 {
1763  CheckSelected(e_Forall);
1764  return *static_cast<const TForall*>(m_object);
1765 }
1766 
1768 {
1771  value.SetForall();
1772  return value;
1773 }
1774 
1776 {
1777  CheckSelected(e_Exists);
1778  return *static_cast<const TExists*>(m_object);
1779 }
1780 
1782 {
1785  value.SetExists();
1786  return value;
1787 }
1788 
1789 // helper methods
1790 
1791 // type info
1793 {
1794  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.quantifier", "mmlclass");
1795  SET_CHOICE_MODULE("pubmed_mathml3");
1796  ADD_NAMED_REF_CHOICE_VARIANT("forall", m_object, CForall)->SetNsQualified(true);
1797  ADD_NAMED_REF_CHOICE_VARIANT("exists", m_object, CExists)->SetNsQualified(true);
1798  info->CodeVersion(22400);
1799  info->DataSpec(ncbi::EDataSpec::eXSD);
1800 }
1802 
1803 // constructor
1805  : m_choice(e_not_set)
1806 {
1807 }
1808 
1809 // destructor
1811 {
1812  Reset();
1813 }
1814 
1815 
1817 {
1818  if ( m_choice != e_not_set )
1819  ResetSelection();
1820 }
1821 
1823 {
1824  switch ( m_choice ) {
1825  case e_Eq:
1826  case e_Gt:
1827  case e_Lt:
1828  case e_Geq:
1829  case e_Leq:
1830  m_object->RemoveReference();
1831  break;
1832  default:
1833  break;
1834  }
1835  m_choice = e_not_set;
1836 }
1837 
1839 {
1840  switch ( index ) {
1841  case e_Eq:
1842  (m_object = new(pool) ncbi::objects::CEq())->AddReference();
1843  break;
1844  case e_Gt:
1845  (m_object = new(pool) ncbi::objects::CGt())->AddReference();
1846  break;
1847  case e_Lt:
1848  (m_object = new(pool) ncbi::objects::CLt())->AddReference();
1849  break;
1850  case e_Geq:
1851  (m_object = new(pool) ncbi::objects::CGeq())->AddReference();
1852  break;
1853  case e_Leq:
1854  (m_object = new(pool) ncbi::objects::CLeq())->AddReference();
1855  break;
1856  default:
1857  break;
1858  }
1859  m_choice = index;
1860 }
1861 
1863  "not set",
1864  "eq",
1865  "gt",
1866  "lt",
1867  "geq",
1868  "leq"
1869 };
1870 
1872 {
1873  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1874 }
1875 
1877 {
1878  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1879 }
1880 
1882 {
1883  CheckSelected(e_Eq);
1884  return *static_cast<const TEq*>(m_object);
1885 }
1886 
1888 {
1891  value.SetEq();
1892  return value;
1893 }
1894 
1896 {
1897  CheckSelected(e_Gt);
1898  return *static_cast<const TGt*>(m_object);
1899 }
1900 
1902 {
1905  value.SetGt();
1906  return value;
1907 }
1908 
1910 {
1911  CheckSelected(e_Lt);
1912  return *static_cast<const TLt*>(m_object);
1913 }
1914 
1916 {
1919  value.SetLt();
1920  return value;
1921 }
1922 
1924 {
1925  CheckSelected(e_Geq);
1926  return *static_cast<const TGeq*>(m_object);
1927 }
1928 
1930 {
1933  value.SetGeq();
1934  return value;
1935 }
1936 
1938 {
1939  CheckSelected(e_Leq);
1940  return *static_cast<const TLeq*>(m_object);
1941 }
1942 
1944 {
1947  value.SetLeq();
1948  return value;
1949 }
1950 
1951 // helper methods
1952 
1953 // type info
1955 {
1956  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.nary-reln", "mmlclass");
1957  SET_CHOICE_MODULE("pubmed_mathml3");
1958  ADD_NAMED_REF_CHOICE_VARIANT("eq", m_object, CEq)->SetNsQualified(true);
1959  ADD_NAMED_REF_CHOICE_VARIANT("gt", m_object, CGt)->SetNsQualified(true);
1960  ADD_NAMED_REF_CHOICE_VARIANT("lt", m_object, CLt)->SetNsQualified(true);
1961  ADD_NAMED_REF_CHOICE_VARIANT("geq", m_object, CGeq)->SetNsQualified(true);
1962  ADD_NAMED_REF_CHOICE_VARIANT("leq", m_object, CLeq)->SetNsQualified(true);
1963  info->CodeVersion(22400);
1964  info->DataSpec(ncbi::EDataSpec::eXSD);
1965 }
1967 
1968 // constructor
1970  : m_choice(e_not_set)
1971 {
1972 }
1973 
1974 // destructor
1976 {
1977  Reset();
1978 }
1979 
1980 
1982 {
1983  if ( m_choice != e_not_set )
1984  ResetSelection();
1985 }
1986 
1988 {
1989  switch ( m_choice ) {
1990  case e_Neq:
1991  case e_Approx:
1992  case e_Factorof:
1993  case e_Tendsto:
1994  m_object->RemoveReference();
1995  break;
1996  default:
1997  break;
1998  }
1999  m_choice = e_not_set;
2000 }
2001 
2003 {
2004  switch ( index ) {
2005  case e_Neq:
2006  (m_object = new(pool) ncbi::objects::CNeq())->AddReference();
2007  break;
2008  case e_Approx:
2009  (m_object = new(pool) ncbi::objects::CApprox())->AddReference();
2010  break;
2011  case e_Factorof:
2012  (m_object = new(pool) ncbi::objects::CFactorof())->AddReference();
2013  break;
2014  case e_Tendsto:
2015  (m_object = new(pool) ncbi::objects::CTendsto())->AddReference();
2016  break;
2017  default:
2018  break;
2019  }
2020  m_choice = index;
2021 }
2022 
2024  "not set",
2025  "neq",
2026  "approx",
2027  "factorof",
2028  "tendsto"
2029 };
2030 
2032 {
2033  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2034 }
2035 
2037 {
2038  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2039 }
2040 
2042 {
2043  CheckSelected(e_Neq);
2044  return *static_cast<const TNeq*>(m_object);
2045 }
2046 
2048 {
2051  value.SetNeq();
2052  return value;
2053 }
2054 
2056 {
2057  CheckSelected(e_Approx);
2058  return *static_cast<const TApprox*>(m_object);
2059 }
2060 
2062 {
2065  value.SetApprox();
2066  return value;
2067 }
2068 
2070 {
2071  CheckSelected(e_Factorof);
2072  return *static_cast<const TFactorof*>(m_object);
2073 }
2074 
2076 {
2079  value.SetFactorof();
2080  return value;
2081 }
2082 
2084 {
2085  CheckSelected(e_Tendsto);
2086  return *static_cast<const TTendsto*>(m_object);
2087 }
2088 
2090 {
2093  value.SetTendsto();
2094  return value;
2095 }
2096 
2097 // helper methods
2098 
2099 // type info
2101 {
2102  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.binary-reln", "mmlclass");
2103  SET_CHOICE_MODULE("pubmed_mathml3");
2104  ADD_NAMED_REF_CHOICE_VARIANT("neq", m_object, CNeq)->SetNsQualified(true);
2105  ADD_NAMED_REF_CHOICE_VARIANT("approx", m_object, CApprox)->SetNsQualified(true);
2106  ADD_NAMED_REF_CHOICE_VARIANT("factorof", m_object, CFactorof)->SetNsQualified(true);
2107  ADD_NAMED_REF_CHOICE_VARIANT("tendsto", m_object, CTendsto)->SetNsQualified(true);
2108  info->CodeVersion(22400);
2109  info->DataSpec(ncbi::EDataSpec::eXSD);
2110 }
2112 
2113 // constructor
2115  : m_choice(e_not_set)
2116 {
2117 }
2118 
2119 // destructor
2121 {
2122  Reset();
2123 }
2124 
2125 
2127 {
2128  return m_Int ? m_Int->IsSetInt() : false;
2129 }
2130 
2132 {
2133  if ( !m_Int ) {
2134  m_Int.Reset(new TInt());
2135  return;
2136  }
2137  (*m_Int).Reset();
2138 }
2139 
2141 {
2142  m_Int.Reset(&value);
2143 }
2144 
2146 {
2147  if ( !m_Int ) {
2148  ResetInt();
2149  }
2150  m_Int->SetInt();
2151  return (*m_Int);
2152 }
2153 
2155 {
2156  ResetInt();
2157 }
2158 
2160 {
2161  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.int", "mmlclass");
2162  SET_CLASS_MODULE("pubmed_mathml3");
2163  ADD_NAMED_REF_MEMBER("int", m_Int, CInt)->SetNsQualified(true);
2164  info->RandomOrder();
2165  info->CodeVersion(22400);
2166  info->DataSpec(ncbi::EDataSpec::eXSD);
2167 }
2169 
2170 // constructor
2172 {
2173  memset(m_set_State,0,sizeof(m_set_State));
2174  if ( !IsAllocatedInPool() ) {
2175  ResetInt();
2176  }
2177 }
2178 
2179 // destructor
2181 {
2182 }
2183 
2184 
2186 {
2187  return m_Diff ? m_Diff->IsSetDiff() : false;
2188 }
2189 
2191 {
2192  if ( !m_Diff ) {
2193  m_Diff.Reset(new TDiff());
2194  return;
2195  }
2196  (*m_Diff).Reset();
2197 }
2198 
2200 {
2201  m_Diff.Reset(&value);
2202 }
2203 
2205 {
2206  if ( !m_Diff ) {
2207  ResetDiff();
2208  }
2209  m_Diff->SetDiff();
2210  return (*m_Diff);
2211 }
2212 
2214 {
2215  ResetDiff();
2216 }
2217 
2219 {
2220  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.Differential-Operator", "mmlclass");
2221  SET_CLASS_MODULE("pubmed_mathml3");
2222  ADD_NAMED_REF_MEMBER("diff", m_Diff, CDiff)->SetNsQualified(true);
2223  info->RandomOrder();
2224  info->CodeVersion(22400);
2225  info->DataSpec(ncbi::EDataSpec::eXSD);
2226 }
2228 
2229 // constructor
2231 {
2232  memset(m_set_State,0,sizeof(m_set_State));
2233  if ( !IsAllocatedInPool() ) {
2234  ResetDiff();
2235  }
2236 }
2237 
2238 // destructor
2240 {
2241 }
2242 
2243 
2245 {
2246  return m_Partialdiff ? m_Partialdiff->IsSetPartialdiff() : false;
2247 }
2248 
2250 {
2251  if ( !m_Partialdiff ) {
2252  m_Partialdiff.Reset(new TPartialdiff());
2253  return;
2254  }
2255  (*m_Partialdiff).Reset();
2256 }
2257 
2259 {
2260  m_Partialdiff.Reset(&value);
2261 }
2262 
2264 {
2265  if ( !m_Partialdiff ) {
2266  ResetPartialdiff();
2267  }
2268  m_Partialdiff->SetPartialdiff();
2269  return (*m_Partialdiff);
2270 }
2271 
2273 {
2274  ResetPartialdiff();
2275 }
2276 
2278 {
2279  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.partialdiff", "mmlclass");
2280  SET_CLASS_MODULE("pubmed_mathml3");
2281  ADD_NAMED_REF_MEMBER("partialdiff", m_Partialdiff, CPartialdiff)->SetNsQualified(true);
2282  info->RandomOrder();
2283  info->CodeVersion(22400);
2284  info->DataSpec(ncbi::EDataSpec::eXSD);
2285 }
2287 
2288 // constructor
2290 {
2291  memset(m_set_State,0,sizeof(m_set_State));
2292  if ( !IsAllocatedInPool() ) {
2293  ResetPartialdiff();
2294  }
2295 }
2296 
2297 // destructor
2299 {
2300 }
2301 
2302 
2304 {
2305  if ( m_choice != e_not_set )
2306  ResetSelection();
2307 }
2308 
2310 {
2311  switch ( m_choice ) {
2312  case e_Divergence:
2313  case e_Grad:
2314  case e_Curl:
2315  case e_Laplacian:
2316  m_object->RemoveReference();
2317  break;
2318  default:
2319  break;
2320  }
2321  m_choice = e_not_set;
2322 }
2323 
2325 {
2326  switch ( index ) {
2327  case e_Divergence:
2328  (m_object = new(pool) ncbi::objects::CDivergence())->AddReference();
2329  break;
2330  case e_Grad:
2331  (m_object = new(pool) ncbi::objects::CGrad())->AddReference();
2332  break;
2333  case e_Curl:
2334  (m_object = new(pool) ncbi::objects::CCurl())->AddReference();
2335  break;
2336  case e_Laplacian:
2337  (m_object = new(pool) ncbi::objects::CLaplacian())->AddReference();
2338  break;
2339  default:
2340  break;
2341  }
2342  m_choice = index;
2343 }
2344 
2346  "not set",
2347  "divergence",
2348  "grad",
2349  "curl",
2350  "laplacian"
2351 };
2352 
2354 {
2355  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2356 }
2357 
2359 {
2360  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2361 }
2362 
2364 {
2365  CheckSelected(e_Divergence);
2366  return *static_cast<const TDivergence*>(m_object);
2367 }
2368 
2370 {
2373  value.SetDivergence();
2374  return value;
2375 }
2376 
2378 {
2379  CheckSelected(e_Grad);
2380  return *static_cast<const TGrad*>(m_object);
2381 }
2382 
2384 {
2387  value.SetGrad();
2388  return value;
2389 }
2390 
2392 {
2393  CheckSelected(e_Curl);
2394  return *static_cast<const TCurl*>(m_object);
2395 }
2396 
2398 {
2401  value.SetCurl();
2402  return value;
2403 }
2404 
2406 {
2407  CheckSelected(e_Laplacian);
2408  return *static_cast<const TLaplacian*>(m_object);
2409 }
2410 
2412 {
2415  value.SetLaplacian();
2416  return value;
2417 }
2418 
2419 // helper methods
2420 
2421 // type info
2423 {
2424  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.unary-veccalc", "mmlclass");
2425  SET_CHOICE_MODULE("pubmed_mathml3");
2426  ADD_NAMED_REF_CHOICE_VARIANT("divergence", m_object, CDivergence)->SetNsQualified(true);
2427  ADD_NAMED_REF_CHOICE_VARIANT("grad", m_object, CGrad)->SetNsQualified(true);
2428  ADD_NAMED_REF_CHOICE_VARIANT("curl", m_object, CCurl)->SetNsQualified(true);
2429  ADD_NAMED_REF_CHOICE_VARIANT("laplacian", m_object, CLaplacian)->SetNsQualified(true);
2430  info->CodeVersion(22400);
2431  info->DataSpec(ncbi::EDataSpec::eXSD);
2432 }
2434 
2435 // constructor
2437  : m_choice(e_not_set)
2438 {
2439 }
2440 
2441 // destructor
2443 {
2444  Reset();
2445 }
2446 
2447 
2449 {
2450  if ( m_choice != e_not_set )
2451  ResetSelection();
2452 }
2453 
2455 {
2456  switch ( m_choice ) {
2457  case e_Set:
2458  case e_List:
2459  m_object->RemoveReference();
2460  break;
2461  default:
2462  break;
2463  }
2464  m_choice = e_not_set;
2465 }
2466 
2468 {
2469  switch ( index ) {
2470  case e_Set:
2471  (m_object = new(pool) ncbi::objects::CSet())->AddReference();
2472  break;
2473  case e_List:
2474  (m_object = new(pool) ncbi::objects::CList())->AddReference();
2475  break;
2476  default:
2477  break;
2478  }
2479  m_choice = index;
2480 }
2481 
2483  "not set",
2484  "set",
2485  "list"
2486 };
2487 
2489 {
2490  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2491 }
2492 
2494 {
2495  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2496 }
2497 
2499 {
2500  CheckSelected(e_Set);
2501  return *static_cast<const TSet*>(m_object);
2502 }
2503 
2505 {
2507  return *static_cast<TSet*>(m_object);
2508 }
2509 
2511 {
2512  TSet* ptr = &value;
2513  if ( m_choice != e_Set || m_object != ptr ) {
2514  ResetSelection();
2515  (m_object = ptr)->AddReference();
2516  m_choice = e_Set;
2517  }
2518 }
2519 
2521 {
2522  CheckSelected(e_List);
2523  return *static_cast<const TList*>(m_object);
2524 }
2525 
2527 {
2529  return *static_cast<TList*>(m_object);
2530 }
2531 
2533 {
2534  TList* ptr = &value;
2535  if ( m_choice != e_List || m_object != ptr ) {
2536  ResetSelection();
2537  (m_object = ptr)->AddReference();
2538  m_choice = e_List;
2539  }
2540 }
2541 
2542 // helper methods
2543 
2544 // type info
2546 {
2547  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.nary-setlist-constructor", "mmlclass");
2548  SET_CHOICE_MODULE("pubmed_mathml3");
2549  ADD_NAMED_REF_CHOICE_VARIANT("set", m_object, CSet)->SetNsQualified(true);
2550  ADD_NAMED_REF_CHOICE_VARIANT("list", m_object, CList)->SetNsQualified(true);
2551  info->CodeVersion(22400);
2552  info->DataSpec(ncbi::EDataSpec::eXSD);
2553 }
2555 
2556 // constructor
2558  : m_choice(e_not_set)
2559 {
2560 }
2561 
2562 // destructor
2564 {
2565  Reset();
2566 }
2567 
2568 
2570 {
2571  if ( m_choice != e_not_set )
2572  ResetSelection();
2573 }
2574 
2576 {
2577  switch ( m_choice ) {
2578  case e_Union:
2579  case e_Intersect:
2580  case e_Cartesianproduct:
2581  m_object->RemoveReference();
2582  break;
2583  default:
2584  break;
2585  }
2586  m_choice = e_not_set;
2587 }
2588 
2590 {
2591  switch ( index ) {
2592  case e_Union:
2593  (m_object = new(pool) ncbi::objects::CUnion())->AddReference();
2594  break;
2595  case e_Intersect:
2596  (m_object = new(pool) ncbi::objects::CIntersect())->AddReference();
2597  break;
2598  case e_Cartesianproduct:
2599  (m_object = new(pool) ncbi::objects::CCartesianproduct())->AddReference();
2600  break;
2601  default:
2602  break;
2603  }
2604  m_choice = index;
2605 }
2606 
2608  "not set",
2609  "union",
2610  "intersect",
2611  "cartesianproduct"
2612 };
2613 
2615 {
2616  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2617 }
2618 
2620 {
2621  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2622 }
2623 
2625 {
2626  CheckSelected(e_Union);
2627  return *static_cast<const TUnion*>(m_object);
2628 }
2629 
2631 {
2634  value.SetUnion();
2635  return value;
2636 }
2637 
2639 {
2640  CheckSelected(e_Intersect);
2641  return *static_cast<const TIntersect*>(m_object);
2642 }
2643 
2645 {
2648  value.SetIntersect();
2649  return value;
2650 }
2651 
2653 {
2654  CheckSelected(e_Cartesianproduct);
2655  return *static_cast<const TCartesianproduct*>(m_object);
2656 }
2657 
2659 {
2660  Select(e_Cartesianproduct, NCBI_NS_NCBI::eDoNotResetVariant);
2662  value.SetCartesianproduct();
2663  return value;
2664 }
2665 
2666 // helper methods
2667 
2668 // type info
2670 {
2671  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.nary-set", "mmlclass");
2672  SET_CHOICE_MODULE("pubmed_mathml3");
2673  ADD_NAMED_REF_CHOICE_VARIANT("union", m_object, CUnion)->SetNsQualified(true);
2674  ADD_NAMED_REF_CHOICE_VARIANT("intersect", m_object, CIntersect)->SetNsQualified(true);
2675  ADD_NAMED_REF_CHOICE_VARIANT("cartesianproduct", m_object, CCartesianproduct)->SetNsQualified(true);
2676  info->CodeVersion(22400);
2677  info->DataSpec(ncbi::EDataSpec::eXSD);
2678 }
2680 
2681 // constructor
2683  : m_choice(e_not_set)
2684 {
2685 }
2686 
2687 // destructor
2689 {
2690  Reset();
2691 }
2692 
2693 
2695 {
2696  if ( m_choice != e_not_set )
2697  ResetSelection();
2698 }
2699 
2701 {
2702  switch ( m_choice ) {
2703  case e_In:
2704  case e_Notin:
2705  case e_Notsubset:
2706  case e_Notprsubset:
2707  case e_Setdiff:
2708  m_object->RemoveReference();
2709  break;
2710  default:
2711  break;
2712  }
2713  m_choice = e_not_set;
2714 }
2715 
2717 {
2718  switch ( index ) {
2719  case e_In:
2720  (m_object = new(pool) ncbi::objects::CIn())->AddReference();
2721  break;
2722  case e_Notin:
2723  (m_object = new(pool) ncbi::objects::CNotin())->AddReference();
2724  break;
2725  case e_Notsubset:
2726  (m_object = new(pool) ncbi::objects::CNotsubset())->AddReference();
2727  break;
2728  case e_Notprsubset:
2729  (m_object = new(pool) ncbi::objects::CNotprsubset())->AddReference();
2730  break;
2731  case e_Setdiff:
2732  (m_object = new(pool) ncbi::objects::CSetdiff())->AddReference();
2733  break;
2734  default:
2735  break;
2736  }
2737  m_choice = index;
2738 }
2739 
2741  "not set",
2742  "in",
2743  "notin",
2744  "notsubset",
2745  "notprsubset",
2746  "setdiff"
2747 };
2748 
2750 {
2751  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2752 }
2753 
2755 {
2756  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2757 }
2758 
2760 {
2761  CheckSelected(e_In);
2762  return *static_cast<const TIn*>(m_object);
2763 }
2764 
2766 {
2769  value.SetIn();
2770  return value;
2771 }
2772 
2774 {
2775  CheckSelected(e_Notin);
2776  return *static_cast<const TNotin*>(m_object);
2777 }
2778 
2780 {
2783  value.SetNotin();
2784  return value;
2785 }
2786 
2788 {
2789  CheckSelected(e_Notsubset);
2790  return *static_cast<const TNotsubset*>(m_object);
2791 }
2792 
2794 {
2797  value.SetNotsubset();
2798  return value;
2799 }
2800 
2802 {
2803  CheckSelected(e_Notprsubset);
2804  return *static_cast<const TNotprsubset*>(m_object);
2805 }
2806 
2808 {
2809  Select(e_Notprsubset, NCBI_NS_NCBI::eDoNotResetVariant);
2811  value.SetNotprsubset();
2812  return value;
2813 }
2814 
2816 {
2817  CheckSelected(e_Setdiff);
2818  return *static_cast<const TSetdiff*>(m_object);
2819 }
2820 
2822 {
2825  value.SetSetdiff();
2826  return value;
2827 }
2828 
2829 // helper methods
2830 
2831 // type info
2833 {
2834  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.binary-set", "mmlclass");
2835  SET_CHOICE_MODULE("pubmed_mathml3");
2836  ADD_NAMED_REF_CHOICE_VARIANT("in", m_object, CIn)->SetNsQualified(true);
2837  ADD_NAMED_REF_CHOICE_VARIANT("notin", m_object, CNotin)->SetNsQualified(true);
2838  ADD_NAMED_REF_CHOICE_VARIANT("notsubset", m_object, CNotsubset)->SetNsQualified(true);
2839  ADD_NAMED_REF_CHOICE_VARIANT("notprsubset", m_object, CNotprsubset)->SetNsQualified(true);
2840  ADD_NAMED_REF_CHOICE_VARIANT("setdiff", m_object, CSetdiff)->SetNsQualified(true);
2841  info->CodeVersion(22400);
2842  info->DataSpec(ncbi::EDataSpec::eXSD);
2843 }
2845 
2846 // constructor
2848  : m_choice(e_not_set)
2849 {
2850 }
2851 
2852 // destructor
2854 {
2855  Reset();
2856 }
2857 
2858 
2860 {
2861  if ( m_choice != e_not_set )
2862  ResetSelection();
2863 }
2864 
2866 {
2867  switch ( m_choice ) {
2868  case e_Subset:
2869  case e_Prsubset:
2870  m_object->RemoveReference();
2871  break;
2872  default:
2873  break;
2874  }
2875  m_choice = e_not_set;
2876 }
2877 
2879 {
2880  switch ( index ) {
2881  case e_Subset:
2882  (m_object = new(pool) ncbi::objects::CSubset())->AddReference();
2883  break;
2884  case e_Prsubset:
2885  (m_object = new(pool) ncbi::objects::CPrsubset())->AddReference();
2886  break;
2887  default:
2888  break;
2889  }
2890  m_choice = index;
2891 }
2892 
2894  "not set",
2895  "subset",
2896  "prsubset"
2897 };
2898 
2900 {
2901  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2902 }
2903 
2905 {
2906  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2907 }
2908 
2910 {
2911  CheckSelected(e_Subset);
2912  return *static_cast<const TSubset*>(m_object);
2913 }
2914 
2916 {
2919  value.SetSubset();
2920  return value;
2921 }
2922 
2924 {
2925  CheckSelected(e_Prsubset);
2926  return *static_cast<const TPrsubset*>(m_object);
2927 }
2928 
2930 {
2933  value.SetPrsubset();
2934  return value;
2935 }
2936 
2937 // helper methods
2938 
2939 // type info
2941 {
2942  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.nary-set-reln", "mmlclass");
2943  SET_CHOICE_MODULE("pubmed_mathml3");
2944  ADD_NAMED_REF_CHOICE_VARIANT("subset", m_object, CSubset)->SetNsQualified(true);
2945  ADD_NAMED_REF_CHOICE_VARIANT("prsubset", m_object, CPrsubset)->SetNsQualified(true);
2946  info->CodeVersion(22400);
2947  info->DataSpec(ncbi::EDataSpec::eXSD);
2948 }
2950 
2951 // constructor
2953  : m_choice(e_not_set)
2954 {
2955 }
2956 
2957 // destructor
2959 {
2960  Reset();
2961 }
2962 
2963 
2965 {
2966  return m_Card ? m_Card->IsSetCard() : false;
2967 }
2968 
2970 {
2971  if ( !m_Card ) {
2972  m_Card.Reset(new TCard());
2973  return;
2974  }
2975  (*m_Card).Reset();
2976 }
2977 
2979 {
2980  m_Card.Reset(&value);
2981 }
2982 
2984 {
2985  if ( !m_Card ) {
2986  ResetCard();
2987  }
2988  m_Card->SetCard();
2989  return (*m_Card);
2990 }
2991 
2993 {
2994  ResetCard();
2995 }
2996 
2998 {
2999  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.unary-set", "mmlclass");
3000  SET_CLASS_MODULE("pubmed_mathml3");
3001  ADD_NAMED_REF_MEMBER("card", m_Card, CCard)->SetNsQualified(true);
3002  info->RandomOrder();
3003  info->CodeVersion(22400);
3004  info->DataSpec(ncbi::EDataSpec::eXSD);
3005 }
3007 
3008 // constructor
3010 {
3011  memset(m_set_State,0,sizeof(m_set_State));
3012  if ( !IsAllocatedInPool() ) {
3013  ResetCard();
3014  }
3015 }
3016 
3017 // destructor
3019 {
3020 }
3021 
3022 
3024 {
3025  return m_Sum ? m_Sum->IsSetSum() : false;
3026 }
3027 
3029 {
3030  if ( !m_Sum ) {
3031  m_Sum.Reset(new TSum());
3032  return;
3033  }
3034  (*m_Sum).Reset();
3035 }
3036 
3038 {
3039  m_Sum.Reset(&value);
3040 }
3041 
3043 {
3044  if ( !m_Sum ) {
3045  ResetSum();
3046  }
3047  m_Sum->SetSum();
3048  return (*m_Sum);
3049 }
3050 
3052 {
3053  ResetSum();
3054 }
3055 
3057 {
3058  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.sum", "mmlclass");
3059  SET_CLASS_MODULE("pubmed_mathml3");
3060  ADD_NAMED_REF_MEMBER("sum", m_Sum, CSum)->SetNsQualified(true);
3061  info->RandomOrder();
3062  info->CodeVersion(22400);
3063  info->DataSpec(ncbi::EDataSpec::eXSD);
3064 }
3066 
3067 // constructor
3069 {
3070  memset(m_set_State,0,sizeof(m_set_State));
3071  if ( !IsAllocatedInPool() ) {
3072  ResetSum();
3073  }
3074 }
3075 
3076 // destructor
3078 {
3079 }
3080 
3081 
3083 {
3084  return m_Product ? m_Product->IsSetProduct() : false;
3085 }
3086 
3088 {
3089  if ( !m_Product ) {
3090  m_Product.Reset(new TProduct());
3091  return;
3092  }
3093  (*m_Product).Reset();
3094 }
3095 
3097 {
3098  m_Product.Reset(&value);
3099 }
3100 
3102 {
3103  if ( !m_Product ) {
3104  ResetProduct();
3105  }
3106  m_Product->SetProduct();
3107  return (*m_Product);
3108 }
3109 
3111 {
3112  ResetProduct();
3113 }
3114 
3116 {
3117  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.product", "mmlclass");
3118  SET_CLASS_MODULE("pubmed_mathml3");
3119  ADD_NAMED_REF_MEMBER("product", m_Product, CProduct)->SetNsQualified(true);
3120  info->RandomOrder();
3121  info->CodeVersion(22400);
3122  info->DataSpec(ncbi::EDataSpec::eXSD);
3123 }
3125 
3126 // constructor
3128 {
3129  memset(m_set_State,0,sizeof(m_set_State));
3130  if ( !IsAllocatedInPool() ) {
3131  ResetProduct();
3132  }
3133 }
3134 
3135 // destructor
3137 {
3138 }
3139 
3140 
3142 {
3143  return m_Limit ? m_Limit->IsSetLimit() : false;
3144 }
3145 
3147 {
3148  if ( !m_Limit ) {
3149  m_Limit.Reset(new TLimit());
3150  return;
3151  }
3152  (*m_Limit).Reset();
3153 }
3154 
3156 {
3157  m_Limit.Reset(&value);
3158 }
3159 
3161 {
3162  if ( !m_Limit ) {
3163  ResetLimit();
3164  }
3165  m_Limit->SetLimit();
3166  return (*m_Limit);
3167 }
3168 
3170 {
3171  ResetLimit();
3172 }
3173 
3175 {
3176  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.limit", "mmlclass");
3177  SET_CLASS_MODULE("pubmed_mathml3");
3178  ADD_NAMED_REF_MEMBER("limit", m_Limit, CLimit)->SetNsQualified(true);
3179  info->RandomOrder();
3180  info->CodeVersion(22400);
3181  info->DataSpec(ncbi::EDataSpec::eXSD);
3182 }
3184 
3185 // constructor
3187 {
3188  memset(m_set_State,0,sizeof(m_set_State));
3189  if ( !IsAllocatedInPool() ) {
3190  ResetLimit();
3191  }
3192 }
3193 
3194 // destructor
3196 {
3197 }
3198 
3199 
3201 {
3202  if ( m_choice != e_not_set )
3203  ResetSelection();
3204 }
3205 
3207 {
3208  switch ( m_choice ) {
3209  case e_Sin:
3210  case e_Cos:
3211  case e_Tan:
3212  case e_Sec:
3213  case e_Csc:
3214  case e_Cot:
3215  case e_Sinh:
3216  case e_Cosh:
3217  case e_Tanh:
3218  case e_Sech:
3219  case e_Csch:
3220  case e_Coth:
3221  case e_Arcsin:
3222  case e_Arccos:
3223  case e_Arctan:
3224  case e_Arccosh:
3225  case e_Arccot:
3226  case e_Arccoth:
3227  case e_Arccsc:
3228  case e_Arccsch:
3229  case e_Arcsec:
3230  case e_Arcsech:
3231  case e_Arcsinh:
3232  case e_Arctanh:
3233  m_object->RemoveReference();
3234  break;
3235  default:
3236  break;
3237  }
3238  m_choice = e_not_set;
3239 }
3240 
3242 {
3243  switch ( index ) {
3244  case e_Sin:
3245  (m_object = new(pool) ncbi::objects::CSin())->AddReference();
3246  break;
3247  case e_Cos:
3248  (m_object = new(pool) ncbi::objects::CCos())->AddReference();
3249  break;
3250  case e_Tan:
3251  (m_object = new(pool) ncbi::objects::CTan())->AddReference();
3252  break;
3253  case e_Sec:
3254  (m_object = new(pool) ncbi::objects::CSec())->AddReference();
3255  break;
3256  case e_Csc:
3257  (m_object = new(pool) ncbi::objects::CCsc())->AddReference();
3258  break;
3259  case e_Cot:
3260  (m_object = new(pool) ncbi::objects::CCot())->AddReference();
3261  break;
3262  case e_Sinh:
3263  (m_object = new(pool) ncbi::objects::CSinh())->AddReference();
3264  break;
3265  case e_Cosh:
3266  (m_object = new(pool) ncbi::objects::CCosh())->AddReference();
3267  break;
3268  case e_Tanh:
3269  (m_object = new(pool) ncbi::objects::CTanh())->AddReference();
3270  break;
3271  case e_Sech:
3272  (m_object = new(pool) ncbi::objects::CSech())->AddReference();
3273  break;
3274  case e_Csch:
3275  (m_object = new(pool) ncbi::objects::CCsch())->AddReference();
3276  break;
3277  case e_Coth:
3278  (m_object = new(pool) ncbi::objects::CCoth())->AddReference();
3279  break;
3280  case e_Arcsin:
3281  (m_object = new(pool) ncbi::objects::CArcsin())->AddReference();
3282  break;
3283  case e_Arccos:
3284  (m_object = new(pool) ncbi::objects::CArccos())->AddReference();
3285  break;
3286  case e_Arctan:
3287  (m_object = new(pool) ncbi::objects::CArctan())->AddReference();
3288  break;
3289  case e_Arccosh:
3290  (m_object = new(pool) ncbi::objects::CArccosh())->AddReference();
3291  break;
3292  case e_Arccot:
3293  (m_object = new(pool) ncbi::objects::CArccot())->AddReference();
3294  break;
3295  case e_Arccoth:
3296  (m_object = new(pool) ncbi::objects::CArccoth())->AddReference();
3297  break;
3298  case e_Arccsc:
3299  (m_object = new(pool) ncbi::objects::CArccsc())->AddReference();
3300  break;
3301  case e_Arccsch:
3302  (m_object = new(pool) ncbi::objects::CArccsch())->AddReference();
3303  break;
3304  case e_Arcsec:
3305  (m_object = new(pool) ncbi::objects::CArcsec())->AddReference();
3306  break;
3307  case e_Arcsech:
3308  (m_object = new(pool) ncbi::objects::CArcsech())->AddReference();
3309  break;
3310  case e_Arcsinh:
3311  (m_object = new(pool) ncbi::objects::CArcsinh())->AddReference();
3312  break;
3313  case e_Arctanh:
3314  (m_object = new(pool) ncbi::objects::CArctanh())->AddReference();
3315  break;
3316  default:
3317  break;
3318  }
3319  m_choice = index;
3320 }
3321 
3323  "not set",
3324  "sin",
3325  "cos",
3326  "tan",
3327  "sec",
3328  "csc",
3329  "cot",
3330  "sinh",
3331  "cosh",
3332  "tanh",
3333  "sech",
3334  "csch",
3335  "coth",
3336  "arcsin",
3337  "arccos",
3338  "arctan",
3339  "arccosh",
3340  "arccot",
3341  "arccoth",
3342  "arccsc",
3343  "arccsch",
3344  "arcsec",
3345  "arcsech",
3346  "arcsinh",
3347  "arctanh"
3348 };
3349 
3351 {
3352  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
3353 }
3354 
3356 {
3357  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
3358 }
3359 
3361 {
3362  CheckSelected(e_Sin);
3363  return *static_cast<const TSin*>(m_object);
3364 }
3365 
3367 {
3370  value.SetSin();
3371  return value;
3372 }
3373 
3375 {
3376  CheckSelected(e_Cos);
3377  return *static_cast<const TCos*>(m_object);
3378 }
3379 
3381 {
3384  value.SetCos();
3385  return value;
3386 }
3387 
3389 {
3390  CheckSelected(e_Tan);
3391  return *static_cast<const TTan*>(m_object);
3392 }
3393 
3395 {
3398  value.SetTan();
3399  return value;
3400 }
3401 
3403 {
3404  CheckSelected(e_Sec);
3405  return *static_cast<const TSec*>(m_object);
3406 }
3407 
3409 {
3412  value.SetSec();
3413  return value;
3414 }
3415 
3417 {
3418  CheckSelected(e_Csc);
3419  return *static_cast<const TCsc*>(m_object);
3420 }
3421 
3423 {
3426  value.SetCsc();
3427  return value;
3428 }
3429 
3431 {
3432  CheckSelected(e_Cot);
3433  return *static_cast<const TCot*>(m_object);
3434 }
3435 
3437 {
3440  value.SetCot();
3441  return value;
3442 }
3443 
3445 {
3446  CheckSelected(e_Sinh);
3447  return *static_cast<const TSinh*>(m_object);
3448 }
3449 
3451 {
3454  value.SetSinh();
3455  return value;
3456 }
3457 
3459 {
3460  CheckSelected(e_Cosh);
3461  return *static_cast<const TCosh*>(m_object);
3462 }
3463 
3465 {
3468  value.SetCosh();
3469  return value;
3470 }
3471 
3473 {
3474  CheckSelected(e_Tanh);
3475  return *static_cast<const TTanh*>(m_object);
3476 }
3477 
3479 {
3482  value.SetTanh();
3483  return value;
3484 }
3485 
3487 {
3488  CheckSelected(e_Sech);
3489  return *static_cast<const TSech*>(m_object);
3490 }
3491 
3493 {
3496  value.SetSech();
3497  return value;
3498 }
3499 
3501 {
3502  CheckSelected(e_Csch);
3503  return *static_cast<const TCsch*>(m_object);
3504 }
3505 
3507 {
3510  value.SetCsch();
3511  return value;
3512 }
3513 
3515 {
3516  CheckSelected(e_Coth);
3517  return *static_cast<const TCoth*>(m_object);
3518 }
3519 
3521 {
3524  value.SetCoth();
3525  return value;
3526 }
3527 
3529 {
3530  CheckSelected(e_Arcsin);
3531  return *static_cast<const TArcsin*>(m_object);
3532 }
3533 
3535 {
3538  value.SetArcsin();
3539  return value;
3540 }
3541 
3543 {
3544  CheckSelected(e_Arccos);
3545  return *static_cast<const TArccos*>(m_object);
3546 }
3547 
3549 {
3552  value.SetArccos();
3553  return value;
3554 }
3555 
3557 {
3558  CheckSelected(e_Arctan);
3559  return *static_cast<const TArctan*>(m_object);
3560 }
3561 
3563 {
3566  value.SetArctan();
3567  return value;
3568 }
3569 
3571 {
3572  CheckSelected(e_Arccosh);
3573  return *static_cast<const TArccosh*>(m_object);
3574 }
3575 
3577 {
3580  value.SetArccosh();
3581  return value;
3582 }
3583 
3585 {
3586  CheckSelected(e_Arccot);
3587  return *static_cast<const TArccot*>(m_object);
3588 }
3589 
3591 {
3594  value.SetArccot();
3595  return value;
3596 }
3597 
3599 {
3600  CheckSelected(e_Arccoth);
3601  return *static_cast<const TArccoth*>(m_object);
3602 }
3603 
3605 {
3608  value.SetArccoth();
3609  return value;
3610 }
3611 
3613 {
3614  CheckSelected(e_Arccsc);
3615  return *static_cast<const TArccsc*>(m_object);
3616 }
3617 
3619 {
3622  value.SetArccsc();
3623  return value;
3624 }
3625 
3627 {
3628  CheckSelected(e_Arccsch);
3629  return *static_cast<const TArccsch*>(m_object);
3630 }
3631 
3633 {
3636  value.SetArccsch();
3637  return value;
3638 }
3639 
3641 {
3642  CheckSelected(e_Arcsec);
3643  return *static_cast<const TArcsec*>(m_object);
3644 }
3645 
3647 {
3650  value.SetArcsec();
3651  return value;
3652 }
3653 
3655 {
3656  CheckSelected(e_Arcsech);
3657  return *static_cast<const TArcsech*>(m_object);
3658 }
3659 
3661 {
3664  value.SetArcsech();
3665  return value;
3666 }
3667 
3669 {
3670  CheckSelected(e_Arcsinh);
3671  return *static_cast<const TArcsinh*>(m_object);
3672 }
3673 
3675 {
3678  value.SetArcsinh();
3679  return value;
3680 }
3681 
3683 {
3684  CheckSelected(e_Arctanh);
3685  return *static_cast<const TArctanh*>(m_object);
3686 }
3687 
3689 {
3692  value.SetArctanh();
3693  return value;
3694 }
3695 
3696 // helper methods
3697 
3698 // type info
3700 {
3701  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.unary-elementary", "mmlclass");
3702  SET_CHOICE_MODULE("pubmed_mathml3");
3703  ADD_NAMED_REF_CHOICE_VARIANT("sin", m_object, CSin)->SetNsQualified(true);
3704  ADD_NAMED_REF_CHOICE_VARIANT("cos", m_object, CCos)->SetNsQualified(true);
3705  ADD_NAMED_REF_CHOICE_VARIANT("tan", m_object, CTan)->SetNsQualified(true);
3706  ADD_NAMED_REF_CHOICE_VARIANT("sec", m_object, CSec)->SetNsQualified(true);
3707  ADD_NAMED_REF_CHOICE_VARIANT("csc", m_object, CCsc)->SetNsQualified(true);
3708  ADD_NAMED_REF_CHOICE_VARIANT("cot", m_object, CCot)->SetNsQualified(true);
3709  ADD_NAMED_REF_CHOICE_VARIANT("sinh", m_object, CSinh)->SetNsQualified(true);
3710  ADD_NAMED_REF_CHOICE_VARIANT("cosh", m_object, CCosh)->SetNsQualified(true);
3711  ADD_NAMED_REF_CHOICE_VARIANT("tanh", m_object, CTanh)->SetNsQualified(true);
3712  ADD_NAMED_REF_CHOICE_VARIANT("sech", m_object, CSech)->SetNsQualified(true);
3713  ADD_NAMED_REF_CHOICE_VARIANT("csch", m_object, CCsch)->SetNsQualified(true);
3714  ADD_NAMED_REF_CHOICE_VARIANT("coth", m_object, CCoth)->SetNsQualified(true);
3715  ADD_NAMED_REF_CHOICE_VARIANT("arcsin", m_object, CArcsin)->SetNsQualified(true);
3716  ADD_NAMED_REF_CHOICE_VARIANT("arccos", m_object, CArccos)->SetNsQualified(true);
3717  ADD_NAMED_REF_CHOICE_VARIANT("arctan", m_object, CArctan)->SetNsQualified(true);
3718  ADD_NAMED_REF_CHOICE_VARIANT("arccosh", m_object, CArccosh)->SetNsQualified(true);
3719  ADD_NAMED_REF_CHOICE_VARIANT("arccot", m_object, CArccot)->SetNsQualified(true);
3720  ADD_NAMED_REF_CHOICE_VARIANT("arccoth", m_object, CArccoth)->SetNsQualified(true);
3721  ADD_NAMED_REF_CHOICE_VARIANT("arccsc", m_object, CArccsc)->SetNsQualified(true);
3722  ADD_NAMED_REF_CHOICE_VARIANT("arccsch", m_object, CArccsch)->SetNsQualified(true);
3723  ADD_NAMED_REF_CHOICE_VARIANT("arcsec", m_object, CArcsec)->SetNsQualified(true);
3724  ADD_NAMED_REF_CHOICE_VARIANT("arcsech", m_object, CArcsech)->SetNsQualified(true);
3725  ADD_NAMED_REF_CHOICE_VARIANT("arcsinh", m_object, CArcsinh)->SetNsQualified(true);
3726  ADD_NAMED_REF_CHOICE_VARIANT("arctanh", m_object, CArctanh)->SetNsQualified(true);
3727  info->CodeVersion(22400);
3728  info->DataSpec(ncbi::EDataSpec::eXSD);
3729 }
3731 
3732 // constructor
3734  : m_choice(e_not_set)
3735 {
3736 }
3737 
3738 // destructor
3740 {
3741  Reset();
3742 }
3743 
3744 
3746 {
3747  if ( m_choice != e_not_set )
3748  ResetSelection();
3749 }
3750 
3752 {
3753  switch ( m_choice ) {
3754  case e_Mean:
3755  case e_Sdev:
3756  case e_Variance:
3757  case e_Median:
3758  case e_Mode:
3759  m_object->RemoveReference();
3760  break;
3761  default:
3762  break;
3763  }
3764  m_choice = e_not_set;
3765 }
3766 
3768 {
3769  switch ( index ) {
3770  case e_Mean:
3771  (m_object = new(pool) ncbi::objects::CMean())->AddReference();
3772  break;
3773  case e_Sdev:
3774  (m_object = new(pool) ncbi::objects::CSdev())->AddReference();
3775  break;
3776  case e_Variance:
3777  (m_object = new(pool) ncbi::objects::CVariance())->AddReference();
3778  break;
3779  case e_Median:
3780  (m_object = new(pool) ncbi::objects::CMedian())->AddReference();
3781  break;
3782  case e_Mode:
3783  (m_object = new(pool) ncbi::objects::CMode())->AddReference();
3784  break;
3785  default:
3786  break;
3787  }
3788  m_choice = index;
3789 }
3790 
3792  "not set",
3793  "mean",
3794  "sdev",
3795  "variance",
3796  "median",
3797  "mode"
3798 };
3799 
3801 {
3802  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
3803 }
3804 
3806 {
3807  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
3808 }
3809 
3811 {
3812  CheckSelected(e_Mean);
3813  return *static_cast<const TMean*>(m_object);
3814 }
3815 
3817 {
3820  value.SetMean();
3821  return value;
3822 }
3823 
3825 {
3826  CheckSelected(e_Sdev);
3827  return *static_cast<const TSdev*>(m_object);
3828 }
3829 
3831 {
3834  value.SetSdev();
3835  return value;
3836 }
3837 
3839 {
3840  CheckSelected(e_Variance);
3841  return *static_cast<const TVariance*>(m_object);
3842 }
3843 
3845 {
3848  value.SetVariance();
3849  return value;
3850 }
3851 
3853 {
3854  CheckSelected(e_Median);
3855  return *static_cast<const TMedian*>(m_object);
3856 }
3857 
3859 {
3862  value.SetMedian();
3863  return value;
3864 }
3865 
3867 {
3868  CheckSelected(e_Mode);
3869  return *static_cast<const TMode*>(m_object);
3870 }
3871 
3873 {
3876  value.SetMode();
3877  return value;
3878 }
3879 
3880 // helper methods
3881 
3882 // type info
3884 {
3885  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.nary-stats", "mmlclass");
3886  SET_CHOICE_MODULE("pubmed_mathml3");
3887  ADD_NAMED_REF_CHOICE_VARIANT("mean", m_object, CMean)->SetNsQualified(true);
3888  ADD_NAMED_REF_CHOICE_VARIANT("sdev", m_object, CSdev)->SetNsQualified(true);
3889  ADD_NAMED_REF_CHOICE_VARIANT("variance", m_object, CVariance)->SetNsQualified(true);
3890  ADD_NAMED_REF_CHOICE_VARIANT("median", m_object, CMedian)->SetNsQualified(true);
3891  ADD_NAMED_REF_CHOICE_VARIANT("mode", m_object, CMode)->SetNsQualified(true);
3892  info->CodeVersion(22400);
3893  info->DataSpec(ncbi::EDataSpec::eXSD);
3894 }
3896 
3897 // constructor
3899  : m_choice(e_not_set)
3900 {
3901 }
3902 
3903 // destructor
3905 {
3906  Reset();
3907 }
3908 
3909 
3911 {
3912  if ( m_choice != e_not_set )
3913  ResetSelection();
3914 }
3915 
3917 {
3918  switch ( m_choice ) {
3919  case e_Vector:
3920  case e_Matrix:
3921  case e_Matrixrow:
3922  m_object->RemoveReference();
3923  break;
3924  default:
3925  break;
3926  }
3927  m_choice = e_not_set;
3928 }
3929 
3931 {
3932  switch ( index ) {
3933  case e_Vector:
3934  (m_object = new(pool) ncbi::objects::CVector())->AddReference();
3935  break;
3936  case e_Matrix:
3937  (m_object = new(pool) ncbi::objects::CMatrix())->AddReference();
3938  break;
3939  case e_Matrixrow:
3940  (m_object = new(pool) ncbi::objects::CMatrixrow())->AddReference();
3941  break;
3942  default:
3943  break;
3944  }
3945  m_choice = index;
3946 }
3947 
3949  "not set",
3950  "vector",
3951  "matrix",
3952  "matrixrow"
3953 };
3954 
3956 {
3957  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
3958 }
3959 
3961 {
3962  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
3963 }
3964 
3966 {
3967  CheckSelected(e_Vector);
3968  return *static_cast<const TVector*>(m_object);
3969 }
3970 
3972 {
3974  return *static_cast<TVector*>(m_object);
3975 }
3976 
3978 {
3979  TVector* ptr = &value;
3980  if ( m_choice != e_Vector || m_object != ptr ) {
3981  ResetSelection();
3982  (m_object = ptr)->AddReference();
3983  m_choice = e_Vector;
3984  }
3985 }
3986 
3988 {
3989  CheckSelected(e_Matrix);
3990  return *static_cast<const TMatrix*>(m_object);
3991 }
3992 
3994 {
3996  return *static_cast<TMatrix*>(m_object);
3997 }
3998 
4000 {
4001  TMatrix* ptr = &value;
4002  if ( m_choice != e_Matrix || m_object != ptr ) {
4003  ResetSelection();
4004  (m_object = ptr)->AddReference();
4005  m_choice = e_Matrix;
4006  }
4007 }
4008 
4010 {
4011  CheckSelected(e_Matrixrow);
4012  return *static_cast<const TMatrixrow*>(m_object);
4013 }
4014 
4016 {
4018  return *static_cast<TMatrixrow*>(m_object);
4019 }
4020 
4022 {
4023  TMatrixrow* ptr = &value;
4024  if ( m_choice != e_Matrixrow || m_object != ptr ) {
4025  ResetSelection();
4026  (m_object = ptr)->AddReference();
4027  m_choice = e_Matrixrow;
4028  }
4029 }
4030 
4031 // helper methods
4032 
4033 // type info
4035 {
4036  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.nary-constructor", "mmlclass");
4037  SET_CHOICE_MODULE("pubmed_mathml3");
4038  ADD_NAMED_REF_CHOICE_VARIANT("vector", m_object, CVector)->SetNsQualified(true);
4039  ADD_NAMED_REF_CHOICE_VARIANT("matrix", m_object, CMatrix)->SetNsQualified(true);
4040  ADD_NAMED_REF_CHOICE_VARIANT("matrixrow", m_object, CMatrixrow)->SetNsQualified(true);
4041  info->CodeVersion(22400);
4042  info->DataSpec(ncbi::EDataSpec::eXSD);
4043 }
4045 
4046 // constructor
4048  : m_choice(e_not_set)
4049 {
4050 }
4051 
4052 // destructor
4054 {
4055  Reset();
4056 }
4057 
4058 
4060 {
4061  if ( m_choice != e_not_set )
4062  ResetSelection();
4063 }
4064 
4066 {
4067  switch ( m_choice ) {
4068  case e_Determinant:
4069  case e_Transpose:
4070  m_object->RemoveReference();
4071  break;
4072  default:
4073  break;
4074  }
4075  m_choice = e_not_set;
4076 }
4077 
4079 {
4080  switch ( index ) {
4081  case e_Determinant:
4082  (m_object = new(pool) ncbi::objects::CDeterminant())->AddReference();
4083  break;
4084  case e_Transpose:
4085  (m_object = new(pool) ncbi::objects::CTranspose())->AddReference();
4086  break;
4087  default:
4088  break;
4089  }
4090  m_choice = index;
4091 }
4092 
4094  "not set",
4095  "determinant",
4096  "transpose"
4097 };
4098 
4100 {
4101  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
4102 }
4103 
4105 {
4106  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
4107 }
4108 
4110 {
4111  CheckSelected(e_Determinant);
4112  return *static_cast<const TDeterminant*>(m_object);
4113 }
4114 
4116 {
4117  Select(e_Determinant, NCBI_NS_NCBI::eDoNotResetVariant);
4119  value.SetDeterminant();
4120  return value;
4121 }
4122 
4124 {
4125  CheckSelected(e_Transpose);
4126  return *static_cast<const TTranspose*>(m_object);
4127 }
4128 
4130 {
4133  value.SetTranspose();
4134  return value;
4135 }
4136 
4137 // helper methods
4138 
4139 // type info
4141 {
4142  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.unary-linalg", "mmlclass");
4143  SET_CHOICE_MODULE("pubmed_mathml3");
4144  ADD_NAMED_REF_CHOICE_VARIANT("determinant", m_object, CDeterminant)->SetNsQualified(true);
4145  ADD_NAMED_REF_CHOICE_VARIANT("transpose", m_object, CTranspose)->SetNsQualified(true);
4146  info->CodeVersion(22400);
4147  info->DataSpec(ncbi::EDataSpec::eXSD);
4148 }
4150 
4151 // constructor
4153  : m_choice(e_not_set)
4154 {
4155 }
4156 
4157 // destructor
4159 {
4160  Reset();
4161 }
4162 
4163 
4165 {
4166  return m_Selector ? m_Selector->IsSetSelector() : false;
4167 }
4168 
4170 {
4171  if ( !m_Selector ) {
4172  m_Selector.Reset(new TSelector());
4173  return;
4174  }
4175  (*m_Selector).Reset();
4176 }
4177 
4179 {
4180  m_Selector.Reset(&value);
4181 }
4182 
4184 {
4185  if ( !m_Selector ) {
4186  ResetSelector();
4187  }
4188  m_Selector->SetSelector();
4189  return (*m_Selector);
4190 }
4191 
4193 {
4194  ResetSelector();
4195 }
4196 
4198 {
4199  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.nary-linalg", "mmlclass");
4200  SET_CLASS_MODULE("pubmed_mathml3");
4201  ADD_NAMED_REF_MEMBER("selector", m_Selector, CSelector)->SetNsQualified(true);
4202  info->RandomOrder();
4203  info->CodeVersion(22400);
4204  info->DataSpec(ncbi::EDataSpec::eXSD);
4205 }
4207 
4208 // constructor
4210 {
4211  memset(m_set_State,0,sizeof(m_set_State));
4212  if ( !IsAllocatedInPool() ) {
4213  ResetSelector();
4214  }
4215 }
4216 
4217 // destructor
4219 {
4220 }
4221 
4222 
4224 {
4225  if ( m_choice != e_not_set )
4226  ResetSelection();
4227 }
4228 
4230 {
4231  switch ( m_choice ) {
4232  case e_Vectorproduct:
4233  case e_Scalarproduct:
4234  case e_Outerproduct:
4235  m_object->RemoveReference();
4236  break;
4237  default:
4238  break;
4239  }
4240  m_choice = e_not_set;
4241 }
4242 
4244 {
4245  switch ( index ) {
4246  case e_Vectorproduct:
4247  (m_object = new(pool) ncbi::objects::CVectorproduct())->AddReference();
4248  break;
4249  case e_Scalarproduct:
4250  (m_object = new(pool) ncbi::objects::CScalarproduct())->AddReference();
4251  break;
4252  case e_Outerproduct:
4253  (m_object = new(pool) ncbi::objects::COuterproduct())->AddReference();
4254  break;
4255  default:
4256  break;
4257  }
4258  m_choice = index;
4259 }
4260 
4262  "not set",
4263  "vectorproduct",
4264  "scalarproduct",
4265  "outerproduct"
4266 };
4267 
4269 {
4270  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
4271 }
4272 
4274 {
4275  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
4276 }
4277 
4279 {
4280  CheckSelected(e_Vectorproduct);
4281  return *static_cast<const TVectorproduct*>(m_object);
4282 }
4283 
4285 {
4286  Select(e_Vectorproduct, NCBI_NS_NCBI::eDoNotResetVariant);
4288  value.SetVectorproduct();
4289  return value;
4290 }
4291 
4293 {
4294  CheckSelected(e_Scalarproduct);
4295  return *static_cast<const TScalarproduct*>(m_object);
4296 }
4297 
4299 {
4300  Select(e_Scalarproduct, NCBI_NS_NCBI::eDoNotResetVariant);
4302  value.SetScalarproduct();
4303  return value;
4304 }
4305 
4307 {
4308  CheckSelected(e_Outerproduct);
4309  return *static_cast<const TOuterproduct*>(m_object);
4310 }
4311 
4313 {
4314  Select(e_Outerproduct, NCBI_NS_NCBI::eDoNotResetVariant);
4316  value.SetOuterproduct();
4317  return value;
4318 }
4319 
4320 // helper methods
4321 
4322 // type info
4324 {
4325  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.binary-linalg", "mmlclass");
4326  SET_CHOICE_MODULE("pubmed_mathml3");
4327  ADD_NAMED_REF_CHOICE_VARIANT("vectorproduct", m_object, CVectorproduct)->SetNsQualified(true);
4328  ADD_NAMED_REF_CHOICE_VARIANT("scalarproduct", m_object, CScalarproduct)->SetNsQualified(true);
4329  ADD_NAMED_REF_CHOICE_VARIANT("outerproduct", m_object, COuterproduct)->SetNsQualified(true);
4330  info->CodeVersion(22400);
4331  info->DataSpec(ncbi::EDataSpec::eXSD);
4332 }
4334 
4335 // constructor
4337  : m_choice(e_not_set)
4338 {
4339 }
4340 
4341 // destructor
4343 {
4344  Reset();
4345 }
4346 
4347 
4349 {
4350  if ( m_choice != e_not_set )
4351  ResetSelection();
4352 }
4353 
4355 {
4356  switch ( m_choice ) {
4357  case e_Integers:
4358  case e_Reals:
4359  case e_Rationals:
4360  case e_Naturalnumbers:
4361  case e_Complexes:
4362  case e_Primes:
4363  case e_Emptyset:
4364  m_object->RemoveReference();
4365  break;
4366  default:
4367  break;
4368  }
4369  m_choice = e_not_set;
4370 }
4371 
4373 {
4374  switch ( index ) {
4375  case e_Integers:
4376  (m_object = new(pool) ncbi::objects::CIntegers())->AddReference();
4377  break;
4378  case e_Reals:
4379  (m_object = new(pool) ncbi::objects::CReals())->AddReference();
4380  break;
4381  case e_Rationals:
4382  (m_object = new(pool) ncbi::objects::CRationals())->AddReference();
4383  break;
4384  case e_Naturalnumbers:
4385  (m_object = new(pool) ncbi::objects::CNaturalnumbers())->AddReference();
4386  break;
4387  case e_Complexes:
4388  (m_object = new(pool) ncbi::objects::CComplexes())->AddReference();
4389  break;
4390  case e_Primes:
4391  (m_object = new(pool) ncbi::objects::CPrimes())->AddReference();
4392  break;
4393  case e_Emptyset:
4394  (m_object = new(pool) ncbi::objects::CEmptyset())->AddReference();
4395  break;
4396  default:
4397  break;
4398  }
4399  m_choice = index;
4400 }
4401 
4403  "not set",
4404  "integers",
4405  "reals",
4406  "rationals",
4407  "naturalnumbers",
4408  "complexes",
4409  "primes",
4410  "emptyset"
4411 };
4412 
4414 {
4415  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
4416 }
4417 
4419 {
4420  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
4421 }
4422 
4424 {
4425  CheckSelected(e_Integers);
4426  return *static_cast<const TIntegers*>(m_object);
4427 }
4428 
4430 {
4433  value.SetIntegers();
4434  return value;
4435 }
4436 
4438 {
4439  CheckSelected(e_Reals);
4440  return *static_cast<const TReals*>(m_object);
4441 }
4442 
4444 {
4447  value.SetReals();
4448  return value;
4449 }
4450 
4452 {
4453  CheckSelected(e_Rationals);
4454  return *static_cast<const TRationals*>(m_object);
4455 }
4456 
4458 {
4461  value.SetRationals();
4462  return value;
4463 }
4464 
4466 {
4467  CheckSelected(e_Naturalnumbers);
4468  return *static_cast<const TNaturalnumbers*>(m_object);
4469 }
4470 
4472 {
4473  Select(e_Naturalnumbers, NCBI_NS_NCBI::eDoNotResetVariant);
4475  value.SetNaturalnumbers();
4476  return value;
4477 }
4478 
4480 {
4481  CheckSelected(e_Complexes);
4482  return *static_cast<const TComplexes*>(m_object);
4483 }
4484 
4486 {
4489  value.SetComplexes();
4490  return value;
4491 }
4492 
4494 {
4495  CheckSelected(e_Primes);
4496  return *static_cast<const TPrimes*>(m_object);
4497 }
4498 
4500 {
4503  value.SetPrimes();
4504  return value;
4505 }
4506 
4508 {
4509  CheckSelected(e_Emptyset);
4510  return *static_cast<const TEmptyset*>(m_object);
4511 }
4512 
4514 {
4517  value.SetEmptyset();
4518  return value;
4519 }
4520 
4521 // helper methods
4522 
4523 // type info
4525 {
4526  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.constant-set", "mmlclass");
4527  SET_CHOICE_MODULE("pubmed_mathml3");
4528  ADD_NAMED_REF_CHOICE_VARIANT("integers", m_object, CIntegers)->SetNsQualified(true);
4529  ADD_NAMED_REF_CHOICE_VARIANT("reals", m_object, CReals)->SetNsQualified(true);
4530  ADD_NAMED_REF_CHOICE_VARIANT("rationals", m_object, CRationals)->SetNsQualified(true);
4531  ADD_NAMED_REF_CHOICE_VARIANT("naturalnumbers", m_object, CNaturalnumbers)->SetNsQualified(true);
4532  ADD_NAMED_REF_CHOICE_VARIANT("complexes", m_object, CComplexes)->SetNsQualified(true);
4533  ADD_NAMED_REF_CHOICE_VARIANT("primes", m_object, CPrimes)->SetNsQualified(true);
4534  ADD_NAMED_REF_CHOICE_VARIANT("emptyset", m_object, CEmptyset)->SetNsQualified(true);
4535  info->CodeVersion(22400);
4536  info->DataSpec(ncbi::EDataSpec::eXSD);
4537 }
4539 
4540 // constructor
4542  : m_choice(e_not_set)
4543 {
4544 }
4545 
4546 // destructor
4548 {
4549  Reset();
4550 }
4551 
4552 
4554 {
4555  if ( m_choice != e_not_set )
4556  ResetSelection();
4557 }
4558 
4560 {
4561  switch ( m_choice ) {
4562  case e_Exponentiale:
4563  case e_Imaginaryi:
4564  case e_Notanumber:
4565  case e_True:
4566  case e_False:
4567  case e_Pi:
4568  case e_Eulergamma:
4569  case e_Infinity:
4570  m_object->RemoveReference();
4571  break;
4572  default:
4573  break;
4574  }
4575  m_choice = e_not_set;
4576 }
4577 
4579 {
4580  switch ( index ) {
4581  case e_Exponentiale:
4582  (m_object = new(pool) ncbi::objects::CExponentiale())->AddReference();
4583  break;
4584  case e_Imaginaryi:
4585  (m_object = new(pool) ncbi::objects::CImaginaryi())->AddReference();
4586  break;
4587  case e_Notanumber:
4588  (m_object = new(pool) ncbi::objects::CNotanumber())->AddReference();
4589  break;
4590  case e_True:
4591  (m_object = new(pool) ncbi::objects::CTrue())->AddReference();
4592  break;
4593  case e_False:
4594  (m_object = new(pool) ncbi::objects::CFalse())->AddReference();
4595  break;
4596  case e_Pi:
4597  (m_object = new(pool) ncbi::objects::CPi())->AddReference();
4598  break;
4599  case e_Eulergamma:
4600  (m_object = new(pool) ncbi::objects::CEulergamma())->AddReference();
4601  break;
4602  case e_Infinity:
4603  (m_object = new(pool) ncbi::objects::CInfinity())->AddReference();
4604  break;
4605  default:
4606  break;
4607  }
4608  m_choice = index;
4609 }
4610 
4612  "not set",
4613  "exponentiale",
4614  "imaginaryi",
4615  "notanumber",
4616  "true",
4617  "false",
4618  "pi",
4619  "eulergamma",
4620  "infinity"
4621 };
4622 
4624 {
4625  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
4626 }
4627 
4629 {
4630  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
4631 }
4632 
4634 {
4635  CheckSelected(e_Exponentiale);
4636  return *static_cast<const TExponentiale*>(m_object);
4637 }
4638 
4640 {
4641  Select(e_Exponentiale, NCBI_NS_NCBI::eDoNotResetVariant);
4643  value.SetExponentiale();
4644  return value;
4645 }
4646 
4648 {
4649  CheckSelected(e_Imaginaryi);
4650  return *static_cast<const TImaginaryi*>(m_object);
4651 }
4652 
4654 {
4657  value.SetImaginaryi();
4658  return value;
4659 }
4660 
4662 {
4663  CheckSelected(e_Notanumber);
4664  return *static_cast<const TNotanumber*>(m_object);
4665 }
4666 
4668 {
4671  value.SetNotanumber();
4672  return value;
4673 }
4674 
4676 {
4677  CheckSelected(e_True);
4678  return *static_cast<const TTrue*>(m_object);
4679 }
4680 
4682 {
4685  value.SetTrue();
4686  return value;
4687 }
4688 
4690 {
4691  CheckSelected(e_False);
4692  return *static_cast<const TFalse*>(m_object);
4693 }
4694 
4696 {
4699  value.SetFalse();
4700  return value;
4701 }
4702 
4704 {
4705  CheckSelected(e_Pi);
4706  return *static_cast<const TPi*>(m_object);
4707 }
4708 
4710 {
4713  value.SetPi();
4714  return value;
4715 }
4716 
4718 {
4719  CheckSelected(e_Eulergamma);
4720  return *static_cast<const TEulergamma*>(m_object);
4721 }
4722 
4724 {
4727  value.SetEulergamma();
4728  return value;
4729 }
4730 
4732 {
4733  CheckSelected(e_Infinity);
4734  return *static_cast<const TInfinity*>(m_object);
4735 }
4736 
4738 {
4741  value.SetInfinity();
4742  return value;
4743 }
4744 
4745 // helper methods
4746 
4747 // type info
4749 {
4750  SET_INTERNAL_NAME("MsrowExpression.MathExpression.ContExp.constant-arith", "mmlclass");
4751  SET_CHOICE_MODULE("pubmed_mathml3");
4752  ADD_NAMED_REF_CHOICE_VARIANT("exponentiale", m_object, CExponentiale)->SetNsQualified(true);
4753  ADD_NAMED_REF_CHOICE_VARIANT("imaginaryi", m_object, CImaginaryi)->SetNsQualified(true);
4754  ADD_NAMED_REF_CHOICE_VARIANT("notanumber", m_object, CNotanumber)->SetNsQualified(true);
4755  ADD_NAMED_REF_CHOICE_VARIANT("true", m_object, CTrue)->SetNsQualified(true);
4756  ADD_NAMED_REF_CHOICE_VARIANT("false", m_object, CFalse)->SetNsQualified(true);
4757  ADD_NAMED_REF_CHOICE_VARIANT("pi", m_object, CPi)->SetNsQualified(true);
4758  ADD_NAMED_REF_CHOICE_VARIANT("eulergamma", m_object, CEulergamma)->SetNsQualified(true);
4759  ADD_NAMED_REF_CHOICE_VARIANT("infinity", m_object, CInfinity)->SetNsQualified(true);
4760  info->CodeVersion(22400);
4761  info->DataSpec(ncbi::EDataSpec::eXSD);
4762 }
4764 
4765 // constructor
4767  : m_choice(e_not_set)
4768 {
4769 }
4770 
4771 // destructor
4773 {
4774  Reset();
4775 }
4776 
4777 
4779 {
4780  if ( m_choice != e_not_set )
4781  ResetSelection();
4782 }
4783 
4785 {
4786  switch ( m_choice ) {
4787  case e_Piecewise:
4788  case e_DeprecatedContExp:
4789  case e_Interval_mmlclass:
4791  case e_Lambda_mmlclass:
4796  case e_Nary_arith_mmlclass:
4800  case e_Quantifier_mmlclass:
4801  case e_Nary_reln_mmlclass:
4803  case e_Int_mmlclass:
4808  case e_Nary_set_mmlclass:
4809  case e_Binary_set_mmlclass:
4811  case e_Unary_set_mmlclass:
4812  case e_Sum_mmlclass:
4813  case e_Product_mmlclass:
4814  case e_Limit_mmlclass:
4816  case e_Nary_stats_mmlclass:
4823  case e_Semantics:
4824  case e_Cn:
4825  case e_Ci:
4826  case e_Csymbol:
4827  case e_Apply:
4828  case e_Bind:
4829  case e_Share:
4830  case e_Cerror:
4831  case e_Cbytes:
4832  case e_Cs:
4833  m_object->RemoveReference();
4834  break;
4835  default:
4836  break;
4837  }
4838  m_choice = e_not_set;
4839 }
4840 
4841 void CMsrowExpression_Base::C_MathExpression::C_ContExp::DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool* pool)
4842 {
4843  switch ( index ) {
4844  case e_Piecewise:
4845  (m_object = new(pool) ncbi::objects::CPiecewise())->AddReference();
4846  break;
4847  case e_DeprecatedContExp:
4848  (m_object = new(pool) C_DeprecatedContExp())->AddReference();
4849  break;
4850  case e_Interval_mmlclass:
4851  (m_object = new(pool) C_Interval_mmlclass())->AddReference();
4852  break;
4855  break;
4856  case e_Lambda_mmlclass:
4857  (m_object = new(pool) C_Lambda_mmlclass())->AddReference();
4858  break;
4861  break;
4863  (m_object = new(pool) C_Binary_arith_mmlclass())->AddReference();
4864  break;
4866  (m_object = new(pool) C_Unary_arith_mmlclass())->AddReference();
4867  break;
4869  (m_object = new(pool) C_Nary_minmax_mmlclass())->AddReference();
4870  break;
4871  case e_Nary_arith_mmlclass:
4872  (m_object = new(pool) C_Nary_arith_mmlclass())->AddReference();
4873  break;
4875  (m_object = new(pool) C_Nary_logical_mmlclass())->AddReference();
4876  break;
4878  (m_object = new(pool) C_Unary_logical_mmlclass())->AddReference();
4879  break;
4881  (m_object = new(pool) C_Binary_logical_mmlclass())->AddReference();
4882  break;
4883  case e_Quantifier_mmlclass:
4884  (m_object = new(pool) C_Quantifier_mmlclass())->AddReference();
4885  break;
4886  case e_Nary_reln_mmlclass:
4887  (m_object = new(pool) C_Nary_reln_mmlclass())->AddReference();
4888  break;
4890  (m_object = new(pool) C_Binary_reln_mmlclass())->AddReference();
4891  break;
4892  case e_Int_mmlclass:
4893  (m_object = new(pool) C_Int_mmlclass())->AddReference();
4894  break;
4897  break;
4899  (m_object = new(pool) C_Partialdiff_mmlclass())->AddReference();
4900  break;
4902  (m_object = new(pool) C_Unary_veccalc_mmlclass())->AddReference();
4903  break;
4906  break;
4907  case e_Nary_set_mmlclass:
4908  (m_object = new(pool) C_Nary_set_mmlclass())->AddReference();
4909  break;
4910  case e_Binary_set_mmlclass:
4911  (m_object = new(pool) C_Binary_set_mmlclass())->AddReference();
4912  break;
4914  (m_object = new(pool) C_Nary_set_reln_mmlclass())->AddReference();
4915  break;
4916  case e_Unary_set_mmlclass:
4917  (m_object = new(pool) C_Unary_set_mmlclass())->AddReference();
4918  break;
4919  case e_Sum_mmlclass:
4920  (m_object = new(pool) C_Sum_mmlclass())->AddReference();
4921  break;
4922  case e_Product_mmlclass:
4923  (m_object = new(pool) C_Product_mmlclass())->AddReference();
4924  break;
4925  case e_Limit_mmlclass:
4926  (m_object = new(pool) C_Limit_mmlclass())->AddReference();
4927  break;
4930  break;
4931  case e_Nary_stats_mmlclass:
4932  (m_object = new(pool) C_Nary_stats_mmlclass())->AddReference();
4933  break;
4936  break;
4938  (m_object = new(pool) C_Unary_linalg_mmlclass())->AddReference();
4939  break;
4941  (m_object = new(pool) C_Nary_linalg_mmlclass())->AddReference();
4942  break;
4944  (m_object = new(pool) C_Binary_linalg_mmlclass())->AddReference();
4945  break;
4947  (m_object = new(pool) C_Constant_set_mmlclass())->AddReference();
4948  break;
4950  (m_object = new(pool) C_Constant_arith_mmlclass())->AddReference();
4951  break;
4952  case e_Semantics:
4953  (m_object = new(pool) ncbi::objects::CSemantics())->AddReference();
4954  break;
4955  case e_Cn:
4956  (m_object = new(pool) ncbi::objects::CCn())->AddReference();
4957  break;
4958  case e_Ci:
4959  (m_object = new(pool) ncbi::objects::CCi())->AddReference();
4960  break;
4961  case e_Csymbol:
4962  (m_object = new(pool) ncbi::objects::CCsymbol())->AddReference();
4963  break;
4964  case e_Apply:
4965  (m_object = new(pool) ncbi::objects::CApply())->AddReference();
4966  break;
4967  case e_Bind:
4968  (m_object = new(pool) ncbi::objects::CBind())->AddReference();
4969  break;
4970  case e_Share:
4971  (m_object = new(pool) ncbi::objects::CShare())->AddReference();
4972  break;
4973  case e_Cerror:
4974  (m_object = new(pool) ncbi::objects::CCerror())->AddReference();
4975  break;
4976  case e_Cbytes:
4977  (m_object = new(pool) ncbi::objects::CCbytes())->AddReference();
4978  break;
4979  case e_Cs:
4980  (m_object = new(pool) ncbi::objects::CCs())->AddReference();
4981  break;
4982  default:
4983  break;
4984  }
4985  m_choice = index;
4986 }
4987 
4989  "not set",
4990  "piecewise",
4991  "DeprecatedContExp",
4992  "interval.mmlclass",
4993  "unary-functional.mmlclass",
4994  "lambda.mmlclass",
4995  "nary-functional.mmlclass",
4996  "binary-arith.mmlclass",
4997  "unary-arith.mmlclass",
4998  "nary-minmax.mmlclass",
4999  "nary-arith.mmlclass",
5000  "nary-logical.mmlclass",
5001  "unary-logical.mmlclass",
5002  "binary-logical.mmlclass",
5003  "quantifier.mmlclass",
5004  "nary-reln.mmlclass",
5005  "binary-reln.mmlclass",
5006  "int.mmlclass",
5007  "Differential-Operator.mmlclass",
5008  "partialdiff.mmlclass",
5009  "unary-veccalc.mmlclass",
5010  "nary-setlist-constructor.mmlclass",
5011  "nary-set.mmlclass",
5012  "binary-set.mmlclass",
5013  "nary-set-reln.mmlclass",
5014  "unary-set.mmlclass",
5015  "sum.mmlclass",
5016  "product.mmlclass",
5017  "limit.mmlclass",
5018  "unary-elementary.mmlclass",
5019  "nary-stats.mmlclass",
5020  "nary-constructor.mmlclass",
5021  "unary-linalg.mmlclass",
5022  "nary-linalg.mmlclass",
5023  "binary-linalg.mmlclass",
5024  "constant-set.mmlclass",
5025  "constant-arith.mmlclass",
5026  "semantics",
5027  "cn",
5028  "ci",
5029  "csymbol",
5030  "apply",
5031  "bind",
5032  "share",
5033  "cerror",
5034  "cbytes",
5035  "cs"
5036 };
5037 
5039 {
5040  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
5041 }
5042 
5044 {
5045  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
5046 }
5047 
5049 {
5051  return *static_cast<const TPiecewise*>(m_object);
5052 }
5053 
5055 {
5057  return *static_cast<TPiecewise*>(m_object);
5058 }
5059 
5061 {
5062  TPiecewise* ptr = &value;
5063  if ( m_choice != e_Piecewise || m_object != ptr ) {
5064  ResetSelection();
5065  (m_object = ptr)->AddReference();
5067  }
5068 }
5069 
5071 {
5073  return *static_cast<const TDeprecatedContExp*>(m_object);
5074 }
5075 
5077 {
5079  return *static_cast<TDeprecatedContExp*>(m_object);
5080 }
5081 
5083 {
5084  TDeprecatedContExp* ptr = &value;
5085  if ( m_choice != e_DeprecatedContExp || m_object != ptr ) {
5086  ResetSelection();
5087  (m_object = ptr)->AddReference();
5089  }
5090 }
5091 
5093 {
5095  return *static_cast<const TInterval_mmlclass*>(m_object);
5096 }
5097 
5099 {
5101  return *static_cast<TInterval_mmlclass*>(m_object);
5102 }
5103 
5105 {
5106  TInterval_mmlclass* ptr = &value;
5107  if ( m_choice != e_Interval_mmlclass || m_object != ptr ) {
5108  ResetSelection();
5109  (m_object = ptr)->AddReference();
5111  }
5112 }
5113 
5115 {
5117  return *static_cast<const TUnary_functional_mmlclass*>(m_object);
5118 }
5119 
5121 {
5123  return *static_cast<TUnary_functional_mmlclass*>(m_object);
5124 }
5125 
5127 {
5129  if ( m_choice != e_Unary_functional_mmlclass || m_object != ptr ) {
5130  ResetSelection();
5131  (m_object = ptr)->AddReference();
5133  }
5134 }
5135 
5137 {
5139  return *static_cast<const TLambda_mmlclass*>(m_object);
5140 }
5141 
5143 {
5145  return *static_cast<TLambda_mmlclass*>(m_object);
5146 }
5147 
5149 {
5150  TLambda_mmlclass* ptr = &value;
5151  if ( m_choice != e_Lambda_mmlclass || m_object != ptr ) {
5152  ResetSelection();
5153  (m_object = ptr)->AddReference();
5155  }
5156 }
5157 
5159 {
5161  return *static_cast<const TNary_functional_mmlclass*>(m_object);
5162 }
5163 
5165 {
5167  return *static_cast<TNary_functional_mmlclass*>(m_object);
5168 }
5169 
5171 {
5173  if ( m_choice != e_Nary_functional_mmlclass || m_object != ptr ) {
5174  ResetSelection();
5175  (m_object = ptr)->AddReference();
5177  }
5178 }
5179 
5181 {
5183  return *static_cast<const TBinary_arith_mmlclass*>(m_object);
5184 }
5185 
5187 {
5189  return *static_cast<TBinary_arith_mmlclass*>(m_object);
5190 }
5191 
5193 {
5194  TBinary_arith_mmlclass* ptr = &value;
5195  if ( m_choice != e_Binary_arith_mmlclass || m_object != ptr ) {
5196  ResetSelection();
5197  (m_object = ptr)->AddReference();
5199  }
5200 }
5201 
5203 {
5205  return *static_cast<const TUnary_arith_mmlclass*>(m_object);
5206 }
5207 
5209 {
5211  return *static_cast<TUnary_arith_mmlclass*>(m_object);
5212 }
5213 
5215 {
5216  TUnary_arith_mmlclass* ptr = &value;
5217  if ( m_choice != e_Unary_arith_mmlclass || m_object != ptr ) {
5218  ResetSelection();
5219  (m_object = ptr)->AddReference();
5221  }
5222 }
5223 
5225 {
5227  return *static_cast<const TNary_minmax_mmlclass*>(m_object);
5228 }
5229 
5231 {
5233  return *static_cast<TNary_minmax_mmlclass*>(m_object);
5234 }
5235 
5237 {
5238  TNary_minmax_mmlclass* ptr = &value;
5239  if ( m_choice != e_Nary_minmax_mmlclass || m_object != ptr ) {
5240  ResetSelection();
5241  (m_object = ptr)->AddReference();
5243  }
5244 }
5245 
5247 {
5249  return *static_cast<const TNary_arith_mmlclass*>(m_object);
5250 }
5251 
5253 {
5255  return *static_cast<TNary_arith_mmlclass*>(m_object);
5256 }
5257 
5259 {
5260  TNary_arith_mmlclass* ptr = &value;
5261  if ( m_choice != e_Nary_arith_mmlclass || m_object != ptr ) {
5262  ResetSelection();
5263  (m_object = ptr)->AddReference();
5265  }
5266 }
5267 
5269 {
5271  return *static_cast<const TNary_logical_mmlclass*>(m_object);
5272 }
5273 
5275 {
5277  return *static_cast<TNary_logical_mmlclass*>(m_object);
5278 }
5279 
5281 {
5282  TNary_logical_mmlclass* ptr = &value;
5283  if ( m_choice != e_Nary_logical_mmlclass || m_object != ptr ) {
5284  ResetSelection();
5285  (m_object = ptr)->AddReference();
5287  }
5288 }
5289 
5291 {
5293  return *static_cast<const TUnary_logical_mmlclass*>(m_object);
5294 }
5295 
5297 {
5299  return *static_cast<TUnary_logical_mmlclass*>(m_object);
5300 }
5301 
5303 {
5305  if ( m_choice != e_Unary_logical_mmlclass || m_object != ptr ) {
5306  ResetSelection();
5307  (m_object = ptr)->AddReference();
5309  }
5310 }
5311 
5313 {
5315  return *static_cast<const TBinary_logical_mmlclass*>(m_object);
5316 }
5317 
5319 {
5321  return *static_cast<TBinary_logical_mmlclass*>(m_object);
5322 }
5323 
5325 {
5327  if ( m_choice != e_Binary_logical_mmlclass || m_object != ptr ) {
5328  ResetSelection();
5329  (m_object = ptr)->AddReference();
5331  }
5332 }
5333 
5335 {
5337  return *static_cast<const TQuantifier_mmlclass*>(m_object);
5338 }
5339 
5341 {
5343  return *static_cast<TQuantifier_mmlclass*>(m_object);
5344 }
5345 
5347 {
5348  TQuantifier_mmlclass* ptr = &value;
5349  if ( m_choice != e_Quantifier_mmlclass || m_object != ptr ) {
5350  ResetSelection();
5351  (m_object = ptr)->AddReference();
5353  }
5354 }
5355 
5357 {
5359  return *static_cast<const TNary_reln_mmlclass*>(m_object);
5360 }
5361 
5363 {
5365  return *static_cast<TNary_reln_mmlclass*>(m_object);
5366 }
5367 
5369 {
5370  TNary_reln_mmlclass* ptr = &value;
5371  if ( m_choice != e_Nary_reln_mmlclass || m_object != ptr ) {
5372  ResetSelection();
5373  (m_object = ptr)->AddReference();
5375  }
5376 }
5377 
5379 {
5381  return *static_cast<const TBinary_reln_mmlclass*>(m_object);
5382 }
5383 
5385 {
5387  return *static_cast<TBinary_reln_mmlclass*>(m_object);
5388 }
5389 
5391 {
5392  TBinary_reln_mmlclass* ptr = &value;
5393  if ( m_choice != e_Binary_reln_mmlclass || m_object != ptr ) {
5394  ResetSelection();
5395  (m_object = ptr)->AddReference();
5397  }
5398 }
5399 
5401 {
5403  return *static_cast<const TInt_mmlclass*>(m_object);
5404 }
5405 
5407 {
5409  return *static_cast<TInt_mmlclass*>(m_object);
5410 }
5411 
5413 {
5414  TInt_mmlclass* ptr = &value;
5415  if ( m_choice != e_Int_mmlclass || m_object != ptr ) {
5416  ResetSelection();
5417  (m_object = ptr)->AddReference();
5419  }
5420 }
5421 
5423 {
5425  return *static_cast<const TDifferential_Operator_mmlclass*>(m_object);
5426 }
5427 
5429 {
5431  return *static_cast<TDifferential_Operator_mmlclass*>(m_object);
5432 }
5433 
5435 {
5437  if ( m_choice != e_Differential_Operator_mmlclass || m_object != ptr ) {
5438  ResetSelection();
5439  (m_object = ptr)->AddReference();
5441  }
5442 }
5443 
5445 {
5447  return *static_cast<const TPartialdiff_mmlclass*>(m_object);
5448 }
5449 
5451 {
5453  return *static_cast<TPartialdiff_mmlclass*>(m_object);
5454 }
5455 
5457 {
5458  TPartialdiff_mmlclass* ptr = &value;
5459  if ( m_choice != e_Partialdiff_mmlclass || m_object != ptr ) {
5460  ResetSelection();
5461  (m_object = ptr)->AddReference();
5463  }
5464 }
5465 
5467 {
5469  return *static_cast<const TUnary_veccalc_mmlclass*>(m_object);
5470 }
5471 
5473 {
5475  return *static_cast<TUnary_veccalc_mmlclass*>(m_object);
5476 }
5477 
5479 {
5481  if ( m_choice != e_Unary_veccalc_mmlclass || m_object != ptr ) {
5482  ResetSelection();
5483  (m_object = ptr)->AddReference();
5485  }
5486 }
5487 
5489 {
5491  return *static_cast<const TNary_setlist_constructor_mmlclass*>(m_object);
5492 }
5493 
5495 {
5497  return *static_cast<TNary_setlist_constructor_mmlclass*>(m_object);
5498 }
5499 
5501 {
5504  ResetSelection();
5505  (m_object = ptr)->AddReference();
5507  }
5508 }
5509 
5511 {
5513  return *static_cast<const TNary_set_mmlclass*>(m_object);
5514 }
5515 
5517 {
5519  return *static_cast<TNary_set_mmlclass*>(m_object);
5520 }
5521 
5523 {
5524  TNary_set_mmlclass* ptr = &value;
5525  if ( m_choice != e_Nary_set_mmlclass || m_object != ptr ) {
5526  ResetSelection();
5527  (m_object = ptr)->AddReference();
5529  }
5530 }
5531 
5533 {
5535  return *static_cast<const TBinary_set_mmlclass*>(m_object);
5536 }
5537 
5539 {
5541  return *static_cast<TBinary_set_mmlclass*>(m_object);
5542 }
5543 
5545 {
5546  TBinary_set_mmlclass* ptr = &value;
5547  if ( m_choice != e_Binary_set_mmlclass || m_object != ptr ) {
5548  ResetSelection();
5549  (m_object = ptr)->AddReference();
5551  }
5552 }
5553 
5555 {
5557  return *static_cast<const TNary_set_reln_mmlclass*>(m_object);
5558 }
5559 
5561 {
5563  return *static_cast<TNary_set_reln_mmlclass*>(m_object);
5564 }
5565 
5567 {
5569  if ( m_choice != e_Nary_set_reln_mmlclass || m_object != ptr ) {
5570  ResetSelection();
5571  (m_object = ptr)->AddReference();
5573  }
5574 }
5575 
5577 {
5579  return *static_cast<const TUnary_set_mmlclass*>(m_object);
5580 }
5581 
5583 {
5585  return *static_cast<TUnary_set_mmlclass*>(m_object);
5586 }
5587 
5589 {
5590  TUnary_set_mmlclass* ptr = &value;
5591  if ( m_choice != e_Unary_set_mmlclass || m_object != ptr ) {
5592  ResetSelection();
5593  (m_object = ptr)->AddReference();
5595  }
5596 }
5597 
5599 {
5601  return *static_cast<const TSum_mmlclass*>(m_object);
5602 }
5603 
5605 {
5607  return *static_cast<TSum_mmlclass*>(m_object);
5608 }
5609 
5611 {
5612  TSum_mmlclass* ptr = &value;
5613  if ( m_choice != e_Sum_mmlclass || m_object != ptr ) {
5614  ResetSelection();
5615  (m_object = ptr)->AddReference();
5617  }
5618 }
5619 
5621 {
5623  return *static_cast<const TProduct_mmlclass*>(m_object);
5624 }
5625 
5627 {
5629  return *static_cast<TProduct_mmlclass*>(m_object);
5630 }
5631 
5633 {
5634  TProduct_mmlclass* ptr = &value;
5635  if ( m_choice != e_Product_mmlclass || m_object != ptr ) {
5636  ResetSelection();
5637  (m_object = ptr)->AddReference();
5639  }
5640 }
5641 
5643 {
5645  return *static_cast<const TLimit_mmlclass*>(m_object);
5646 }
5647 
5649 {
5651  return *static_cast<TLimit_mmlclass*>(m_object);
5652 }
5653 
5655 {
5656  TLimit_mmlclass* ptr = &value;
5657  if ( m_choice != e_Limit_mmlclass || m_object != ptr ) {
5658  ResetSelection();
5659  (m_object = ptr)->AddReference();
5661  }
5662 }
5663 
5665 {
5667  return *static_cast<const TUnary_elementary_mmlclass*>(m_object);
5668 }
5669 
5671 {
5673  return *static_cast<TUnary_elementary_mmlclass*>(m_object);
5674 }
5675 
5677 {
5679  if ( m_choice != e_Unary_elementary_mmlclass || m_object != ptr ) {
5680  ResetSelection();
5681  (m_object = ptr)->AddReference();
5683  }
5684 }
5685 
5687 {
5689  return *static_cast<const TNary_stats_mmlclass*>(m_object);
5690 }
5691 
5693 {
5695  return *static_cast<TNary_stats_mmlclass*>(m_object);
5696 }
5697 
5699 {
5700  TNary_stats_mmlclass* ptr = &value;
5701  if ( m_choice != e_Nary_stats_mmlclass || m_object != ptr ) {
5702  ResetSelection();
5703  (m_object = ptr)->AddReference();
5705  }
5706 }
5707 
5709 {
5711  return *static_cast<const TNary_constructor_mmlclass*>(m_object);
5712 }
5713 
5715 {
5717  return *static_cast<TNary_constructor_mmlclass*>(m_object);
5718 }
5719 
5721 {
5723  if ( m_choice != e_Nary_constructor_mmlclass || m_object != ptr ) {
5724  ResetSelection();
5725  (m_object = ptr)->AddReference();
5727  }
5728 }
5729 
5731 {
5733  return *static_cast<const TUnary_linalg_mmlclass*>(m_object);
5734 }
5735 
5737 {
5739  return *static_cast<TUnary_linalg_mmlclass*>(m_object);
5740 }
5741 
5743 {
5744  TUnary_linalg_mmlclass* ptr = &value;
5745  if ( m_choice != e_Unary_linalg_mmlclass || m_object != ptr ) {
5746  ResetSelection();
5747  (m_object = ptr)->AddReference();
5749  }
5750 }
5751 
5753 {
5755  return *static_cast<const TNary_linalg_mmlclass*>(m_object);
5756 }
5757 
5759 {
5761  return *static_cast<TNary_linalg_mmlclass*>(m_object);
5762 }
5763 
5765 {
5766  TNary_linalg_mmlclass* ptr = &value;
5767  if ( m_choice != e_Nary_linalg_mmlclass || m_object != ptr ) {
5768  ResetSelection();
5769  (m_object = ptr)->AddReference();
5771  }
5772 }
5773 
5775 {
5777  return *static_cast<const TBinary_linalg_mmlclass*>(m_object);
5778 }
5779 
5781 {
5783  return *static_cast<TBinary_linalg_mmlclass*>(m_object);
5784 }
5785 
5787 {
5789  if ( m_choice != e_Binary_linalg_mmlclass || m_object != ptr ) {
5790  ResetSelection();
5791  (m_object = ptr)->AddReference();
5793  }
5794 }
5795 
5797 {
5799  return *static_cast<const TConstant_set_mmlclass*>(m_object);
5800 }
5801 
5803 {
5805  return *static_cast<TConstant_set_mmlclass*>(m_object);
5806 }
5807 
5809 {
5810  TConstant_set_mmlclass* ptr = &value;
5811  if ( m_choice != e_Constant_set_mmlclass || m_object != ptr ) {
5812  ResetSelection();
5813  (m_object = ptr)->AddReference();
5815  }
5816 }
5817 
5819 {
5821  return *static_cast<const TConstant_arith_mmlclass*>(m_object);
5822 }
5823 
5825 {
5827  return *static_cast<TConstant_arith_mmlclass*>(m_object);
5828 }
5829 
5831 {
5833  if ( m_choice != e_Constant_arith_mmlclass || m_object != ptr ) {
5834  ResetSelection();
5835  (m_object = ptr)->AddReference();
5837  }
5838 }
5839 
5841 {
5843  return *static_cast<const TSemantics*>(m_object);
5844 }
5845 
5847 {
5849  return *static_cast<TSemantics*>(m_object);
5850 }
5851 
5853 {
5854  TSemantics* ptr = &value;
5855  if ( m_choice != e_Semantics || m_object != ptr ) {
5856  ResetSelection();
5857  (m_object = ptr)->AddReference();
5859  }
5860 }
5861 
5863 {
5865  return *static_cast<const TCn*>(m_object);
5866 }
5867 
5869 {
5871  return *static_cast<TCn*>(m_object);
5872 }
5873 
5875 {
5876  TCn* ptr = &value;
5877  if ( m_choice != e_Cn || m_object != ptr ) {
5878  ResetSelection();
5879  (m_object = ptr)->AddReference();
5880  m_choice = e_Cn;
5881  }
5882 }
5883 
5885 {
5887  return *static_cast<const TCi*>(m_object);
5888 }
5889 
5891 {
5893  return *static_cast<TCi*>(m_object);
5894 }
5895 
5897 {
5898  TCi* ptr = &value;
5899  if ( m_choice != e_Ci || m_object != ptr ) {
5900  ResetSelection();
5901  (m_object = ptr)->AddReference();
5902  m_choice = e_Ci;
5903  }
5904 }
5905 
5907 {
5909  return *static_cast<const TCsymbol*>(m_object);
5910 }
5911 
5913 {
5915  return *static_cast<TCsymbol*>(m_object);
5916 }
5917 
5919 {
5920  TCsymbol* ptr = &value;
5921  if ( m_choice != e_Csymbol || m_object != ptr ) {
5922  ResetSelection();
5923  (m_object = ptr)->AddReference();
5924  m_choice = e_Csymbol;
5925  }
5926 }
5927 
5929 {
5931  return *static_cast<const TApply*>(m_object);
5932 }
5933 
5935 {
5937  return *static_cast<TApply*>(m_object);
5938 }
5939 
5941 {
5942  TApply* ptr = &value;
5943  if ( m_choice != e_Apply || m_object != ptr ) {
5944  ResetSelection();
5945  (m_object = ptr)->AddReference();
5946  m_choice = e_Apply;
5947  }
5948 }
5949 
5951 {
5953  return *static_cast<const TBind*>(m_object);
5954 }
5955 
5957 {
5959  return *static_cast<TBind*>(m_object);
5960 }
5961 
5963 {
5964  TBind* ptr = &value;
5965  if ( m_choice != e_Bind || m_object != ptr ) {
5966  ResetSelection();
5967  (m_object = ptr)->AddReference();
5968  m_choice = e_Bind;
5969  }
5970 }
5971 
5973 {
5975  return *static_cast<const TShare*>(m_object);
5976 }
5977 
5979 {
5982  value.SetShare();
5983  return value;
5984 }
5985 
5987 {
5989  return *static_cast<const TCerror*>(m_object);
5990 }
5991 
5993 {
5995  return *static_cast<TCerror*>(m_object);
5996 }
5997 
5999 {
6000  TCerror* ptr = &value;
6001  if ( m_choice != e_Cerror || m_object != ptr ) {
6002  ResetSelection();
6003  (m_object = ptr)->AddReference();
6004  m_choice = e_Cerror;
6005  }
6006 }
6007 
6009 {
6011  return *static_cast<const TCbytes*>(m_object);
6012 }
6013 
6015 {
6017  return *static_cast<TCbytes*>(m_object);
6018 }
6019 
6021 {
6022  TCbytes* ptr = &value;
6023  if ( m_choice != e_Cbytes || m_object != ptr ) {
6024  ResetSelection();
6025  (m_object = ptr)->AddReference();
6026  m_choice = e_Cbytes;
6027  }
6028 }
6029 
6031 {
6033  return *static_cast<const TCs*>(m_object);
6034 }
6035 
6037 {
6039  return *static_cast<TCs*>(m_object);
6040 }
6041 
6043 {
6044  TCs* ptr = &value;
6045  if ( m_choice != e_Cs || m_object != ptr ) {
6046  ResetSelection();
6047  (m_object = ptr)->AddReference();
6048  m_choice = e_Cs;
6049  }
6050 }
6051 
6052 // helper methods
6053 
6054 // type info
6056 {
6057  SET_INTERNAL_NAME("MsrowExpression.MathExpression", "ContExp");
6058  SET_CHOICE_MODULE("pubmed_mathml3");
6059  ADD_NAMED_REF_CHOICE_VARIANT("piecewise", m_object, CPiecewise)->SetNsQualified(true);
6060  ADD_NAMED_REF_CHOICE_VARIANT("DeprecatedContExp", m_object, C_DeprecatedContExp)->SetNotag();
6061  ADD_NAMED_REF_CHOICE_VARIANT("interval.mmlclass", m_object, C_Interval_mmlclass)->SetNotag();
6062  ADD_NAMED_REF_CHOICE_VARIANT("unary-functional.mmlclass", m_object, C_Unary_functional_mmlclass)->SetNotag();
6063  ADD_NAMED_REF_CHOICE_VARIANT("lambda.mmlclass", m_object, C_Lambda_mmlclass)->SetNotag();
6064  ADD_NAMED_REF_CHOICE_VARIANT("nary-functional.mmlclass", m_object, C_Nary_functional_mmlclass)->SetNotag();
6065  ADD_NAMED_REF_CHOICE_VARIANT("binary-arith.mmlclass", m_object, C_Binary_arith_mmlclass)->SetNotag();
6066  ADD_NAMED_REF_CHOICE_VARIANT("unary-arith.mmlclass", m_object, C_Unary_arith_mmlclass)->SetNotag();
6067  ADD_NAMED_REF_CHOICE_VARIANT("nary-minmax.mmlclass", m_object, C_Nary_minmax_mmlclass)->SetNotag();
6068  ADD_NAMED_REF_CHOICE_VARIANT("nary-arith.mmlclass", m_object, C_Nary_arith_mmlclass)->SetNotag();
6069  ADD_NAMED_REF_CHOICE_VARIANT("nary-logical.mmlclass", m_object, C_Nary_logical_mmlclass)->SetNotag();
6070  ADD_NAMED_REF_CHOICE_VARIANT("unary-logical.mmlclass", m_object, C_Unary_logical_mmlclass)->SetNotag();
6071  ADD_NAMED_REF_CHOICE_VARIANT("binary-logical.mmlclass", m_object, C_Binary_logical_mmlclass)->SetNotag();
6072  ADD_NAMED_REF_CHOICE_VARIANT("quantifier.mmlclass", m_object, C_Quantifier_mmlclass)->SetNotag();
6073  ADD_NAMED_REF_CHOICE_VARIANT("nary-reln.mmlclass", m_object, C_Nary_reln_mmlclass)->SetNotag();
6074  ADD_NAMED_REF_CHOICE_VARIANT("binary-reln.mmlclass", m_object, C_Binary_reln_mmlclass)->SetNotag();
6075  ADD_NAMED_REF_CHOICE_VARIANT("int.mmlclass", m_object, C_Int_mmlclass)->SetNotag();
6076  ADD_NAMED_REF_CHOICE_VARIANT("Differential-Operator.mmlclass", m_object, C_Differential_Operator_mmlclass)->SetNotag();
6077  ADD_NAMED_REF_CHOICE_VARIANT("partialdiff.mmlclass", m_object, C_Partialdiff_mmlclass)->SetNotag();
6078  ADD_NAMED_REF_CHOICE_VARIANT("unary-veccalc.mmlclass", m_object, C_Unary_veccalc_mmlclass)->SetNotag();
6079  ADD_NAMED_REF_CHOICE_VARIANT("nary-setlist-constructor.mmlclass", m_object, C_Nary_setlist_constructor_mmlclass)->SetNotag();
6080  ADD_NAMED_REF_CHOICE_VARIANT("nary-set.mmlclass", m_object, C_Nary_set_mmlclass)->SetNotag();
6081  ADD_NAMED_REF_CHOICE_VARIANT("binary-set.mmlclass", m_object, C_Binary_set_mmlclass)->SetNotag();
6082  ADD_NAMED_REF_CHOICE_VARIANT("nary-set-reln.mmlclass", m_object, C_Nary_set_reln_mmlclass)->SetNotag();
6083  ADD_NAMED_REF_CHOICE_VARIANT("unary-set.mmlclass", m_object, C_Unary_set_mmlclass)->SetNotag();
6084  ADD_NAMED_REF_CHOICE_VARIANT("sum.mmlclass", m_object, C_Sum_mmlclass)->SetNotag();
6085  ADD_NAMED_REF_CHOICE_VARIANT("product.mmlclass", m_object, C_Product_mmlclass)->SetNotag();
6086  ADD_NAMED_REF_CHOICE_VARIANT("limit.mmlclass", m_object, C_Limit_mmlclass)->SetNotag();
6087  ADD_NAMED_REF_CHOICE_VARIANT("unary-elementary.mmlclass", m_object, C_Unary_elementary_mmlclass)->SetNotag();
6088  ADD_NAMED_REF_CHOICE_VARIANT("nary-stats.mmlclass", m_object, C_Nary_stats_mmlclass)->SetNotag();
6089  ADD_NAMED_REF_CHOICE_VARIANT("nary-constructor.mmlclass", m_object, C_Nary_constructor_mmlclass)->SetNotag();
6090  ADD_NAMED_REF_CHOICE_VARIANT("unary-linalg.mmlclass", m_object, C_Unary_linalg_mmlclass)->SetNotag();
6091  ADD_NAMED_REF_CHOICE_VARIANT("nary-linalg.mmlclass", m_object, C_Nary_linalg_mmlclass)->SetNotag();
6092  ADD_NAMED_REF_CHOICE_VARIANT("binary-linalg.mmlclass", m_object, C_Binary_linalg_mmlclass)->SetNotag();
6093  ADD_NAMED_REF_CHOICE_VARIANT("constant-set.mmlclass", m_object, C_Constant_set_mmlclass)->SetNotag();
6094  ADD_NAMED_REF_CHOICE_VARIANT("constant-arith.mmlclass", m_object, C_Constant_arith_mmlclass)->SetNotag();
6095  ADD_NAMED_REF_CHOICE_VARIANT("semantics", m_object, CSemantics)->SetNsQualified(true);
6096  ADD_NAMED_REF_CHOICE_VARIANT("cn", m_object, CCn)->SetNsQualified(true);
6097  ADD_NAMED_REF_CHOICE_VARIANT("ci", m_object, CCi)->SetNsQualified(true);
6098  ADD_NAMED_REF_CHOICE_VARIANT("csymbol", m_object, CCsymbol)->SetNsQualified(true);
6099  ADD_NAMED_REF_CHOICE_VARIANT("apply", m_object, CApply)->SetNsQualified(true);
6100  ADD_NAMED_REF_CHOICE_VARIANT("bind", m_object, CBind)->SetNsQualified(true);
6101  ADD_NAMED_REF_CHOICE_VARIANT("share", m_object, CShare)->SetNsQualified(true);
6102  ADD_NAMED_REF_CHOICE_VARIANT("cerror", m_object, CCerror)->SetNsQualified(true);
6103  ADD_NAMED_REF_CHOICE_VARIANT("cbytes", m_object, CCbytes)->SetNsQualified(true);
6104  ADD_NAMED_REF_CHOICE_VARIANT("cs", m_object, CCs)->SetNsQualified(true);
6105  info->CodeVersion(22400);
6106  info->DataSpec(ncbi::EDataSpec::eXSD);
6107 }
6109 
6110 // constructor
6112  : m_choice(e_not_set)
6113 {
6114 }
6115 
6116 // destructor
6118 {
6119  Reset();
6120 }
6121 
6122 
6124 {
6125  if ( m_choice != e_not_set )
6126  ResetSelection();
6127 }
6128 
6130 {
6131  switch ( m_choice ) {
6132  case e_Mi:
6133  case e_Mn:
6134  case e_Mo:
6135  case e_Mtext:
6136  case e_Mspace:
6137  case e_Ms:
6138  m_object->RemoveReference();
6139  break;
6140  default:
6141  break;
6142  }
6143  m_choice = e_not_set;
6144 }
6145 
6147 {
6148  switch ( index ) {
6149  case e_Mi:
6150  (m_object = new(pool) ncbi::objects::CMi())->AddReference();
6151  break;
6152  case e_Mn:
6153  (m_object = new(pool) ncbi::objects::CMn())->AddReference();
6154  break;
6155  case e_Mo:
6156  (m_object = new(pool) ncbi::objects::CMo())->AddReference();
6157  break;
6158  case e_Mtext:
6159  (m_object = new(pool) ncbi::objects::CMtext())->AddReference();
6160  break;
6161  case e_Mspace:
6162  (m_object = new(pool) ncbi::objects::CMspace())->AddReference();
6163  break;
6164  case e_Ms:
6165  (m_object = new(pool) ncbi::objects::CMs())->AddReference();
6166  break;
6167  default:
6168  break;
6169  }
6170  m_choice = index;
6171 }
6172 
6174  "not set",
6175  "mi",
6176  "mn",
6177  "mo",
6178  "mtext",
6179  "mspace",
6180  "ms"
6181 };
6182 
6184 {
6185  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
6186 }
6187 
6189 {
6190  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
6191 }
6192 
6194 {
6195  CheckSelected(e_Mi);
6196  return *static_cast<const TMi*>(m_object);
6197 }
6198 
6200 {
6202  return *static_cast<TMi*>(m_object);
6203 }
6204 
6206 {
6207  TMi* ptr = &value;
6208  if ( m_choice != e_Mi || m_object != ptr ) {
6209  ResetSelection();
6210  (m_object = ptr)->AddReference();
6211  m_choice = e_Mi;
6212  }
6213 }
6214 
6216 {
6217  CheckSelected(e_Mn);
6218  return *static_cast<const TMn*>(m_object);
6219 }
6220 
6222 {
6224  return *static_cast<TMn*>(m_object);
6225 }
6226 
6228 {
6229  TMn* ptr = &value;
6230  if ( m_choice != e_Mn || m_object != ptr ) {
6231  ResetSelection();
6232  (m_object = ptr)->AddReference();
6233  m_choice = e_Mn;
6234  }
6235 }
6236 
6238 {
6239  CheckSelected(e_Mo);
6240  return *static_cast<const TMo*>(m_object);
6241 }
6242 
6244 {
6246  return *static_cast<TMo*>(m_object);
6247 }
6248 
6250 {
6251  TMo* ptr = &value;
6252  if ( m_choice != e_Mo || m_object != ptr ) {
6253  ResetSelection();
6254  (m_object = ptr)->AddReference();
6255  m_choice = e_Mo;
6256  }
6257 }
6258 
6260 {
6261  CheckSelected(e_Mtext);
6262  return *static_cast<const TMtext*>(m_object);
6263 }
6264 
6266 {
6268  return *static_cast<TMtext*>(m_object);
6269 }
6270 
6272 {
6273  TMtext* ptr = &value;
6274  if ( m_choice != e_Mtext || m_object != ptr ) {
6275  ResetSelection();
6276  (m_object = ptr)->AddReference();
6277  m_choice = e_Mtext;
6278  }
6279 }
6280 
6282 {
6283  CheckSelected(e_Mspace);
6284  return *static_cast<const TMspace*>(m_object);
6285 }
6286 
6288 {
6291  value.SetMspace();
6292  return value;
6293 }
6294 
6296 {
6297  CheckSelected(e_Ms);
6298  return *static_cast<const TMs*>(m_object);
6299 }
6300 
6302 {
6304  return *static_cast<TMs*>(m_object);
6305 }
6306 
6308 {
6309  TMs* ptr = &value;
6310  if ( m_choice != e_Ms || m_object != ptr ) {
6311  ResetSelection();
6312  (m_object = ptr)->AddReference();
6313  m_choice = e_Ms;
6314  }
6315 }
6316 
6317 // helper methods
6318 
6319 // type info
6321 {
6322  SET_INTERNAL_NAME("MsrowExpression.MathExpression.PresentationExpression", "TokenExpression");
6323  SET_CHOICE_MODULE("pubmed_mathml3");
6324  ADD_NAMED_REF_CHOICE_VARIANT("mi", m_object, CMi)->SetNsQualified(true);
6325  ADD_NAMED_REF_CHOICE_VARIANT("mn", m_object, CMn)->SetNsQualified(true);
6326  ADD_NAMED_REF_CHOICE_VARIANT("mo", m_object, CMo)->SetNsQualified(true);
6327  ADD_NAMED_REF_CHOICE_VARIANT("mtext", m_object, CMtext)->SetNsQualified(true);
6328  ADD_NAMED_REF_CHOICE_VARIANT("mspace", m_object, CMspace)->SetNsQualified(true);
6329  ADD_NAMED_REF_CHOICE_VARIANT("ms", m_object, CMs)->SetNsQualified(true);
6330  info->CodeVersion(22400);
6331  info->DataSpec(ncbi::EDataSpec::eXSD);
6332 }
6334 
6335 // constructor
6337  : m_choice(e_not_set)
6338 {
6339 }
6340 
6341 // destructor
6343 {
6344  Reset();
6345 }
6346 
6347 
6349 {
6350  if ( m_choice != e_not_set )
6351  ResetSelection();
6352 }
6353 
6355 {
6356  switch ( m_choice ) {
6357  case e_Maligngroup:
6358  case e_Malignmark:
6359  m_object->RemoveReference();
6360  break;
6361  default:
6362  break;
6363  }
6364  m_choice = e_not_set;
6365 }
6366 
6368 {
6369  switch ( index ) {
6370  case e_Maligngroup:
6371  (m_object = new(pool) ncbi::objects::CMaligngroup())->AddReference();
6372  break;
6373  case e_Malignmark:
6374  (m_object = new(pool) ncbi::objects::CMalignmark())->AddReference();
6375  break;
6376  default:
6377  break;
6378  }
6379  m_choice = index;
6380 }
6381 
6383  "not set",
6384  "maligngroup",
6385  "malignmark"
6386 };
6387 
6389 {
6390  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
6391 }
6392 
6394 {
6395  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
6396 }
6397 
6399 {
6400  CheckSelected(e_Maligngroup);
6401  return *static_cast<const TMaligngroup*>(m_object);
6402 }
6403 
6405 {
6406  Select(e_Maligngroup, NCBI_NS_NCBI::eDoNotResetVariant);
6408  value.SetMaligngroup();
6409  return value;
6410 }
6411 
6413 {
6414  CheckSelected(e_Malignmark);
6415  return *static_cast<const TMalignmark*>(m_object);
6416 }
6417 
6419 {
6422  value.SetMalignmark();
6423  return value;
6424 }
6425 
6426 // helper methods
6427 
6428 // type info
6430 {
6431  SET_INTERNAL_NAME("MsrowExpression.MathExpression.PresentationExpression", "MalignExpression");
6432  SET_CHOICE_MODULE("pubmed_mathml3");
6433  ADD_NAMED_REF_CHOICE_VARIANT("maligngroup", m_object, CMaligngroup)->SetNsQualified(true);
6434  ADD_NAMED_REF_CHOICE_VARIANT("malignmark", m_object, CMalignmark)->SetNsQualified(true);
6435  info->CodeVersion(22400);
6436  info->DataSpec(ncbi::EDataSpec::eXSD);
6437 }
6439 
6440 // constructor
6442  : m_choice(e_not_set)
6443 {
6444 }
6445 
6446 // destructor
6448 {
6449  Reset();
6450 }
6451 
6452 
6454 {
6455  if ( m_choice != e_not_set )
6456  ResetSelection();
6457 }
6458 
6460 {
6461  switch ( m_choice ) {
6462  case e_TokenExpression:
6463  case e_MalignExpression:
6464  case e_Mrow:
6465  case e_Mfrac:
6466  case e_Msqrt:
6467  case e_Mroot:
6468  case e_Mstyle:
6469  case e_Merror:
6470  case e_Mpadded:
6471  case e_Mphantom:
6472  case e_Mfenced:
6473  case e_Menclose:
6474  case e_Msub:
6475  case e_Msup:
6476  case e_Msubsup:
6477  case e_Munder:
6478  case e_Mover:
6479  case e_Munderover:
6480  case e_Mmultiscripts:
6481  case e_Mtable:
6482  case e_Mstack:
6483  case e_Mlongdiv:
6484  case e_Maction:
6485  m_object->RemoveReference();
6486  break;
6487  default:
6488  break;
6489  }
6490  m_choice = e_not_set;
6491 }
6492 
6494 {
6495  switch ( index ) {
6496  case e_TokenExpression:
6497  (m_object = new(pool) C_TokenExpression())->AddReference();
6498  break;
6499  case e_MalignExpression:
6500  (m_object = new(pool) C_MalignExpression())->AddReference();
6501  break;
6502  case e_Mrow:
6503  (m_object = new(pool) ncbi::objects::CMrow())->AddReference();
6504  break;
6505  case e_Mfrac:
6506  (m_object = new(pool) ncbi::objects::CMfrac())->AddReference();
6507  break;
6508  case e_Msqrt:
6509  (m_object = new(pool) ncbi::objects::CMsqrt())->AddReference();
6510  break;
6511  case e_Mroot:
6512  (m_object = new(pool) ncbi::objects::CMroot())->AddReference();
6513  break;
6514  case e_Mstyle:
6515  (m_object = new(pool) ncbi::objects::CMstyle())->AddReference();
6516  break;
6517  case e_Merror:
6518  (m_object = new(pool) ncbi::objects::CMerror())->AddReference();
6519  break;
6520  case e_Mpadded:
6521  (m_object = new(pool) ncbi::objects::CMpadded())->AddReference();
6522  break;
6523  case e_Mphantom:
6524  (m_object = new(pool) ncbi::objects::CMphantom())->AddReference();
6525  break;
6526  case e_Mfenced:
6527  (m_object = new(pool) ncbi::objects::CMfenced())->AddReference();
6528  break;
6529  case e_Menclose:
6530  (m_object = new(pool) ncbi::objects::CMenclose())->AddReference();
6531  break;
6532  case e_Msub:
6533  (m_object = new(pool) ncbi::objects::CMsub())->AddReference();
6534  break;
6535  case e_Msup:
6536  (m_object = new(pool) ncbi::objects::CMsup())->AddReference();
6537  break;
6538  case e_Msubsup:
6539  (m_object = new(pool) ncbi::objects::CMsubsup())->AddReference();
6540  break;
6541  case e_Munder:
6542  (m_object = new(pool) ncbi::objects::CMunder())->AddReference();
6543  break;
6544  case e_Mover:
6545  (m_object = new(pool) ncbi::objects::CMover())->AddReference();
6546  break;
6547  case e_Munderover:
6548  (m_object = new(pool) ncbi::objects::CMunderover())->AddReference();
6549  break;
6550  case e_Mmultiscripts:
6551  (m_object = new(pool) ncbi::objects::CMmultiscripts())->AddReference();
6552  break;
6553  case e_Mtable:
6554  (m_object = new(pool) ncbi::objects::CMtable())->AddReference();
6555  break;
6556  case e_Mstack:
6557  (m_object = new(pool) ncbi::objects::CMstack())->AddReference();
6558  break;
6559  case e_Mlongdiv:
6560  (m_object = new(pool) ncbi::objects::CMlongdiv())->AddReference();
6561  break;
6562  case e_Maction:
6563  (m_object = new(pool) ncbi::objects::CMaction())->AddReference();
6564  break;
6565  default:
6566  break;
6567  }
6568  m_choice = index;
6569 }
6570 
6572  "not set",
6573  "TokenExpression",
6574  "MalignExpression",
6575  "mrow",
6576  "mfrac",
6577  "msqrt",
6578  "mroot",
6579  "mstyle",
6580  "merror",
6581  "mpadded",
6582  "mphantom",
6583  "mfenced",
6584  "menclose",
6585  "msub",
6586  "msup",
6587  "msubsup",
6588  "munder",
6589  "mover",
6590  "munderover",
6591  "mmultiscripts",
6592  "mtable",
6593  "mstack",
6594  "mlongdiv",
6595  "maction"
6596 };
6597 
6599 {
6600  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
6601 }
6602 
6604 {
6605  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
6606 }
6607 
6609 {
6611  return *static_cast<const TTokenExpression*>(m_object);
6612 }
6613 
6615 {
6617  return *static_cast<TTokenExpression*>(m_object);
6618 }
6619 
6621 {
6622  TTokenExpression* ptr = &value;
6623  if ( m_choice != e_TokenExpression || m_object != ptr ) {
6624  ResetSelection();
6625  (m_object = ptr)->AddReference();
6627  }
6628 }
6629 
6631 {
6633  return *static_cast<const TMalignExpression*>(m_object);
6634 }
6635 
6637 {
6639  return *static_cast<TMalignExpression*>(m_object);
6640 }
6641 
6643 {
6644  TMalignExpression* ptr = &value;
6645  if ( m_choice != e_MalignExpression || m_object != ptr ) {
6646  ResetSelection();
6647  (m_object = ptr)->AddReference();
6649  }
6650 }
6651 
6653 {
6655  return *static_cast<const TMrow*>(m_object);
6656 }
6657 
6659 {
6661  return *static_cast<TMrow*>(m_object);
6662 }
6663 
6665 {
6666  TMrow* ptr = &value;
6667  if ( m_choice != e_Mrow || m_object != ptr ) {
6668  ResetSelection();
6669  (m_object = ptr)->AddReference();
6670  m_choice = e_Mrow;
6671  }
6672 }
6673 
6675 {
6677  return *static_cast<const TMfrac*>(m_object);
6678 }
6679 
6681 {
6683  return *static_cast<TMfrac*>(m_object);
6684 }
6685 
6687 {
6688  TMfrac* ptr = &value;
6689  if ( m_choice != e_Mfrac || m_object != ptr ) {
6690  ResetSelection();
6691  (m_object = ptr)->AddReference();
6692  m_choice = e_Mfrac;
6693  }
6694 }
6695 
6697 {
6699  return *static_cast<const TMsqrt*>(m_object);
6700 }
6701 
6703 {
6705  return *static_cast<TMsqrt*>(m_object);
6706 }
6707 
6709 {
6710  TMsqrt* ptr = &value;
6711  if ( m_choice != e_Msqrt || m_object != ptr ) {
6712  ResetSelection();
6713  (m_object = ptr)->AddReference();
6714  m_choice = e_Msqrt;
6715  }
6716 }
6717 
6719 {
6721  return *static_cast<const TMroot*>(m_object);
6722 }
6723 
6725 {
6727  return *static_cast<TMroot*>(m_object);
6728 }
6729 
6731 {
6732  TMroot* ptr = &value;
6733  if ( m_choice != e_Mroot || m_object != ptr ) {
6734  ResetSelection();
6735  (m_object = ptr)->AddReference();
6736  m_choice = e_Mroot;
6737  }
6738 }
6739 
6741 {
6743  return *static_cast<const TMstyle*>(m_object);
6744 }
6745 
6747 {
6749  return *static_cast<TMstyle*>(m_object);
6750 }
6751 
6753 {
6754  TMstyle* ptr = &value;
6755  if ( m_choice != e_Mstyle || m_object != ptr ) {
6756  ResetSelection();
6757  (m_object = ptr)->AddReference();
6758  m_choice = e_Mstyle;
6759  }
6760 }
6761 
6763 {
6765  return *static_cast<const TMerror*>(m_object);
6766 }
6767 
6769 {
6771  return *static_cast<TMerror*>(m_object);
6772 }
6773 
6775 {
6776  TMerror* ptr = &value;
6777  if ( m_choice != e_Merror || m_object != ptr ) {
6778  ResetSelection();
6779  (m_object = ptr)->AddReference();
6780  m_choice = e_Merror;
6781  }
6782 }
6783 
6785 {
6787  return *static_cast<const TMpadded*>(m_object);
6788 }
6789 
6791 {
6793  return *static_cast<TMpadded*>(m_object);
6794 }
6795 
6797 {
6798  TMpadded* ptr = &value;
6799  if ( m_choice != e_Mpadded || m_object != ptr ) {
6800  ResetSelection();
6801  (m_object = ptr)->AddReference();
6802  m_choice = e_Mpadded;
6803  }
6804 }
6805 
6807 {
6809  return *static_cast<const TMphantom*>(m_object);
6810 }
6811 
6813 {
6815  return *static_cast<TMphantom*>(m_object);
6816 }
6817 
6819 {
6820  TMphantom* ptr = &value;
6821  if ( m_choice != e_Mphantom || m_object != ptr ) {
6822  ResetSelection();
6823  (m_object = ptr)->AddReference();
6824  m_choice = e_Mphantom;
6825  }
6826 }
6827 
6829 {
6831  return *static_cast<const TMfenced*>(m_object);
6832 }
6833 
6835 {
6837  return *static_cast<TMfenced*>(m_object);
6838 }
6839 
6841 {
6842  TMfenced* ptr = &value;
6843  if ( m_choice != e_Mfenced || m_object != ptr ) {
6844  ResetSelection();
6845  (m_object = ptr)->AddReference();
6846  m_choice = e_Mfenced;
6847  }
6848 }
6849 
6851 {
6853  return *static_cast<const TMenclose*>(m_object);
6854 }
6855 
6857 {
6859  return *static_cast<TMenclose*>(m_object);
6860 }
6861 
6863 {
6864  TMenclose* ptr = &value;
6865  if ( m_choice != e_Menclose || m_object != ptr ) {
6866  ResetSelection();
6867  (m_object = ptr)->AddReference();
6868  m_choice = e_Menclose;
6869  }
6870 }
6871 
6873 {
6875  return *static_cast<const TMsub*>(m_object);
6876 }
6877 
6879 {
6881  return *static_cast<TMsub*>(m_object);
6882 }
6883 
6885 {
6886  TMsub* ptr = &value;
6887  if ( m_choice != e_Msub || m_object != ptr ) {
6888  ResetSelection();
6889  (m_object = ptr)->AddReference();
6890  m_choice = e_Msub;
6891  }
6892 }
6893 
6895 {
6897  return *static_cast<const TMsup*>(m_object);
6898 }
6899 
6901 {
6903  return *static_cast<TMsup*>(m_object);
6904 }
6905 
6907 {
6908  TMsup* ptr = &value;
6909  if ( m_choice != e_Msup || m_object != ptr ) {
6910  ResetSelection();
6911  (m_object = ptr)->AddReference();
6912  m_choice = e_Msup;
6913  }
6914 }
6915 
6917 {
6919  return *static_cast<const TMsubsup*>(m_object);
6920 }
6921 
6923 {
6925  return *static_cast<TMsubsup*>(m_object);
6926 }
6927 
6929 {
6930  TMsubsup* ptr = &value;
6931  if ( m_choice != e_Msubsup || m_object != ptr ) {
6932  ResetSelection();
6933  (m_object = ptr)->AddReference();
6934  m_choice = e_Msubsup;
6935  }
6936 }
6937 
6939 {
6941  return *static_cast<const TMunder*>(m_object);
6942 }
6943 
6945 {
6947  return *static_cast<TMunder*>(m_object);
6948 }
6949 
6951 {
6952  TMunder* ptr = &value;
6953  if ( m_choice != e_Munder || m_object != ptr ) {
6954  ResetSelection();
6955  (m_object = ptr)->AddReference();
6956  m_choice = e_Munder;
6957  }
6958 }
6959 
6961 {
6963  return *static_cast<const TMover*>(m_object);
6964 }
6965 
6967 {
6969  return *static_cast<TMover*>(m_object);
6970 }
6971 
6973 {
6974  TMover* ptr = &value;
6975  if ( m_choice != e_Mover || m_object != ptr ) {
6976  ResetSelection();
6977  (m_object = ptr)->AddReference();
6978  m_choice = e_Mover;
6979  }
6980 }
6981 
6983 {
6985  return *static_cast<const TMunderover*>(m_object);
6986 }
6987 
6989 {
6991  return *static_cast<TMunderover*>(m_object);
6992 }
6993 
6995 {
6996  TMunderover* ptr = &value;
6997  if ( m_choice != e_Munderover || m_object != ptr ) {
6998  ResetSelection();
6999  (m_object = ptr)->AddReference();
7001  }
7002 }
7003 
7005 {
7007  return *static_cast<const TMmultiscripts*>(m_object);
7008 }
7009 
7011 {
7013  return *static_cast<TMmultiscripts*>(m_object);
7014 }
7015 
7017 {
7018  TMmultiscripts* ptr = &value;
7019  if ( m_choice != e_Mmultiscripts || m_object != ptr ) {
7020  ResetSelection();
7021  (m_object = ptr)->AddReference();
7023  }
7024 }
7025 
7027 {
7029  return *static_cast<const TMtable*>(m_object);
7030 }
7031 
7033 {
7035  return *static_cast<TMtable*>(m_object);
7036 }
7037 
7039 {
7040  TMtable* ptr = &value;
7041  if ( m_choice != e_Mtable || m_object != ptr ) {
7042  ResetSelection();
7043  (m_object = ptr)->AddReference();
7044  m_choice = e_Mtable;
7045  }
7046 }
7047 
7049 {
7051  return *static_cast<const TMstack*>(m_object);
7052 }
7053 
7055 {
7057  return *static_cast<TMstack*>(m_object);
7058 }
7059 
7061 {
7062  TMstack* ptr = &value;
7063  if ( m_choice != e_Mstack || m_object != ptr ) {
7064  ResetSelection();
7065  (m_object = ptr)->AddReference();
7066  m_choice = e_Mstack;
7067  }
7068 }
7069 
7071 {
7073  return *static_cast<const TMlongdiv*>(m_object);
7074 }
7075 
7077 {
7079  return *static_cast<TMlongdiv*>(m_object);
7080 }
7081 
7083 {
7084  TMlongdiv* ptr = &value;
7085  if ( m_choice != e_Mlongdiv || m_object != ptr ) {
7086  ResetSelection();
7087  (m_object = ptr)->AddReference();
7088  m_choice = e_Mlongdiv;
7089  }
7090 }
7091 
7093 {
7095  return *static_cast<const TMaction*>(m_object);
7096 }
7097 
7099 {
7101  return *static_cast<TMaction*>(m_object);
7102 }
7103 
7105 {
7106  TMaction* ptr = &value;
7107  if ( m_choice != e_Maction || m_object != ptr ) {
7108  ResetSelection();
7109  (m_object = ptr)->AddReference();
7110  m_choice = e_Maction;
7111  }
7112 }
7113 
7114 // helper methods
7115 
7116 // type info
7118 {
7119  SET_INTERNAL_NAME("MsrowExpression.MathExpression", "PresentationExpression");
7120  SET_CHOICE_MODULE("pubmed_mathml3");
7121  ADD_NAMED_REF_CHOICE_VARIANT("TokenExpression", m_object, C_TokenExpression)->SetNotag();
7122  ADD_NAMED_REF_CHOICE_VARIANT("MalignExpression", m_object, C_MalignExpression)->SetNotag();
7123  ADD_NAMED_REF_CHOICE_VARIANT("mrow", m_object, CMrow)->SetNsQualified(true);
7124  ADD_NAMED_REF_CHOICE_VARIANT("mfrac", m_object, CMfrac)->SetNsQualified(true);
7125  ADD_NAMED_REF_CHOICE_VARIANT("msqrt", m_object, CMsqrt)->SetNsQualified(true);
7126  ADD_NAMED_REF_CHOICE_VARIANT("mroot", m_object, CMroot)->SetNsQualified(true);
7127  ADD_NAMED_REF_CHOICE_VARIANT("mstyle", m_object, CMstyle)->SetNsQualified(true);
7128  ADD_NAMED_REF_CHOICE_VARIANT("merror", m_object, CMerror)->SetNsQualified(true);
7129  ADD_NAMED_REF_CHOICE_VARIANT("mpadded", m_object, CMpadded)->SetNsQualified(true);
7130  ADD_NAMED_REF_CHOICE_VARIANT("mphantom", m_object, CMphantom)->SetNsQualified(true);
7131  ADD_NAMED_REF_CHOICE_VARIANT("mfenced", m_object, CMfenced)->SetNsQualified(true);
7132  ADD_NAMED_REF_CHOICE_VARIANT("menclose", m_object, CMenclose)->SetNsQualified(true);
7133  ADD_NAMED_REF_CHOICE_VARIANT("msub", m_object, CMsub)->SetNsQualified(true);
7134  ADD_NAMED_REF_CHOICE_VARIANT("msup", m_object, CMsup)->SetNsQualified(true);
7135  ADD_NAMED_REF_CHOICE_VARIANT("msubsup", m_object, CMsubsup)->SetNsQualified(true);
7136  ADD_NAMED_REF_CHOICE_VARIANT("munder", m_object, CMunder)->SetNsQualified(true);
7137  ADD_NAMED_REF_CHOICE_VARIANT("mover", m_object, CMover)->SetNsQualified(true);
7138  ADD_NAMED_REF_CHOICE_VARIANT("munderover", m_object, CMunderover)->SetNsQualified(true);
7139  ADD_NAMED_REF_CHOICE_VARIANT("mmultiscripts", m_object, CMmultiscripts)->SetNsQualified(true);
7140  ADD_NAMED_REF_CHOICE_VARIANT("mtable", m_object, CMtable)->SetNsQualified(true);
7141  ADD_NAMED_REF_CHOICE_VARIANT("mstack", m_object, CMstack)->SetNsQualified(true);
7142  ADD_NAMED_REF_CHOICE_VARIANT("mlongdiv", m_object, CMlongdiv)->SetNsQualified(true);
7143  ADD_NAMED_REF_CHOICE_VARIANT("maction", m_object, CMaction)->SetNsQualified(true);
7144  info->CodeVersion(22400);
7145  info->DataSpec(ncbi::EDataSpec::eXSD);
7146 }
7148 
7149 // constructor
7151  : m_choice(e_not_set)
7152 {
7153 }
7154 
7155 // destructor
7157 {
7158  Reset();
7159 }
7160 
7161 
7163 {
7164  if ( m_choice != e_not_set )
7165  ResetSelection();
7166 }
7167 
7169 {
7170  switch ( m_choice ) {
7171  case e_ContExp:
7173  m_object->RemoveReference();
7174  break;
7175  default:
7176  break;
7177  }
7178  m_choice = e_not_set;
7179 }
7180 
7181 void CMsrowExpression_Base::C_MathExpression::DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool* pool)
7182 {
7183  switch ( index ) {
7184  case e_ContExp:
7185  (m_object = new(pool) C_ContExp())->AddReference();
7186  break;
7188  (m_object = new(pool) C_PresentationExpression())->AddReference();
7189  break;
7190  default:
7191  break;
7192  }
7193  m_choice = index;
7194 }
7195 
7197  "not set",
7198  "ContExp",
7199  "PresentationExpression"
7200 };
7201 
7203 {
7204  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
7205 }
7206 
7208 {
7209  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
7210 }
7211 
7213 {
7215  return *static_cast<const TContExp*>(m_object);
7216 }
7217 
7219 {
7221  return *static_cast<TContExp*>(m_object);
7222 }
7223 
7225 {
7226  TContExp* ptr = &value;
7227  if ( m_choice != e_ContExp || m_object != ptr ) {
7228  ResetSelection();
7229  (m_object = ptr)->AddReference();
7230  m_choice = e_ContExp;
7231  }
7232 }
7233 
7235 {
7237  return *static_cast<const TPresentationExpression*>(m_object);
7238 }
7239 
7241 {
7243  return *static_cast<TPresentationExpression*>(m_object);
7244 }
7245 
7247 {
7249  if ( m_choice != e_PresentationExpression || m_object != ptr ) {
7250  ResetSelection();
7251  (m_object = ptr)->AddReference();
7253  }
7254 }
7255 
7256 // helper methods
7257 
7258 // type info
7260 {
7261  SET_INTERNAL_NAME("MsrowExpression", "MathExpression");
7262  SET_CHOICE_MODULE("pubmed_mathml3");
7263  ADD_NAMED_REF_CHOICE_VARIANT("ContExp", m_object, C_ContExp)->SetNotag();
7264  ADD_NAMED_REF_CHOICE_VARIANT("PresentationExpression", m_object, C_PresentationExpression)->SetNotag();
7265  info->CodeVersion(22400);
7266  info->DataSpec(ncbi::EDataSpec::eXSD);
7267 }
7269 
7270 // constructor
7272  : m_choice(e_not_set)
7273 {
7274 }
7275 
7276 // destructor
7278 {
7279  Reset();
7280 }
7281 
7282 
7284 {
7285  if ( m_choice != e_not_set )
7286  ResetSelection();
7287 }
7288 
7290 {
7291  switch ( m_choice ) {
7292  case e_MathExpression:
7293  case e_None:
7294  m_object->RemoveReference();
7295  break;
7296  default:
7297  break;
7298  }
7299  m_choice = e_not_set;
7300 }
7301 
7302 void CMsrowExpression_Base::DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool* pool)
7303 {
7304  switch ( index ) {
7305  case e_MathExpression:
7306  (m_object = new(pool) C_MathExpression())->AddReference();
7307  break;
7308  case e_None:
7309  (m_object = new(pool) ncbi::objects::CNone())->AddReference();
7310  break;
7311  default:
7312  break;
7313  }
7314  m_choice = index;
7315 }
7316 
7317 const char* const CMsrowExpression_Base::sm_SelectionNames[] = {
7318  "not set",
7319  "MathExpression",
7320  "none"
7321 };
7322 
7324 {
7325  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
7326 }
7327 
7329 {
7330  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
7331 }
7332 
7334 {
7336  return *static_cast<const TMathExpression*>(m_object);
7337 }
7338 
7340 {
7342  return *static_cast<TMathExpression*>(m_object);
7343 }
7344 
7346 {
7347  TMathExpression* ptr = &value;
7348  if ( m_choice != e_MathExpression || m_object != ptr ) {
7349  ResetSelection();
7350  (m_object = ptr)->AddReference();
7352  }
7353 }
7354 
7356 {
7358  return *static_cast<const TNone*>(m_object);
7359 }
7360 
7362 {
7364  CMsrowExpression_Base::TNone& value = *static_cast<TNone*>(m_object);
7365  value.SetNone();
7366  return value;
7367 }
7368 
7369 // helper methods
7370 
7371 // type info
7373 {
7374  SET_CHOICE_MODULE("pubmed_mathml3");
7375  SET_NAMESPACE("http://www.w3.org/1998/Math/MathML")->SetNsQualified(false);
7376  ADD_NAMED_REF_CHOICE_VARIANT("MathExpression", m_object, C_MathExpression)->SetNotag();
7377  ADD_NAMED_REF_CHOICE_VARIANT("none", m_object, CNone)->SetNsQualified(true);
7378  info->CodeVersion(22400);
7379  info->DataSpec(ncbi::EDataSpec::eXSD);
7380 }
7382 
7383 // constructor
7385  : m_choice(e_not_set)
7386 {
7387 }
7388 
7389 // destructor
7391 {
7392  Reset();
7393 }
7394 
7395 
7396 
7397 END_objects_SCOPE // namespace ncbi::objects::
7398 
7400 
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
BEGIN_NAMED_BASE_CHOICE_INFO("", CMsrowExpression)
BEGIN_NAMED_CLASS_INFO("", CMsrowExpression_Base::C_MathExpression::C_ContExp::C_Interval_mmlclass)
BEGIN_NAMED_CHOICE_INFO("", CMsrowExpression_Base::C_MathExpression::C_ContExp::C_DeprecatedContExp)
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
@ e_Max
CAbs –.
Definition: Abs.hpp:66
CAnd –.
Definition: And.hpp:66
CApply –.
Definition: Apply.hpp:66
CApprox –.
Definition: Approx.hpp:66
CArccos –.
Definition: Arccos.hpp:66
CArccosh –.
Definition: Arccosh.hpp:66
CArccot –.
Definition: Arccot.hpp:66
CArccoth –.
Definition: Arccoth.hpp:66
CArccsc –.
Definition: Arccsc.hpp:66
CArccsch –.
Definition: Arccsch.hpp:66
CArcsec –.
Definition: Arcsec.hpp:66
CArcsech –.
Definition: Arcsech.hpp:66
CArcsin –.
Definition: Arcsin.hpp:66
CArcsinh –.
Definition: Arcsinh.hpp:66
CArctan –.
Definition: Arctan.hpp:66
CArctanh –.
Definition: Arctanh.hpp:66
CArg –.
Definition: Arg.hpp:66
CBind –.
Definition: Bind.hpp:66
CCard –.
Definition: Card.hpp:66
CCartesianproduct –.
CCbytes –.
Definition: Cbytes.hpp:66
CCeiling –.
Definition: Ceiling.hpp:66
CCerror –.
Definition: Cerror.hpp:66
CCi –.
Definition: Ci.hpp:66
CCn –.
Definition: Cn.hpp:66
CCodomain –.
Definition: Codomain.hpp:66
CComplexes –.
Definition: Complexes.hpp:66
CCompose –.
Definition: Compose.hpp:66
CConjugate –.
Definition: Conjugate.hpp:66
CCos –.
Definition: Cos.hpp:66
CCosh –.
Definition: Cosh.hpp:66
CCot –.
Definition: Cot.hpp:66
CCoth –.
Definition: Coth.hpp:66
CCs –.
Definition: Cs.hpp:66
CCsc –.
Definition: Csc.hpp:66
CCsch –.
Definition: Csch.hpp:66
CCsymbol –.
Definition: Csymbol.hpp:66
CCurl –.
Definition: Curl.hpp:66
CDeclare –.
Definition: Declare.hpp:66
CDeterminant –.
Definition: Determinant.hpp:66
CDiff –.
Definition: Diff.hpp:66
CDivergence –.
Definition: Divergence.hpp:66
CDivide –.
Definition: Divide.hpp:66
CDomain –.
Definition: Domain.hpp:66
CEmptyset –.
Definition: Emptyset.hpp:66
CEq –.
Definition: Eq.hpp:66
CEquivalent –.
Definition: Equivalent.hpp:66
CEulergamma –.
Definition: Eulergamma.hpp:66
CExists –.
Definition: Exists.hpp:66
CExp –.
Definition: Exp.hpp:66
CExponentiale –.
CFactorial –.
Definition: Factorial.hpp:66
CFactorof –.
Definition: Factorof.hpp:66
CFalse –.
Definition: False.hpp:66
CFloor –.
Definition: Floor.hpp:66
CFn –.
Definition: Fn.hpp:66
CForall –.
Definition: Forall.hpp:66
CGcd –.
Definition: Gcd.hpp:66
CGeq –.
Definition: Geq.hpp:66
CGrad –.
Definition: Grad.hpp:66
CGt –.
Definition: Gt.hpp:66
CIdent –.
Definition: Ident.hpp:66
CImage –.
Definition: Image.hpp:66
CImaginary –.
Definition: Imaginary.hpp:66
CImaginaryi –.
Definition: Imaginaryi.hpp:66
CImplies –.
Definition: Implies.hpp:66
CIn –.
Definition: In.hpp:66
CInfinity –.
Definition: Infinity.hpp:66
CInt –.
Definition: Int.hpp:66
CIntegers –.
Definition: Integers.hpp:66
CIntersect –.
Definition: Intersect.hpp:66
CInterval –.
Definition: Interval.hpp:66
CInverse –.
Definition: Inverse.hpp:66
CLambda –.
Definition: Lambda.hpp:66
CLaplacian –.
Definition: Laplacian.hpp:66
CLcm –.
Definition: Lcm.hpp:66
CLeq –.
Definition: Leq.hpp:66
CLimit –.
Definition: Limit.hpp:66
CList –.
Definition: List.hpp:66
CLn –.
Definition: Ln.hpp:66
CLog –.
Definition: Log.hpp:66
CLt –.
Definition: Lt.hpp:66
CMaction –.
Definition: Maction.hpp:66
CMaligngroup –.
Definition: Maligngroup.hpp:66
CMalignmark –.
Definition: Malignmark.hpp:66
CMatrix –.
Definition: Matrix.hpp:66
CMatrixrow –.
Definition: Matrixrow.hpp:66
CMax –.
Definition: Max.hpp:66
CMean –.
Definition: Mean.hpp:66
CMedian –.
Definition: Median.hpp:66
CMenclose –.
Definition: Menclose.hpp:66
CMerror –.
Definition: Merror.hpp:66
CMfenced –.
Definition: Mfenced.hpp:66
CMfrac –.
Definition: Mfrac.hpp:66
CMi –.
Definition: Mi.hpp:66
CMin –.
Definition: Min.hpp:66
CMinus –.
Definition: Minus.hpp:66
CMlongdiv –.
Definition: Mlongdiv.hpp:66
CMmultiscripts –.
CMn –.
Definition: Mn.hpp:66
CMo –.
Definition: Mo.hpp:66
CMode –.
Definition: Mode.hpp:66
CMoment –.
Definition: Moment.hpp:66
CMover –.
Definition: Mover.hpp:66
CMpadded –.
Definition: Mpadded.hpp:66
CMphantom –.
Definition: Mphantom.hpp:66
CMroot –.
Definition: Mroot.hpp:66
CMrow –.
Definition: Mrow.hpp:66
CMs –.
Definition: Ms.hpp:66
CMspace –.
Definition: Mspace.hpp:66
CMsqrt –.
Definition: Msqrt.hpp:66
CMsrowExpression –.
CMstack –.
Definition: Mstack.hpp:66
CMstyle –.
Definition: Mstyle.hpp:66
CMsub –.
Definition: Msub.hpp:66
CMsubsup –.
Definition: Msubsup.hpp:66
CMsup –.
Definition: Msup.hpp:66
CMtable –.
Definition: Mtable.hpp:66
CMtext –.
Definition: Mtext.hpp:66
CMunder –.
Definition: Munder.hpp:66
CMunderover –.
Definition: Munderover.hpp:66
CNaturalnumbers –.
CNeq –.
Definition: Neq.hpp:66
CNone –.
Definition: None.hpp:64
CNot –.
Definition: Not.hpp:66
CNotanumber –.
Definition: Notanumber.hpp:66
CNotin –.
Definition: Notin.hpp:66
CNotprsubset –.
Definition: Notprsubset.hpp:66
CNotsubset –.
Definition: Notsubset.hpp:66
COr –.
Definition: Or.hpp:66
COuterproduct –.
CPartialdiff –.
Definition: Partialdiff.hpp:66
CPi –.
Definition: Pi.hpp:66
CPiecewise –.
Definition: Piecewise.hpp:66
CPlus –.
Definition: Plus.hpp:66
CPower –.
Definition: Power.hpp:66
CPrimes –.
Definition: Primes.hpp:66
CProduct –.
Definition: Product.hpp:66
CPrsubset –.
Definition: Prsubset.hpp:66
CQuotient –.
Definition: Quotient.hpp:66
CRationals –.
Definition: Rationals.hpp:66
CReal –.
Definition: Real.hpp:66
CReals –.
Definition: Reals.hpp:66
CReln –.
Definition: Reln.hpp:66
CRem –.
Definition: Rem.hpp:66
CRoot –.
Definition: Root.hpp:66
CScalarproduct –.
CSdev –.
Definition: Sdev.hpp:66
CSec –.
Definition: Sec.hpp:66
CSech –.
Definition: Sech.hpp:66
CSelector –.
Definition: Selector.hpp:66
CSemantics –.
Definition: Semantics.hpp:66
CSet –.
Definition: Set.hpp:66
CSetdiff –.
Definition: Setdiff.hpp:66
CShare –.
Definition: Share.hpp:66
CSin –.
Definition: Sin.hpp:66
CSinh –.
Definition: Sinh.hpp:66
CSubset –.
Definition: Subset.hpp:66
CSum –.
Definition: Sum.hpp:66
CTan –.
Definition: Tan.hpp:66
CTanh –.
Definition: Tanh.hpp:66
CTendsto –.
Definition: Tendsto.hpp:66
CTimes –.
Definition: Times.hpp:66
CTranspose –.
Definition: Transpose.hpp:66
CTrue –.
Definition: True.hpp:66
CUnion –.
Definition: Union.hpp:66
CVariance –.
Definition: Variance.hpp:66
CVector –.
Definition: Vector.hpp:66
CVectorproduct –.
CXor –.
Definition: Xor.hpp:66
string
Definition: cgiapp.hpp:687
#define DIAG_COMPILE_INFO
Make compile time diagnostic information object to use in CNcbiDiag and CException.
Definition: ncbidiag.hpp:170
#define ADD_NAMED_REF_MEMBER(MemberAlias, MemberName, ClassName)
Definition: serialimpl.hpp:357
#define END_CLASS_INFO
Definition: serialimpl.hpp:456
#define ADD_NAMED_REF_CHOICE_VARIANT(MemberAlias, MemberName, ClassName)
Definition: serialimpl.hpp:400
#define SET_CLASS_MODULE(ModuleName)
Definition: serialimpl.hpp:444
#define SET_NAMESPACE(name)
Definition: serialimpl.hpp:450
#define END_CHOICE_INFO
Definition: serialimpl.hpp:506
#define SET_INTERNAL_NAME(OwnerName, MemberName)
Definition: serialimpl.hpp:447
#define SET_CHOICE_MODULE(ModuleName)
Definition: serialimpl.hpp:500
@ eDoNotResetVariant
Definition: serialbase.hpp:78
void AddReference(void) const
Add reference to object.
Definition: ncbiobj.hpp:489
bool IsAllocatedInPool(void) const THROWS_NONE
Check if object is allocated in memory pool (not system heap)
Definition: ncbiobj.hpp:461
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
TProduct_mmlclass & SetProduct_mmlclass(void)
Select the variant.
const TUnary_veccalc_mmlclass & GetUnary_veccalc_mmlclass(void) const
Get the variant data.
const TMsub & GetMsub(void) const
Get the variant data.
virtual void Reset(void)
Reset the whole object.
Definition: Int_.cpp:147
TNary_setlist_constructor_mmlclass & SetNary_setlist_constructor_mmlclass(void)
Select the variant.
TUnary_logical_mmlclass & SetUnary_logical_mmlclass(void)
Select the variant.
TSelector & SetSelector(void)
Assign a value to Selector data member.
TNary_set_mmlclass & SetNary_set_mmlclass(void)
Select the variant.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
TInterval_mmlclass & SetInterval_mmlclass(void)
Select the variant.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
const TNary_stats_mmlclass & GetNary_stats_mmlclass(void) const
Get the variant data.
const TConstant_arith_mmlclass & GetConstant_arith_mmlclass(void) const
Get the variant data.
const TMaction & GetMaction(void) const
Get the variant data.
const TFactorial & GetFactorial(void) const
Get the variant data.
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
const TMlongdiv & GetMlongdiv(void) const
Get the variant data.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
const TNary_set_reln_mmlclass & GetNary_set_reln_mmlclass(void) const
Get the variant data.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
const TMtable & GetMtable(void) const
Get the variant data.
NCBI_NS_NCBI::CSerialObject * m_object
const TMphantom & GetMphantom(void) const
Get the variant data.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
void ResetSelection(void)
Reset the selection (set it to e_not_set).
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
TCompose & SetCompose(void)
Assign a value to Compose data member.
const TTokenExpression & GetTokenExpression(void) const
Get the variant data.
TNary_arith_mmlclass & SetNary_arith_mmlclass(void)
Select the variant.
const TMfenced & GetMfenced(void) const
Get the variant data.
const TCbytes & GetCbytes(void) const
Get the variant data.
const TCerror & GetCerror(void) const
Get the variant data.
TPartialdiff & SetPartialdiff(void)
Assign a value to Partialdiff data member.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
TNary_set_reln_mmlclass & SetNary_set_reln_mmlclass(void)
Select the variant.
const TCsymbol & GetCsymbol(void) const
Get the variant data.
TSum_mmlclass & SetSum_mmlclass(void)
Select the variant.
const TNary_set_mmlclass & GetNary_set_mmlclass(void) const
Get the variant data.
void Reset(void)
Reset the whole object.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
TNone & SetNone(void)
Select the variant.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
TQuantifier_mmlclass & SetQuantifier_mmlclass(void)
Select the variant.
const TMunderover & GetMunderover(void) const
Get the variant data.
const TMfrac & GetMfrac(void) const
Get the variant data.
const TUnary_functional_mmlclass & GetUnary_functional_mmlclass(void) const
Get the variant data.
TCsymbol & SetCsymbol(void)
Select the variant.
TDeprecatedContExp & SetDeprecatedContExp(void)
Select the variant.
TConstant_arith_mmlclass & SetConstant_arith_mmlclass(void)
Select the variant.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
virtual void Reset(void)
Reset the whole object.
Definition: Product_.cpp:147
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
const TSum_mmlclass & GetSum_mmlclass(void) const
Get the variant data.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
void ResetSelection(void)
Reset the selection (set it to e_not_set).
const TUnary_linalg_mmlclass & GetUnary_linalg_mmlclass(void) const
Get the variant data.
virtual void Reset(void)
Reset the whole object.
Definition: Limit_.cpp:147
NCBI_NS_NCBI::CSerialObject * m_object
const TMathExpression & GetMathExpression(void) const
Get the variant data.
const TConstant_set_mmlclass & GetConstant_set_mmlclass(void) const
Get the variant data.
const TComplexes & GetComplexes(void) const
Get the variant data.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
TPresentationExpression & SetPresentationExpression(void)
Select the variant.
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
TInterval & SetInterval(void)
Assign a value to Interval data member.
const TVectorproduct & GetVectorproduct(void) const
Get the variant data.
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
void Select(E_Choice index, EResetVariant reset=eDoResetVariant)
Select the requested variant if needed.
const TIntersect & GetIntersect(void) const
Get the variant data.
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
const TImaginary & GetImaginary(void) const
Get the variant data.
const TOuterproduct & GetOuterproduct(void) const
Get the variant data.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
const TNone & GetNone(void) const
Get the variant data.
const TQuantifier_mmlclass & GetQuantifier_mmlclass(void) const
Get the variant data.
const TDivergence & GetDivergence(void) const
Get the variant data.
TUnary_elementary_mmlclass & SetUnary_elementary_mmlclass(void)
Select the variant.
const TNary_logical_mmlclass & GetNary_logical_mmlclass(void) const
Get the variant data.
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
const TEquivalent & GetEquivalent(void) const
Get the variant data.
TBinary_set_mmlclass & SetBinary_set_mmlclass(void)
Select the variant.
const TUnary_arith_mmlclass & GetUnary_arith_mmlclass(void) const
Get the variant data.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
bool IsSetInt(void) const
Check if a value has been assigned to Int data member.
static const char *const sm_SelectionNames[]
bool IsSetDiff(void) const
Check if a value has been assigned to Diff data member.
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
const TUnary_logical_mmlclass & GetUnary_logical_mmlclass(void) const
Get the variant data.
const TInt_mmlclass & GetInt_mmlclass(void) const
Get the variant data.
const TDifferential_Operator_mmlclass & GetDifferential_Operator_mmlclass(void) const
Get the variant data.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
const TLambda_mmlclass & GetLambda_mmlclass(void) const
Get the variant data.
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
void Select(E_Choice index, EResetVariant reset=eDoResetVariant)
Select the requested variant if needed.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
void ResetSelection(void)
Reset the selection (set it to e_not_set).
const TMmultiscripts & GetMmultiscripts(void) const
Get the variant data.
virtual void Reset(void)
Reset the whole object.
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
const TNotprsubset & GetNotprsubset(void) const
Get the variant data.
bool IsSetNot(void) const
Check if a value has been assigned to Not data member.
const TMstyle & GetMstyle(void) const
Get the variant data.
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
const TTranspose & GetTranspose(void) const
Get the variant data.
TInt_mmlclass & SetInt_mmlclass(void)
Select the variant.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
const TNary_constructor_mmlclass & GetNary_constructor_mmlclass(void) const
Get the variant data.
const TBinary_logical_mmlclass & GetBinary_logical_mmlclass(void) const
Get the variant data.
const TDeclare & GetDeclare(void) const
Get the variant data.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
const TCs & GetCs(void) const
Get the variant data.
const TMpadded & GetMpadded(void) const
Get the variant data.
TBinary_linalg_mmlclass & SetBinary_linalg_mmlclass(void)
Select the variant.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
const TVariance & GetVariance(void) const
Get the variant data.
virtual void Reset(void)
Reset the whole object.
Definition: Selector_.cpp:147
const TBinary_set_mmlclass & GetBinary_set_mmlclass(void) const
Get the variant data.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
void ResetSelection(void)
Reset the selection (set it to e_not_set).
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
const TMerror & GetMerror(void) const
Get the variant data.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
void ResetSelection(void)
Reset the selection (set it to e_not_set).
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
TTokenExpression & SetTokenExpression(void)
Select the variant.
void DoSelect(E_Choice index, CObjectMemoryPool *pool=0)
const TBinary_arith_mmlclass & GetBinary_arith_mmlclass(void) const
Get the variant data.
void DoSelect(E_Choice index, CObjectMemoryPool *pool=0)
TProduct & SetProduct(void)
Assign a value to Product data member.
virtual void Reset(void)
Reset the whole object.
Definition: Compose_.cpp:147
TBinary_arith_mmlclass & SetBinary_arith_mmlclass(void)
Select the variant.
virtual void Reset(void)
Reset the whole object.
const TPiecewise & GetPiecewise(void) const
Get the variant data.
TLimit_mmlclass & SetLimit_mmlclass(void)
Select the variant.
const TNotanumber & GetNotanumber(void) const
Get the variant data.
const TPresentationExpression & GetPresentationExpression(void) const
Get the variant data.
virtual void Reset(void)
Reset the whole object.
Definition: Lambda_.cpp:188
const TRationals & GetRationals(void) const
Get the variant data.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
bool IsSetPartialdiff(void) const
Check if a value has been assigned to Partialdiff data member.
const TImaginaryi & GetImaginaryi(void) const
Get the variant data.
TPartialdiff_mmlclass & SetPartialdiff_mmlclass(void)
Select the variant.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
TUnary_veccalc_mmlclass & SetUnary_veccalc_mmlclass(void)
Select the variant.
const TSemantics & GetSemantics(void) const
Get the variant data.
TUnary_set_mmlclass & SetUnary_set_mmlclass(void)
Select the variant.
bool IsSetLimit(void) const
Check if a value has been assigned to Limit data member.
const TLimit_mmlclass & GetLimit_mmlclass(void) const
Get the variant data.
const TCn & GetCn(void) const
Get the variant data.
virtual void Reset(void)
Reset the whole object.
Definition: Diff_.cpp:147
const TNary_reln_mmlclass & GetNary_reln_mmlclass(void) const
Get the variant data.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
const TContExp & GetContExp(void) const
Get the variant data.
TMathExpression & SetMathExpression(void)
Select the variant.
TDifferential_Operator_mmlclass & SetDifferential_Operator_mmlclass(void)
Select the variant.
void Select(E_Choice index, EResetVariant reset=eDoResetVariant)
Select the requested variant if needed.
const TMrow & GetMrow(void) const
Get the variant data.
const TMsubsup & GetMsubsup(void) const
Get the variant data.
TBinary_logical_mmlclass & SetBinary_logical_mmlclass(void)
Select the variant.
TNary_minmax_mmlclass & SetNary_minmax_mmlclass(void)
Select the variant.
const TMroot & GetMroot(void) const
Get the variant data.
const TCi & GetCi(void) const
Get the variant data.
void Select(E_Choice index, EResetVariant reset=eDoResetVariant)
Select the requested variant if needed.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
const TMover & GetMover(void) const
Get the variant data.
const TNary_arith_mmlclass & GetNary_arith_mmlclass(void) const
Get the variant data.
const TBinary_linalg_mmlclass & GetBinary_linalg_mmlclass(void) const
Get the variant data.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
const TNary_minmax_mmlclass & GetNary_minmax_mmlclass(void) const
Get the variant data.
const TNary_functional_mmlclass & GetNary_functional_mmlclass(void) const
Get the variant data.
bool IsSetSum(void) const
Check if a value has been assigned to Sum data member.
const TScalarproduct & GetScalarproduct(void) const
Get the variant data.
const TDeterminant & GetDeterminant(void) const
Get the variant data.
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
TNary_stats_mmlclass & SetNary_stats_mmlclass(void)
Select the variant.
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
const TMsqrt & GetMsqrt(void) const
Get the variant data.
const TNaturalnumbers & GetNaturalnumbers(void) const
Get the variant data.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
const TMenclose & GetMenclose(void) const
Get the variant data.
const TApply & GetApply(void) const
Get the variant data.
const TBinary_reln_mmlclass & GetBinary_reln_mmlclass(void) const
Get the variant data.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
TNary_constructor_mmlclass & SetNary_constructor_mmlclass(void)
Select the variant.
const TMunder & GetMunder(void) const
Get the variant data.
const TEulergamma & GetEulergamma(void) const
Get the variant data.
TContExp & SetContExp(void)
Select the variant.
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
void ResetSelection(void)
Reset the selection (set it to e_not_set).
TNary_logical_mmlclass & SetNary_logical_mmlclass(void)
Select the variant.
const TPartialdiff_mmlclass & GetPartialdiff_mmlclass(void) const
Get the variant data.
TMalignExpression & SetMalignExpression(void)
Select the variant.
const TNary_linalg_mmlclass & GetNary_linalg_mmlclass(void) const
Get the variant data.
const TMsup & GetMsup(void) const
Get the variant data.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
bool IsSetCompose(void) const
Check if a value has been assigned to Compose data member.
const TMstack & GetMstack(void) const
Get the variant data.
TLimit & SetLimit(void)
Assign a value to Limit data member.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
const TBind & GetBind(void) const
Get the variant data.
TUnary_functional_mmlclass & SetUnary_functional_mmlclass(void)
Select the variant.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
TBinary_reln_mmlclass & SetBinary_reln_mmlclass(void)
Select the variant.
void DoSelect(E_Choice index, CObjectMemoryPool *pool=0)
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
TUnary_arith_mmlclass & SetUnary_arith_mmlclass(void)
Select the variant.
const TUnary_set_mmlclass & GetUnary_set_mmlclass(void) const
Get the variant data.
bool IsSetProduct(void) const
Check if a value has been assigned to Product data member.
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
static const char *const sm_SelectionNames[]
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
virtual void ResetSelection(void)
Reset the selection (set it to e_not_set).
virtual void Reset(void)
Reset the whole object.
Definition: Sum_.cpp:147
const TProduct_mmlclass & GetProduct_mmlclass(void) const
Get the variant data.
const TExponentiale & GetExponentiale(void) const
Get the variant data.
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
virtual void Reset(void)
Reset the whole object.
Definition: Interval_.cpp:170
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
virtual void Reset(void)
Reset the whole object.
Definition: Card_.cpp:147
bool IsSetCard(void) const
Check if a value has been assigned to Card data member.
TLambda & SetLambda(void)
Assign a value to Lambda data member.
TPiecewise & SetPiecewise(void)
Select the variant.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
const TNary_setlist_constructor_mmlclass & GetNary_setlist_constructor_mmlclass(void) const
Get the variant data.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
void DoSelect(E_Choice index, CObjectMemoryPool *pool=0)
bool IsSetSelector(void) const
Check if a value has been assigned to Selector data member.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
TConstant_set_mmlclass & SetConstant_set_mmlclass(void)
Select the variant.
TNary_linalg_mmlclass & SetNary_linalg_mmlclass(void)
Select the variant.
const TUnary_elementary_mmlclass & GetUnary_elementary_mmlclass(void) const
Get the variant data.
TSemantics & SetSemantics(void)
Select the variant.
TNary_reln_mmlclass & SetNary_reln_mmlclass(void)
Select the variant.
TNary_functional_mmlclass & SetNary_functional_mmlclass(void)
Select the variant.
virtual ~CMsrowExpression_Base(void)
const TInterval_mmlclass & GetInterval_mmlclass(void) const
Get the variant data.
TUnary_linalg_mmlclass & SetUnary_linalg_mmlclass(void)
Select the variant.
TLambda_mmlclass & SetLambda_mmlclass(void)
Select the variant.
const TShare & GetShare(void) const
Get the variant data.
const TConjugate & GetConjugate(void) const
Get the variant data.
const TMalignExpression & GetMalignExpression(void) const
Get the variant data.
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
const TCartesianproduct & GetCartesianproduct(void) const
Get the variant data.
virtual void Reset(void)
Reset the whole object.
Definition: Not_.cpp:147
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
const TDeprecatedContExp & GetDeprecatedContExp(void) const
Get the variant data.
const TNotsubset & GetNotsubset(void) const
Get the variant data.
@ e_not_set
No variant selected.
User-defined methods of the data storage class.
static MDB_envinfo info
Definition: mdb_load.c:37
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1227
User-defined methods of the data storage class.
User-defined methods of the data storage class.
Modified on Sat May 18 11:36:08 2024 by modify_doxy.py rev. 669887