NCBI C++ ToolKit
ImpliedMrow_.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
212 
213 BEGIN_objects_SCOPE // namespace ncbi::objects::
214 
215 
216 // generated classes
217 
219 {
220  if ( m_choice != e_not_set )
221  ResetSelection();
222 }
223 
225 {
226  switch ( m_choice ) {
227  case e_Reln:
228  case e_Fn:
229  case e_Declare:
230  m_object->RemoveReference();
231  break;
232  default:
233  break;
234  }
236 }
237 
238 void CImpliedMrow_Base::C_E::C_ContExp::C_DeprecatedContExp::DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool* pool)
239 {
240  switch ( index ) {
241  case e_Reln:
242  (m_object = new(pool) ncbi::objects::CReln())->AddReference();
243  break;
244  case e_Fn:
245  (m_object = new(pool) ncbi::objects::CFn())->AddReference();
246  break;
247  case e_Declare:
248  (m_object = new(pool) ncbi::objects::CDeclare())->AddReference();
249  break;
250  default:
251  break;
252  }
253  m_choice = index;
254 }
255 
257  "not set",
258  "reln",
259  "fn",
260  "declare"
261 };
262 
264 {
265  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
266 }
267 
269 {
270  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
271 }
272 
274 {
275  CheckSelected(e_Reln);
276  return *static_cast<const TReln*>(m_object);
277 }
278 
280 {
282  return *static_cast<TReln*>(m_object);
283 }
284 
286 {
287  TReln* ptr = &value;
288  if ( m_choice != e_Reln || m_object != ptr ) {
289  ResetSelection();
290  (m_object = ptr)->AddReference();
291  m_choice = e_Reln;
292  }
293 }
294 
296 {
297  CheckSelected(e_Fn);
298  return *static_cast<const TFn*>(m_object);
299 }
300 
302 {
304  return *static_cast<TFn*>(m_object);
305 }
306 
308 {
309  TFn* ptr = &value;
310  if ( m_choice != e_Fn || m_object != ptr ) {
311  ResetSelection();
312  (m_object = ptr)->AddReference();
313  m_choice = e_Fn;
314  }
315 }
316 
318 {
319  CheckSelected(e_Declare);
320  return *static_cast<const TDeclare*>(m_object);
321 }
322 
324 {
326  return *static_cast<TDeclare*>(m_object);
327 }
328 
330 {
331  TDeclare* ptr = &value;
332  if ( m_choice != e_Declare || m_object != ptr ) {
333  ResetSelection();
334  (m_object = ptr)->AddReference();
335  m_choice = e_Declare;
336  }
337 }
338 
339 // helper methods
340 
341 // type info
343 {
344  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp", "DeprecatedContExp");
345  SET_CHOICE_MODULE("pubmed_mathml3");
346  ADD_NAMED_REF_CHOICE_VARIANT("reln", m_object, CReln)->SetNsQualified(true);
347  ADD_NAMED_REF_CHOICE_VARIANT("fn", m_object, CFn)->SetNsQualified(true);
348  ADD_NAMED_REF_CHOICE_VARIANT("declare", m_object, CDeclare)->SetNsQualified(true);
349  info->CodeVersion(22400);
350  info->DataSpec(ncbi::EDataSpec::eXSD);
351 }
353 
354 // constructor
357 {
358 }
359 
360 // destructor
362 {
363  Reset();
364 }
365 
366 
368 {
369  if ( !m_Interval ) {
370  m_Interval.Reset(new TInterval());
371  return;
372  }
373  (*m_Interval).Reset();
374 }
375 
377 {
378  m_Interval.Reset(&value);
379 }
380 
382 {
383  ResetInterval();
384 }
385 
387 {
388  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.interval", "mmlclass");
389  SET_CLASS_MODULE("pubmed_mathml3");
390  ADD_NAMED_REF_MEMBER("interval", m_Interval, CInterval)->SetNsQualified(true);
391  info->RandomOrder();
392  info->CodeVersion(22400);
393  info->DataSpec(ncbi::EDataSpec::eXSD);
394 }
396 
397 // constructor
399 {
400  memset(m_set_State,0,sizeof(m_set_State));
401  if ( !IsAllocatedInPool() ) {
402  ResetInterval();
403  }
404 }
405 
406 // destructor
408 {
409 }
410 
411 
413 {
414  if ( m_choice != e_not_set )
415  ResetSelection();
416 }
417 
419 {
420  switch ( m_choice ) {
421  case e_Inverse:
422  case e_Ident:
423  case e_Domain:
424  case e_Codomain:
425  case e_Image:
426  case e_Ln:
427  case e_Log:
428  case e_Moment:
429  m_object->RemoveReference();
430  break;
431  default:
432  break;
433  }
435 }
436 
438 {
439  switch ( index ) {
440  case e_Inverse:
441  (m_object = new(pool) ncbi::objects::CInverse())->AddReference();
442  break;
443  case e_Ident:
444  (m_object = new(pool) ncbi::objects::CIdent())->AddReference();
445  break;
446  case e_Domain:
447  (m_object = new(pool) ncbi::objects::CDomain())->AddReference();
448  break;
449  case e_Codomain:
450  (m_object = new(pool) ncbi::objects::CCodomain())->AddReference();
451  break;
452  case e_Image:
453  (m_object = new(pool) ncbi::objects::CImage())->AddReference();
454  break;
455  case e_Ln:
456  (m_object = new(pool) ncbi::objects::CLn())->AddReference();
457  break;
458  case e_Log:
459  (m_object = new(pool) ncbi::objects::CLog())->AddReference();
460  break;
461  case e_Moment:
462  (m_object = new(pool) ncbi::objects::CMoment())->AddReference();
463  break;
464  default:
465  break;
466  }
467  m_choice = index;
468 }
469 
471  "not set",
472  "inverse",
473  "ident",
474  "domain",
475  "codomain",
476  "image",
477  "ln",
478  "log",
479  "moment"
480 };
481 
483 {
484  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
485 }
486 
488 {
489  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
490 }
491 
493 {
494  CheckSelected(e_Inverse);
495  return *static_cast<const TInverse*>(m_object);
496 }
497 
499 {
502  value.SetInverse();
503  return value;
504 }
505 
507 {
508  CheckSelected(e_Ident);
509  return *static_cast<const TIdent*>(m_object);
510 }
511 
513 {
516  value.SetIdent();
517  return value;
518 }
519 
521 {
522  CheckSelected(e_Domain);
523  return *static_cast<const TDomain*>(m_object);
524 }
525 
527 {
530  value.SetDomain();
531  return value;
532 }
533 
535 {
536  CheckSelected(e_Codomain);
537  return *static_cast<const TCodomain*>(m_object);
538 }
539 
541 {
544  value.SetCodomain();
545  return value;
546 }
547 
549 {
550  CheckSelected(e_Image);
551  return *static_cast<const TImage*>(m_object);
552 }
553 
555 {
558  value.SetImage();
559  return value;
560 }
561 
563 {
564  CheckSelected(e_Ln);
565  return *static_cast<const TLn*>(m_object);
566 }
567 
569 {
572  value.SetLn();
573  return value;
574 }
575 
577 {
578  CheckSelected(e_Log);
579  return *static_cast<const TLog*>(m_object);
580 }
581 
583 {
586  value.SetLog();
587  return value;
588 }
589 
591 {
592  CheckSelected(e_Moment);
593  return *static_cast<const TMoment*>(m_object);
594 }
595 
597 {
600  value.SetMoment();
601  return value;
602 }
603 
604 // helper methods
605 
606 // type info
608 {
609  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.unary-functional", "mmlclass");
610  SET_CHOICE_MODULE("pubmed_mathml3");
611  ADD_NAMED_REF_CHOICE_VARIANT("inverse", m_object, CInverse)->SetNsQualified(true);
612  ADD_NAMED_REF_CHOICE_VARIANT("ident", m_object, CIdent)->SetNsQualified(true);
613  ADD_NAMED_REF_CHOICE_VARIANT("domain", m_object, CDomain)->SetNsQualified(true);
614  ADD_NAMED_REF_CHOICE_VARIANT("codomain", m_object, CCodomain)->SetNsQualified(true);
615  ADD_NAMED_REF_CHOICE_VARIANT("image", m_object, CImage)->SetNsQualified(true);
616  ADD_NAMED_REF_CHOICE_VARIANT("ln", m_object, CLn)->SetNsQualified(true);
617  ADD_NAMED_REF_CHOICE_VARIANT("log", m_object, CLog)->SetNsQualified(true);
618  ADD_NAMED_REF_CHOICE_VARIANT("moment", m_object, CMoment)->SetNsQualified(true);
619  info->CodeVersion(22400);
620  info->DataSpec(ncbi::EDataSpec::eXSD);
621 }
623 
624 // constructor
627 {
628 }
629 
630 // destructor
632 {
633  Reset();
634 }
635 
636 
638 {
639  if ( !m_Lambda ) {
640  m_Lambda.Reset(new TLambda());
641  return;
642  }
643  (*m_Lambda).Reset();
644 }
645 
647 {
648  m_Lambda.Reset(&value);
649 }
650 
652 {
653  ResetLambda();
654 }
655 
657 {
658  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.lambda", "mmlclass");
659  SET_CLASS_MODULE("pubmed_mathml3");
660  ADD_NAMED_REF_MEMBER("lambda", m_Lambda, CLambda)->SetNsQualified(true);
661  info->RandomOrder();
662  info->CodeVersion(22400);
663  info->DataSpec(ncbi::EDataSpec::eXSD);
664 }
666 
667 // constructor
669 {
670  memset(m_set_State,0,sizeof(m_set_State));
671  if ( !IsAllocatedInPool() ) {
672  ResetLambda();
673  }
674 }
675 
676 // destructor
678 {
679 }
680 
681 
683 {
684  return m_Compose ? m_Compose->IsSetCompose() : false;
685 }
686 
688 {
689  if ( !m_Compose ) {
690  m_Compose.Reset(new TCompose());
691  return;
692  }
693  (*m_Compose).Reset();
694 }
695 
697 {
698  m_Compose.Reset(&value);
699 }
700 
702 {
703  if ( !m_Compose ) {
704  ResetCompose();
705  }
706  m_Compose->SetCompose();
707  return (*m_Compose);
708 }
709 
711 {
712  ResetCompose();
713 }
714 
716 {
717  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.nary-functional", "mmlclass");
718  SET_CLASS_MODULE("pubmed_mathml3");
719  ADD_NAMED_REF_MEMBER("compose", m_Compose, CCompose)->SetNsQualified(true);
720  info->RandomOrder();
721  info->CodeVersion(22400);
722  info->DataSpec(ncbi::EDataSpec::eXSD);
723 }
725 
726 // constructor
728 {
729  memset(m_set_State,0,sizeof(m_set_State));
730  if ( !IsAllocatedInPool() ) {
731  ResetCompose();
732  }
733 }
734 
735 // destructor
737 {
738 }
739 
740 
742 {
743  if ( m_choice != e_not_set )
744  ResetSelection();
745 }
746 
748 {
749  switch ( m_choice ) {
750  case e_Quotient:
751  case e_Divide:
752  case e_Minus:
753  case e_Power:
754  case e_Rem:
755  case e_Root:
756  m_object->RemoveReference();
757  break;
758  default:
759  break;
760  }
762 }
763 
764 void CImpliedMrow_Base::C_E::C_ContExp::C_Binary_arith_mmlclass::DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool* pool)
765 {
766  switch ( index ) {
767  case e_Quotient:
768  (m_object = new(pool) ncbi::objects::CQuotient())->AddReference();
769  break;
770  case e_Divide:
771  (m_object = new(pool) ncbi::objects::CDivide())->AddReference();
772  break;
773  case e_Minus:
774  (m_object = new(pool) ncbi::objects::CMinus())->AddReference();
775  break;
776  case e_Power:
777  (m_object = new(pool) ncbi::objects::CPower())->AddReference();
778  break;
779  case e_Rem:
780  (m_object = new(pool) ncbi::objects::CRem())->AddReference();
781  break;
782  case e_Root:
783  (m_object = new(pool) ncbi::objects::CRoot())->AddReference();
784  break;
785  default:
786  break;
787  }
788  m_choice = index;
789 }
790 
792  "not set",
793  "quotient",
794  "divide",
795  "minus",
796  "power",
797  "rem",
798  "root"
799 };
800 
802 {
803  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
804 }
805 
807 {
808  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
809 }
810 
812 {
813  CheckSelected(e_Quotient);
814  return *static_cast<const TQuotient*>(m_object);
815 }
816 
818 {
821  value.SetQuotient();
822  return value;
823 }
824 
826 {
827  CheckSelected(e_Divide);
828  return *static_cast<const TDivide*>(m_object);
829 }
830 
832 {
835  value.SetDivide();
836  return value;
837 }
838 
840 {
841  CheckSelected(e_Minus);
842  return *static_cast<const TMinus*>(m_object);
843 }
844 
846 {
849  value.SetMinus();
850  return value;
851 }
852 
854 {
855  CheckSelected(e_Power);
856  return *static_cast<const TPower*>(m_object);
857 }
858 
860 {
863  value.SetPower();
864  return value;
865 }
866 
868 {
869  CheckSelected(e_Rem);
870  return *static_cast<const TRem*>(m_object);
871 }
872 
874 {
877  value.SetRem();
878  return value;
879 }
880 
882 {
883  CheckSelected(e_Root);
884  return *static_cast<const TRoot*>(m_object);
885 }
886 
888 {
891  value.SetRoot();
892  return value;
893 }
894 
895 // helper methods
896 
897 // type info
899 {
900  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.binary-arith", "mmlclass");
901  SET_CHOICE_MODULE("pubmed_mathml3");
902  ADD_NAMED_REF_CHOICE_VARIANT("quotient", m_object, CQuotient)->SetNsQualified(true);
903  ADD_NAMED_REF_CHOICE_VARIANT("divide", m_object, CDivide)->SetNsQualified(true);
904  ADD_NAMED_REF_CHOICE_VARIANT("minus", m_object, CMinus)->SetNsQualified(true);
905  ADD_NAMED_REF_CHOICE_VARIANT("power", m_object, CPower)->SetNsQualified(true);
906  ADD_NAMED_REF_CHOICE_VARIANT("rem", m_object, CRem)->SetNsQualified(true);
907  ADD_NAMED_REF_CHOICE_VARIANT("root", m_object, CRoot)->SetNsQualified(true);
908  info->CodeVersion(22400);
909  info->DataSpec(ncbi::EDataSpec::eXSD);
910 }
912 
913 // constructor
916 {
917 }
918 
919 // destructor
921 {
922  Reset();
923 }
924 
925 
927 {
928  if ( m_choice != e_not_set )
929  ResetSelection();
930 }
931 
933 {
934  switch ( m_choice ) {
935  case e_Factorial:
936  case e_Abs:
937  case e_Conjugate:
938  case e_Arg:
939  case e_Real:
940  case e_Imaginary:
941  case e_Floor:
942  case e_Ceiling:
943  case e_Exp:
944  m_object->RemoveReference();
945  break;
946  default:
947  break;
948  }
950 }
951 
952 void CImpliedMrow_Base::C_E::C_ContExp::C_Unary_arith_mmlclass::DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool* pool)
953 {
954  switch ( index ) {
955  case e_Factorial:
956  (m_object = new(pool) ncbi::objects::CFactorial())->AddReference();
957  break;
958  case e_Abs:
959  (m_object = new(pool) ncbi::objects::CAbs())->AddReference();
960  break;
961  case e_Conjugate:
962  (m_object = new(pool) ncbi::objects::CConjugate())->AddReference();
963  break;
964  case e_Arg:
965  (m_object = new(pool) ncbi::objects::CArg())->AddReference();
966  break;
967  case e_Real:
968  (m_object = new(pool) ncbi::objects::CReal())->AddReference();
969  break;
970  case e_Imaginary:
971  (m_object = new(pool) ncbi::objects::CImaginary())->AddReference();
972  break;
973  case e_Floor:
974  (m_object = new(pool) ncbi::objects::CFloor())->AddReference();
975  break;
976  case e_Ceiling:
977  (m_object = new(pool) ncbi::objects::CCeiling())->AddReference();
978  break;
979  case e_Exp:
980  (m_object = new(pool) ncbi::objects::CExp())->AddReference();
981  break;
982  default:
983  break;
984  }
985  m_choice = index;
986 }
987 
989  "not set",
990  "factorial",
991  "abs",
992  "conjugate",
993  "arg",
994  "real",
995  "imaginary",
996  "floor",
997  "ceiling",
998  "exp"
999 };
1000 
1002 {
1003  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1004 }
1005 
1007 {
1008  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1009 }
1010 
1012 {
1013  CheckSelected(e_Factorial);
1014  return *static_cast<const TFactorial*>(m_object);
1015 }
1016 
1018 {
1021  value.SetFactorial();
1022  return value;
1023 }
1024 
1026 {
1027  CheckSelected(e_Abs);
1028  return *static_cast<const TAbs*>(m_object);
1029 }
1030 
1032 {
1035  value.SetAbs();
1036  return value;
1037 }
1038 
1040 {
1041  CheckSelected(e_Conjugate);
1042  return *static_cast<const TConjugate*>(m_object);
1043 }
1044 
1046 {
1049  value.SetConjugate();
1050  return value;
1051 }
1052 
1054 {
1055  CheckSelected(e_Arg);
1056  return *static_cast<const TArg*>(m_object);
1057 }
1058 
1060 {
1063  value.SetArg();
1064  return value;
1065 }
1066 
1068 {
1069  CheckSelected(e_Real);
1070  return *static_cast<const TReal*>(m_object);
1071 }
1072 
1074 {
1077  value.SetReal();
1078  return value;
1079 }
1080 
1082 {
1083  CheckSelected(e_Imaginary);
1084  return *static_cast<const TImaginary*>(m_object);
1085 }
1086 
1088 {
1091  value.SetImaginary();
1092  return value;
1093 }
1094 
1096 {
1097  CheckSelected(e_Floor);
1098  return *static_cast<const TFloor*>(m_object);
1099 }
1100 
1102 {
1105  value.SetFloor();
1106  return value;
1107 }
1108 
1110 {
1111  CheckSelected(e_Ceiling);
1112  return *static_cast<const TCeiling*>(m_object);
1113 }
1114 
1116 {
1119  value.SetCeiling();
1120  return value;
1121 }
1122 
1124 {
1125  CheckSelected(e_Exp);
1126  return *static_cast<const TExp*>(m_object);
1127 }
1128 
1130 {
1133  value.SetExp();
1134  return value;
1135 }
1136 
1137 // helper methods
1138 
1139 // type info
1141 {
1142  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.unary-arith", "mmlclass");
1143  SET_CHOICE_MODULE("pubmed_mathml3");
1144  ADD_NAMED_REF_CHOICE_VARIANT("factorial", m_object, CFactorial)->SetNsQualified(true);
1145  ADD_NAMED_REF_CHOICE_VARIANT("abs", m_object, CAbs)->SetNsQualified(true);
1146  ADD_NAMED_REF_CHOICE_VARIANT("conjugate", m_object, CConjugate)->SetNsQualified(true);
1147  ADD_NAMED_REF_CHOICE_VARIANT("arg", m_object, CArg)->SetNsQualified(true);
1148  ADD_NAMED_REF_CHOICE_VARIANT("real", m_object, CReal)->SetNsQualified(true);
1149  ADD_NAMED_REF_CHOICE_VARIANT("imaginary", m_object, CImaginary)->SetNsQualified(true);
1150  ADD_NAMED_REF_CHOICE_VARIANT("floor", m_object, CFloor)->SetNsQualified(true);
1151  ADD_NAMED_REF_CHOICE_VARIANT("ceiling", m_object, CCeiling)->SetNsQualified(true);
1152  ADD_NAMED_REF_CHOICE_VARIANT("exp", m_object, CExp)->SetNsQualified(true);
1153  info->CodeVersion(22400);
1154  info->DataSpec(ncbi::EDataSpec::eXSD);
1155 }
1157 
1158 // constructor
1160  : m_choice(e_not_set)
1161 {
1162 }
1163 
1164 // destructor
1166 {
1167  Reset();
1168 }
1169 
1170 
1172 {
1173  if ( m_choice != e_not_set )
1174  ResetSelection();
1175 }
1176 
1178 {
1179  switch ( m_choice ) {
1180  case e_Max:
1181  case e_Min:
1182  m_object->RemoveReference();
1183  break;
1184  default:
1185  break;
1186  }
1187  m_choice = e_not_set;
1188 }
1189 
1190 void CImpliedMrow_Base::C_E::C_ContExp::C_Nary_minmax_mmlclass::DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool* pool)
1191 {
1192  switch ( index ) {
1193  case e_Max:
1194  (m_object = new(pool) ncbi::objects::CMax())->AddReference();
1195  break;
1196  case e_Min:
1197  (m_object = new(pool) ncbi::objects::CMin())->AddReference();
1198  break;
1199  default:
1200  break;
1201  }
1202  m_choice = index;
1203 }
1204 
1206  "not set",
1207  "max",
1208  "min"
1209 };
1210 
1212 {
1213  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1214 }
1215 
1217 {
1218  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1219 }
1220 
1222 {
1224  return *static_cast<const TMax*>(m_object);
1225 }
1226 
1228 {
1231  value.SetMax();
1232  return value;
1233 }
1234 
1236 {
1237  CheckSelected(e_Min);
1238  return *static_cast<const TMin*>(m_object);
1239 }
1240 
1242 {
1245  value.SetMin();
1246  return value;
1247 }
1248 
1249 // helper methods
1250 
1251 // type info
1253 {
1254  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.nary-minmax", "mmlclass");
1255  SET_CHOICE_MODULE("pubmed_mathml3");
1256  ADD_NAMED_REF_CHOICE_VARIANT("max", m_object, CMax)->SetNsQualified(true);
1257  ADD_NAMED_REF_CHOICE_VARIANT("min", m_object, CMin)->SetNsQualified(true);
1258  info->CodeVersion(22400);
1259  info->DataSpec(ncbi::EDataSpec::eXSD);
1260 }
1262 
1263 // constructor
1265  : m_choice(e_not_set)
1266 {
1267 }
1268 
1269 // destructor
1271 {
1272  Reset();
1273 }
1274 
1275 
1277 {
1278  if ( m_choice != e_not_set )
1279  ResetSelection();
1280 }
1281 
1283 {
1284  switch ( m_choice ) {
1285  case e_Plus:
1286  case e_Times:
1287  case e_Gcd:
1288  case e_Lcm:
1289  m_object->RemoveReference();
1290  break;
1291  default:
1292  break;
1293  }
1294  m_choice = e_not_set;
1295 }
1296 
1297 void CImpliedMrow_Base::C_E::C_ContExp::C_Nary_arith_mmlclass::DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool* pool)
1298 {
1299  switch ( index ) {
1300  case e_Plus:
1301  (m_object = new(pool) ncbi::objects::CPlus())->AddReference();
1302  break;
1303  case e_Times:
1304  (m_object = new(pool) ncbi::objects::CTimes())->AddReference();
1305  break;
1306  case e_Gcd:
1307  (m_object = new(pool) ncbi::objects::CGcd())->AddReference();
1308  break;
1309  case e_Lcm:
1310  (m_object = new(pool) ncbi::objects::CLcm())->AddReference();
1311  break;
1312  default:
1313  break;
1314  }
1315  m_choice = index;
1316 }
1317 
1319  "not set",
1320  "plus",
1321  "times",
1322  "gcd",
1323  "lcm"
1324 };
1325 
1327 {
1328  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1329 }
1330 
1332 {
1333  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1334 }
1335 
1337 {
1338  CheckSelected(e_Plus);
1339  return *static_cast<const TPlus*>(m_object);
1340 }
1341 
1343 {
1346  value.SetPlus();
1347  return value;
1348 }
1349 
1351 {
1352  CheckSelected(e_Times);
1353  return *static_cast<const TTimes*>(m_object);
1354 }
1355 
1357 {
1360  value.SetTimes();
1361  return value;
1362 }
1363 
1365 {
1366  CheckSelected(e_Gcd);
1367  return *static_cast<const TGcd*>(m_object);
1368 }
1369 
1371 {
1374  value.SetGcd();
1375  return value;
1376 }
1377 
1379 {
1380  CheckSelected(e_Lcm);
1381  return *static_cast<const TLcm*>(m_object);
1382 }
1383 
1385 {
1388  value.SetLcm();
1389  return value;
1390 }
1391 
1392 // helper methods
1393 
1394 // type info
1396 {
1397  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.nary-arith", "mmlclass");
1398  SET_CHOICE_MODULE("pubmed_mathml3");
1399  ADD_NAMED_REF_CHOICE_VARIANT("plus", m_object, CPlus)->SetNsQualified(true);
1400  ADD_NAMED_REF_CHOICE_VARIANT("times", m_object, CTimes)->SetNsQualified(true);
1401  ADD_NAMED_REF_CHOICE_VARIANT("gcd", m_object, CGcd)->SetNsQualified(true);
1402  ADD_NAMED_REF_CHOICE_VARIANT("lcm", m_object, CLcm)->SetNsQualified(true);
1403  info->CodeVersion(22400);
1404  info->DataSpec(ncbi::EDataSpec::eXSD);
1405 }
1407 
1408 // constructor
1410  : m_choice(e_not_set)
1411 {
1412 }
1413 
1414 // destructor
1416 {
1417  Reset();
1418 }
1419 
1420 
1422 {
1423  if ( m_choice != e_not_set )
1424  ResetSelection();
1425 }
1426 
1428 {
1429  switch ( m_choice ) {
1430  case e_And:
1431  case e_Or:
1432  case e_Xor:
1433  m_object->RemoveReference();
1434  break;
1435  default:
1436  break;
1437  }
1438  m_choice = e_not_set;
1439 }
1440 
1441 void CImpliedMrow_Base::C_E::C_ContExp::C_Nary_logical_mmlclass::DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool* pool)
1442 {
1443  switch ( index ) {
1444  case e_And:
1445  (m_object = new(pool) ncbi::objects::CAnd())->AddReference();
1446  break;
1447  case e_Or:
1448  (m_object = new(pool) ncbi::objects::COr())->AddReference();
1449  break;
1450  case e_Xor:
1451  (m_object = new(pool) ncbi::objects::CXor())->AddReference();
1452  break;
1453  default:
1454  break;
1455  }
1456  m_choice = index;
1457 }
1458 
1460  "not set",
1461  "and",
1462  "or",
1463  "xor"
1464 };
1465 
1467 {
1468  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1469 }
1470 
1472 {
1473  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1474 }
1475 
1477 {
1478  CheckSelected(e_And);
1479  return *static_cast<const TAnd*>(m_object);
1480 }
1481 
1483 {
1486  value.SetAnd();
1487  return value;
1488 }
1489 
1491 {
1492  CheckSelected(e_Or);
1493  return *static_cast<const TOr*>(m_object);
1494 }
1495 
1497 {
1500  value.SetOr();
1501  return value;
1502 }
1503 
1505 {
1506  CheckSelected(e_Xor);
1507  return *static_cast<const TXor*>(m_object);
1508 }
1509 
1511 {
1514  value.SetXor();
1515  return value;
1516 }
1517 
1518 // helper methods
1519 
1520 // type info
1522 {
1523  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.nary-logical", "mmlclass");
1524  SET_CHOICE_MODULE("pubmed_mathml3");
1525  ADD_NAMED_REF_CHOICE_VARIANT("and", m_object, CAnd)->SetNsQualified(true);
1526  ADD_NAMED_REF_CHOICE_VARIANT("or", m_object, COr)->SetNsQualified(true);
1527  ADD_NAMED_REF_CHOICE_VARIANT("xor", m_object, CXor)->SetNsQualified(true);
1528  info->CodeVersion(22400);
1529  info->DataSpec(ncbi::EDataSpec::eXSD);
1530 }
1532 
1533 // constructor
1535  : m_choice(e_not_set)
1536 {
1537 }
1538 
1539 // destructor
1541 {
1542  Reset();
1543 }
1544 
1545 
1547 {
1548  return m_Not ? m_Not->IsSetNot() : false;
1549 }
1550 
1552 {
1553  if ( !m_Not ) {
1554  m_Not.Reset(new TNot());
1555  return;
1556  }
1557  (*m_Not).Reset();
1558 }
1559 
1561 {
1562  m_Not.Reset(&value);
1563 }
1564 
1566 {
1567  if ( !m_Not ) {
1568  ResetNot();
1569  }
1570  m_Not->SetNot();
1571  return (*m_Not);
1572 }
1573 
1575 {
1576  ResetNot();
1577 }
1578 
1580 {
1581  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.unary-logical", "mmlclass");
1582  SET_CLASS_MODULE("pubmed_mathml3");
1583  ADD_NAMED_REF_MEMBER("not", m_Not, CNot)->SetNsQualified(true);
1584  info->RandomOrder();
1585  info->CodeVersion(22400);
1586  info->DataSpec(ncbi::EDataSpec::eXSD);
1587 }
1589 
1590 // constructor
1592 {
1593  memset(m_set_State,0,sizeof(m_set_State));
1594  if ( !IsAllocatedInPool() ) {
1595  ResetNot();
1596  }
1597 }
1598 
1599 // destructor
1601 {
1602 }
1603 
1604 
1606 {
1607  if ( m_choice != e_not_set )
1608  ResetSelection();
1609 }
1610 
1612 {
1613  switch ( m_choice ) {
1614  case e_Implies:
1615  case e_Equivalent:
1616  m_object->RemoveReference();
1617  break;
1618  default:
1619  break;
1620  }
1621  m_choice = e_not_set;
1622 }
1623 
1625 {
1626  switch ( index ) {
1627  case e_Implies:
1628  (m_object = new(pool) ncbi::objects::CImplies())->AddReference();
1629  break;
1630  case e_Equivalent:
1631  (m_object = new(pool) ncbi::objects::CEquivalent())->AddReference();
1632  break;
1633  default:
1634  break;
1635  }
1636  m_choice = index;
1637 }
1638 
1640  "not set",
1641  "implies",
1642  "equivalent"
1643 };
1644 
1646 {
1647  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1648 }
1649 
1651 {
1652  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1653 }
1654 
1656 {
1657  CheckSelected(e_Implies);
1658  return *static_cast<const TImplies*>(m_object);
1659 }
1660 
1662 {
1665  value.SetImplies();
1666  return value;
1667 }
1668 
1670 {
1671  CheckSelected(e_Equivalent);
1672  return *static_cast<const TEquivalent*>(m_object);
1673 }
1674 
1676 {
1679  value.SetEquivalent();
1680  return value;
1681 }
1682 
1683 // helper methods
1684 
1685 // type info
1687 {
1688  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.binary-logical", "mmlclass");
1689  SET_CHOICE_MODULE("pubmed_mathml3");
1690  ADD_NAMED_REF_CHOICE_VARIANT("implies", m_object, CImplies)->SetNsQualified(true);
1691  ADD_NAMED_REF_CHOICE_VARIANT("equivalent", m_object, CEquivalent)->SetNsQualified(true);
1692  info->CodeVersion(22400);
1693  info->DataSpec(ncbi::EDataSpec::eXSD);
1694 }
1696 
1697 // constructor
1699  : m_choice(e_not_set)
1700 {
1701 }
1702 
1703 // destructor
1705 {
1706  Reset();
1707 }
1708 
1709 
1711 {
1712  if ( m_choice != e_not_set )
1713  ResetSelection();
1714 }
1715 
1717 {
1718  switch ( m_choice ) {
1719  case e_Forall:
1720  case e_Exists:
1721  m_object->RemoveReference();
1722  break;
1723  default:
1724  break;
1725  }
1726  m_choice = e_not_set;
1727 }
1728 
1729 void CImpliedMrow_Base::C_E::C_ContExp::C_Quantifier_mmlclass::DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool* pool)
1730 {
1731  switch ( index ) {
1732  case e_Forall:
1733  (m_object = new(pool) ncbi::objects::CForall())->AddReference();
1734  break;
1735  case e_Exists:
1736  (m_object = new(pool) ncbi::objects::CExists())->AddReference();
1737  break;
1738  default:
1739  break;
1740  }
1741  m_choice = index;
1742 }
1743 
1745  "not set",
1746  "forall",
1747  "exists"
1748 };
1749 
1751 {
1752  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1753 }
1754 
1756 {
1757  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1758 }
1759 
1761 {
1762  CheckSelected(e_Forall);
1763  return *static_cast<const TForall*>(m_object);
1764 }
1765 
1767 {
1770  value.SetForall();
1771  return value;
1772 }
1773 
1775 {
1776  CheckSelected(e_Exists);
1777  return *static_cast<const TExists*>(m_object);
1778 }
1779 
1781 {
1784  value.SetExists();
1785  return value;
1786 }
1787 
1788 // helper methods
1789 
1790 // type info
1792 {
1793  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.quantifier", "mmlclass");
1794  SET_CHOICE_MODULE("pubmed_mathml3");
1795  ADD_NAMED_REF_CHOICE_VARIANT("forall", m_object, CForall)->SetNsQualified(true);
1796  ADD_NAMED_REF_CHOICE_VARIANT("exists", m_object, CExists)->SetNsQualified(true);
1797  info->CodeVersion(22400);
1798  info->DataSpec(ncbi::EDataSpec::eXSD);
1799 }
1801 
1802 // constructor
1804  : m_choice(e_not_set)
1805 {
1806 }
1807 
1808 // destructor
1810 {
1811  Reset();
1812 }
1813 
1814 
1816 {
1817  if ( m_choice != e_not_set )
1818  ResetSelection();
1819 }
1820 
1822 {
1823  switch ( m_choice ) {
1824  case e_Eq:
1825  case e_Gt:
1826  case e_Lt:
1827  case e_Geq:
1828  case e_Leq:
1829  m_object->RemoveReference();
1830  break;
1831  default:
1832  break;
1833  }
1834  m_choice = e_not_set;
1835 }
1836 
1837 void CImpliedMrow_Base::C_E::C_ContExp::C_Nary_reln_mmlclass::DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool* pool)
1838 {
1839  switch ( index ) {
1840  case e_Eq:
1841  (m_object = new(pool) ncbi::objects::CEq())->AddReference();
1842  break;
1843  case e_Gt:
1844  (m_object = new(pool) ncbi::objects::CGt())->AddReference();
1845  break;
1846  case e_Lt:
1847  (m_object = new(pool) ncbi::objects::CLt())->AddReference();
1848  break;
1849  case e_Geq:
1850  (m_object = new(pool) ncbi::objects::CGeq())->AddReference();
1851  break;
1852  case e_Leq:
1853  (m_object = new(pool) ncbi::objects::CLeq())->AddReference();
1854  break;
1855  default:
1856  break;
1857  }
1858  m_choice = index;
1859 }
1860 
1862  "not set",
1863  "eq",
1864  "gt",
1865  "lt",
1866  "geq",
1867  "leq"
1868 };
1869 
1871 {
1872  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1873 }
1874 
1876 {
1877  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
1878 }
1879 
1881 {
1882  CheckSelected(e_Eq);
1883  return *static_cast<const TEq*>(m_object);
1884 }
1885 
1887 {
1890  value.SetEq();
1891  return value;
1892 }
1893 
1895 {
1896  CheckSelected(e_Gt);
1897  return *static_cast<const TGt*>(m_object);
1898 }
1899 
1901 {
1904  value.SetGt();
1905  return value;
1906 }
1907 
1909 {
1910  CheckSelected(e_Lt);
1911  return *static_cast<const TLt*>(m_object);
1912 }
1913 
1915 {
1918  value.SetLt();
1919  return value;
1920 }
1921 
1923 {
1924  CheckSelected(e_Geq);
1925  return *static_cast<const TGeq*>(m_object);
1926 }
1927 
1929 {
1932  value.SetGeq();
1933  return value;
1934 }
1935 
1937 {
1938  CheckSelected(e_Leq);
1939  return *static_cast<const TLeq*>(m_object);
1940 }
1941 
1943 {
1946  value.SetLeq();
1947  return value;
1948 }
1949 
1950 // helper methods
1951 
1952 // type info
1954 {
1955  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.nary-reln", "mmlclass");
1956  SET_CHOICE_MODULE("pubmed_mathml3");
1957  ADD_NAMED_REF_CHOICE_VARIANT("eq", m_object, CEq)->SetNsQualified(true);
1958  ADD_NAMED_REF_CHOICE_VARIANT("gt", m_object, CGt)->SetNsQualified(true);
1959  ADD_NAMED_REF_CHOICE_VARIANT("lt", m_object, CLt)->SetNsQualified(true);
1960  ADD_NAMED_REF_CHOICE_VARIANT("geq", m_object, CGeq)->SetNsQualified(true);
1961  ADD_NAMED_REF_CHOICE_VARIANT("leq", m_object, CLeq)->SetNsQualified(true);
1962  info->CodeVersion(22400);
1963  info->DataSpec(ncbi::EDataSpec::eXSD);
1964 }
1966 
1967 // constructor
1969  : m_choice(e_not_set)
1970 {
1971 }
1972 
1973 // destructor
1975 {
1976  Reset();
1977 }
1978 
1979 
1981 {
1982  if ( m_choice != e_not_set )
1983  ResetSelection();
1984 }
1985 
1987 {
1988  switch ( m_choice ) {
1989  case e_Neq:
1990  case e_Approx:
1991  case e_Factorof:
1992  case e_Tendsto:
1993  m_object->RemoveReference();
1994  break;
1995  default:
1996  break;
1997  }
1998  m_choice = e_not_set;
1999 }
2000 
2001 void CImpliedMrow_Base::C_E::C_ContExp::C_Binary_reln_mmlclass::DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool* pool)
2002 {
2003  switch ( index ) {
2004  case e_Neq:
2005  (m_object = new(pool) ncbi::objects::CNeq())->AddReference();
2006  break;
2007  case e_Approx:
2008  (m_object = new(pool) ncbi::objects::CApprox())->AddReference();
2009  break;
2010  case e_Factorof:
2011  (m_object = new(pool) ncbi::objects::CFactorof())->AddReference();
2012  break;
2013  case e_Tendsto:
2014  (m_object = new(pool) ncbi::objects::CTendsto())->AddReference();
2015  break;
2016  default:
2017  break;
2018  }
2019  m_choice = index;
2020 }
2021 
2023  "not set",
2024  "neq",
2025  "approx",
2026  "factorof",
2027  "tendsto"
2028 };
2029 
2031 {
2032  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2033 }
2034 
2036 {
2037  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2038 }
2039 
2041 {
2042  CheckSelected(e_Neq);
2043  return *static_cast<const TNeq*>(m_object);
2044 }
2045 
2047 {
2050  value.SetNeq();
2051  return value;
2052 }
2053 
2055 {
2056  CheckSelected(e_Approx);
2057  return *static_cast<const TApprox*>(m_object);
2058 }
2059 
2061 {
2064  value.SetApprox();
2065  return value;
2066 }
2067 
2069 {
2070  CheckSelected(e_Factorof);
2071  return *static_cast<const TFactorof*>(m_object);
2072 }
2073 
2075 {
2078  value.SetFactorof();
2079  return value;
2080 }
2081 
2083 {
2084  CheckSelected(e_Tendsto);
2085  return *static_cast<const TTendsto*>(m_object);
2086 }
2087 
2089 {
2092  value.SetTendsto();
2093  return value;
2094 }
2095 
2096 // helper methods
2097 
2098 // type info
2100 {
2101  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.binary-reln", "mmlclass");
2102  SET_CHOICE_MODULE("pubmed_mathml3");
2103  ADD_NAMED_REF_CHOICE_VARIANT("neq", m_object, CNeq)->SetNsQualified(true);
2104  ADD_NAMED_REF_CHOICE_VARIANT("approx", m_object, CApprox)->SetNsQualified(true);
2105  ADD_NAMED_REF_CHOICE_VARIANT("factorof", m_object, CFactorof)->SetNsQualified(true);
2106  ADD_NAMED_REF_CHOICE_VARIANT("tendsto", m_object, CTendsto)->SetNsQualified(true);
2107  info->CodeVersion(22400);
2108  info->DataSpec(ncbi::EDataSpec::eXSD);
2109 }
2111 
2112 // constructor
2114  : m_choice(e_not_set)
2115 {
2116 }
2117 
2118 // destructor
2120 {
2121  Reset();
2122 }
2123 
2124 
2126 {
2127  return m_Int ? m_Int->IsSetInt() : false;
2128 }
2129 
2131 {
2132  if ( !m_Int ) {
2133  m_Int.Reset(new TInt());
2134  return;
2135  }
2136  (*m_Int).Reset();
2137 }
2138 
2140 {
2141  m_Int.Reset(&value);
2142 }
2143 
2145 {
2146  if ( !m_Int ) {
2147  ResetInt();
2148  }
2149  m_Int->SetInt();
2150  return (*m_Int);
2151 }
2152 
2154 {
2155  ResetInt();
2156 }
2157 
2159 {
2160  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.int", "mmlclass");
2161  SET_CLASS_MODULE("pubmed_mathml3");
2162  ADD_NAMED_REF_MEMBER("int", m_Int, CInt)->SetNsQualified(true);
2163  info->RandomOrder();
2164  info->CodeVersion(22400);
2165  info->DataSpec(ncbi::EDataSpec::eXSD);
2166 }
2168 
2169 // constructor
2171 {
2172  memset(m_set_State,0,sizeof(m_set_State));
2173  if ( !IsAllocatedInPool() ) {
2174  ResetInt();
2175  }
2176 }
2177 
2178 // destructor
2180 {
2181 }
2182 
2183 
2185 {
2186  return m_Diff ? m_Diff->IsSetDiff() : false;
2187 }
2188 
2190 {
2191  if ( !m_Diff ) {
2192  m_Diff.Reset(new TDiff());
2193  return;
2194  }
2195  (*m_Diff).Reset();
2196 }
2197 
2199 {
2200  m_Diff.Reset(&value);
2201 }
2202 
2204 {
2205  if ( !m_Diff ) {
2206  ResetDiff();
2207  }
2208  m_Diff->SetDiff();
2209  return (*m_Diff);
2210 }
2211 
2213 {
2214  ResetDiff();
2215 }
2216 
2218 {
2219  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.Differential-Operator", "mmlclass");
2220  SET_CLASS_MODULE("pubmed_mathml3");
2221  ADD_NAMED_REF_MEMBER("diff", m_Diff, CDiff)->SetNsQualified(true);
2222  info->RandomOrder();
2223  info->CodeVersion(22400);
2224  info->DataSpec(ncbi::EDataSpec::eXSD);
2225 }
2227 
2228 // constructor
2230 {
2231  memset(m_set_State,0,sizeof(m_set_State));
2232  if ( !IsAllocatedInPool() ) {
2233  ResetDiff();
2234  }
2235 }
2236 
2237 // destructor
2239 {
2240 }
2241 
2242 
2244 {
2245  return m_Partialdiff ? m_Partialdiff->IsSetPartialdiff() : false;
2246 }
2247 
2249 {
2250  if ( !m_Partialdiff ) {
2251  m_Partialdiff.Reset(new TPartialdiff());
2252  return;
2253  }
2254  (*m_Partialdiff).Reset();
2255 }
2256 
2258 {
2259  m_Partialdiff.Reset(&value);
2260 }
2261 
2263 {
2264  if ( !m_Partialdiff ) {
2265  ResetPartialdiff();
2266  }
2267  m_Partialdiff->SetPartialdiff();
2268  return (*m_Partialdiff);
2269 }
2270 
2272 {
2273  ResetPartialdiff();
2274 }
2275 
2277 {
2278  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.partialdiff", "mmlclass");
2279  SET_CLASS_MODULE("pubmed_mathml3");
2280  ADD_NAMED_REF_MEMBER("partialdiff", m_Partialdiff, CPartialdiff)->SetNsQualified(true);
2281  info->RandomOrder();
2282  info->CodeVersion(22400);
2283  info->DataSpec(ncbi::EDataSpec::eXSD);
2284 }
2286 
2287 // constructor
2289 {
2290  memset(m_set_State,0,sizeof(m_set_State));
2291  if ( !IsAllocatedInPool() ) {
2292  ResetPartialdiff();
2293  }
2294 }
2295 
2296 // destructor
2298 {
2299 }
2300 
2301 
2303 {
2304  if ( m_choice != e_not_set )
2305  ResetSelection();
2306 }
2307 
2309 {
2310  switch ( m_choice ) {
2311  case e_Divergence:
2312  case e_Grad:
2313  case e_Curl:
2314  case e_Laplacian:
2315  m_object->RemoveReference();
2316  break;
2317  default:
2318  break;
2319  }
2320  m_choice = e_not_set;
2321 }
2322 
2324 {
2325  switch ( index ) {
2326  case e_Divergence:
2327  (m_object = new(pool) ncbi::objects::CDivergence())->AddReference();
2328  break;
2329  case e_Grad:
2330  (m_object = new(pool) ncbi::objects::CGrad())->AddReference();
2331  break;
2332  case e_Curl:
2333  (m_object = new(pool) ncbi::objects::CCurl())->AddReference();
2334  break;
2335  case e_Laplacian:
2336  (m_object = new(pool) ncbi::objects::CLaplacian())->AddReference();
2337  break;
2338  default:
2339  break;
2340  }
2341  m_choice = index;
2342 }
2343 
2345  "not set",
2346  "divergence",
2347  "grad",
2348  "curl",
2349  "laplacian"
2350 };
2351 
2353 {
2354  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2355 }
2356 
2358 {
2359  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2360 }
2361 
2363 {
2364  CheckSelected(e_Divergence);
2365  return *static_cast<const TDivergence*>(m_object);
2366 }
2367 
2369 {
2372  value.SetDivergence();
2373  return value;
2374 }
2375 
2377 {
2378  CheckSelected(e_Grad);
2379  return *static_cast<const TGrad*>(m_object);
2380 }
2381 
2383 {
2386  value.SetGrad();
2387  return value;
2388 }
2389 
2391 {
2392  CheckSelected(e_Curl);
2393  return *static_cast<const TCurl*>(m_object);
2394 }
2395 
2397 {
2400  value.SetCurl();
2401  return value;
2402 }
2403 
2405 {
2406  CheckSelected(e_Laplacian);
2407  return *static_cast<const TLaplacian*>(m_object);
2408 }
2409 
2411 {
2414  value.SetLaplacian();
2415  return value;
2416 }
2417 
2418 // helper methods
2419 
2420 // type info
2422 {
2423  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.unary-veccalc", "mmlclass");
2424  SET_CHOICE_MODULE("pubmed_mathml3");
2425  ADD_NAMED_REF_CHOICE_VARIANT("divergence", m_object, CDivergence)->SetNsQualified(true);
2426  ADD_NAMED_REF_CHOICE_VARIANT("grad", m_object, CGrad)->SetNsQualified(true);
2427  ADD_NAMED_REF_CHOICE_VARIANT("curl", m_object, CCurl)->SetNsQualified(true);
2428  ADD_NAMED_REF_CHOICE_VARIANT("laplacian", m_object, CLaplacian)->SetNsQualified(true);
2429  info->CodeVersion(22400);
2430  info->DataSpec(ncbi::EDataSpec::eXSD);
2431 }
2433 
2434 // constructor
2436  : m_choice(e_not_set)
2437 {
2438 }
2439 
2440 // destructor
2442 {
2443  Reset();
2444 }
2445 
2446 
2448 {
2449  if ( m_choice != e_not_set )
2450  ResetSelection();
2451 }
2452 
2454 {
2455  switch ( m_choice ) {
2456  case e_Set:
2457  case e_List:
2458  m_object->RemoveReference();
2459  break;
2460  default:
2461  break;
2462  }
2463  m_choice = e_not_set;
2464 }
2465 
2467 {
2468  switch ( index ) {
2469  case e_Set:
2470  (m_object = new(pool) ncbi::objects::CSet())->AddReference();
2471  break;
2472  case e_List:
2473  (m_object = new(pool) ncbi::objects::CList())->AddReference();
2474  break;
2475  default:
2476  break;
2477  }
2478  m_choice = index;
2479 }
2480 
2482  "not set",
2483  "set",
2484  "list"
2485 };
2486 
2488 {
2489  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2490 }
2491 
2493 {
2494  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2495 }
2496 
2498 {
2499  CheckSelected(e_Set);
2500  return *static_cast<const TSet*>(m_object);
2501 }
2502 
2504 {
2506  return *static_cast<TSet*>(m_object);
2507 }
2508 
2510 {
2511  TSet* ptr = &value;
2512  if ( m_choice != e_Set || m_object != ptr ) {
2513  ResetSelection();
2514  (m_object = ptr)->AddReference();
2515  m_choice = e_Set;
2516  }
2517 }
2518 
2520 {
2521  CheckSelected(e_List);
2522  return *static_cast<const TList*>(m_object);
2523 }
2524 
2526 {
2528  return *static_cast<TList*>(m_object);
2529 }
2530 
2532 {
2533  TList* ptr = &value;
2534  if ( m_choice != e_List || m_object != ptr ) {
2535  ResetSelection();
2536  (m_object = ptr)->AddReference();
2537  m_choice = e_List;
2538  }
2539 }
2540 
2541 // helper methods
2542 
2543 // type info
2545 {
2546  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.nary-setlist-constructor", "mmlclass");
2547  SET_CHOICE_MODULE("pubmed_mathml3");
2548  ADD_NAMED_REF_CHOICE_VARIANT("set", m_object, CSet)->SetNsQualified(true);
2549  ADD_NAMED_REF_CHOICE_VARIANT("list", m_object, CList)->SetNsQualified(true);
2550  info->CodeVersion(22400);
2551  info->DataSpec(ncbi::EDataSpec::eXSD);
2552 }
2554 
2555 // constructor
2557  : m_choice(e_not_set)
2558 {
2559 }
2560 
2561 // destructor
2563 {
2564  Reset();
2565 }
2566 
2567 
2569 {
2570  if ( m_choice != e_not_set )
2571  ResetSelection();
2572 }
2573 
2575 {
2576  switch ( m_choice ) {
2577  case e_Union:
2578  case e_Intersect:
2579  case e_Cartesianproduct:
2580  m_object->RemoveReference();
2581  break;
2582  default:
2583  break;
2584  }
2585  m_choice = e_not_set;
2586 }
2587 
2588 void CImpliedMrow_Base::C_E::C_ContExp::C_Nary_set_mmlclass::DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool* pool)
2589 {
2590  switch ( index ) {
2591  case e_Union:
2592  (m_object = new(pool) ncbi::objects::CUnion())->AddReference();
2593  break;
2594  case e_Intersect:
2595  (m_object = new(pool) ncbi::objects::CIntersect())->AddReference();
2596  break;
2597  case e_Cartesianproduct:
2598  (m_object = new(pool) ncbi::objects::CCartesianproduct())->AddReference();
2599  break;
2600  default:
2601  break;
2602  }
2603  m_choice = index;
2604 }
2605 
2607  "not set",
2608  "union",
2609  "intersect",
2610  "cartesianproduct"
2611 };
2612 
2614 {
2615  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2616 }
2617 
2619 {
2620  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2621 }
2622 
2624 {
2625  CheckSelected(e_Union);
2626  return *static_cast<const TUnion*>(m_object);
2627 }
2628 
2630 {
2633  value.SetUnion();
2634  return value;
2635 }
2636 
2638 {
2639  CheckSelected(e_Intersect);
2640  return *static_cast<const TIntersect*>(m_object);
2641 }
2642 
2644 {
2647  value.SetIntersect();
2648  return value;
2649 }
2650 
2652 {
2653  CheckSelected(e_Cartesianproduct);
2654  return *static_cast<const TCartesianproduct*>(m_object);
2655 }
2656 
2658 {
2659  Select(e_Cartesianproduct, NCBI_NS_NCBI::eDoNotResetVariant);
2661  value.SetCartesianproduct();
2662  return value;
2663 }
2664 
2665 // helper methods
2666 
2667 // type info
2669 {
2670  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.nary-set", "mmlclass");
2671  SET_CHOICE_MODULE("pubmed_mathml3");
2672  ADD_NAMED_REF_CHOICE_VARIANT("union", m_object, CUnion)->SetNsQualified(true);
2673  ADD_NAMED_REF_CHOICE_VARIANT("intersect", m_object, CIntersect)->SetNsQualified(true);
2674  ADD_NAMED_REF_CHOICE_VARIANT("cartesianproduct", m_object, CCartesianproduct)->SetNsQualified(true);
2675  info->CodeVersion(22400);
2676  info->DataSpec(ncbi::EDataSpec::eXSD);
2677 }
2679 
2680 // constructor
2682  : m_choice(e_not_set)
2683 {
2684 }
2685 
2686 // destructor
2688 {
2689  Reset();
2690 }
2691 
2692 
2694 {
2695  if ( m_choice != e_not_set )
2696  ResetSelection();
2697 }
2698 
2700 {
2701  switch ( m_choice ) {
2702  case e_In:
2703  case e_Notin:
2704  case e_Notsubset:
2705  case e_Notprsubset:
2706  case e_Setdiff:
2707  m_object->RemoveReference();
2708  break;
2709  default:
2710  break;
2711  }
2712  m_choice = e_not_set;
2713 }
2714 
2715 void CImpliedMrow_Base::C_E::C_ContExp::C_Binary_set_mmlclass::DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool* pool)
2716 {
2717  switch ( index ) {
2718  case e_In:
2719  (m_object = new(pool) ncbi::objects::CIn())->AddReference();
2720  break;
2721  case e_Notin:
2722  (m_object = new(pool) ncbi::objects::CNotin())->AddReference();
2723  break;
2724  case e_Notsubset:
2725  (m_object = new(pool) ncbi::objects::CNotsubset())->AddReference();
2726  break;
2727  case e_Notprsubset:
2728  (m_object = new(pool) ncbi::objects::CNotprsubset())->AddReference();
2729  break;
2730  case e_Setdiff:
2731  (m_object = new(pool) ncbi::objects::CSetdiff())->AddReference();
2732  break;
2733  default:
2734  break;
2735  }
2736  m_choice = index;
2737 }
2738 
2740  "not set",
2741  "in",
2742  "notin",
2743  "notsubset",
2744  "notprsubset",
2745  "setdiff"
2746 };
2747 
2749 {
2750  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2751 }
2752 
2754 {
2755  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2756 }
2757 
2759 {
2760  CheckSelected(e_In);
2761  return *static_cast<const TIn*>(m_object);
2762 }
2763 
2765 {
2768  value.SetIn();
2769  return value;
2770 }
2771 
2773 {
2774  CheckSelected(e_Notin);
2775  return *static_cast<const TNotin*>(m_object);
2776 }
2777 
2779 {
2782  value.SetNotin();
2783  return value;
2784 }
2785 
2787 {
2788  CheckSelected(e_Notsubset);
2789  return *static_cast<const TNotsubset*>(m_object);
2790 }
2791 
2793 {
2796  value.SetNotsubset();
2797  return value;
2798 }
2799 
2801 {
2802  CheckSelected(e_Notprsubset);
2803  return *static_cast<const TNotprsubset*>(m_object);
2804 }
2805 
2807 {
2808  Select(e_Notprsubset, NCBI_NS_NCBI::eDoNotResetVariant);
2810  value.SetNotprsubset();
2811  return value;
2812 }
2813 
2815 {
2816  CheckSelected(e_Setdiff);
2817  return *static_cast<const TSetdiff*>(m_object);
2818 }
2819 
2821 {
2824  value.SetSetdiff();
2825  return value;
2826 }
2827 
2828 // helper methods
2829 
2830 // type info
2832 {
2833  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.binary-set", "mmlclass");
2834  SET_CHOICE_MODULE("pubmed_mathml3");
2835  ADD_NAMED_REF_CHOICE_VARIANT("in", m_object, CIn)->SetNsQualified(true);
2836  ADD_NAMED_REF_CHOICE_VARIANT("notin", m_object, CNotin)->SetNsQualified(true);
2837  ADD_NAMED_REF_CHOICE_VARIANT("notsubset", m_object, CNotsubset)->SetNsQualified(true);
2838  ADD_NAMED_REF_CHOICE_VARIANT("notprsubset", m_object, CNotprsubset)->SetNsQualified(true);
2839  ADD_NAMED_REF_CHOICE_VARIANT("setdiff", m_object, CSetdiff)->SetNsQualified(true);
2840  info->CodeVersion(22400);
2841  info->DataSpec(ncbi::EDataSpec::eXSD);
2842 }
2844 
2845 // constructor
2847  : m_choice(e_not_set)
2848 {
2849 }
2850 
2851 // destructor
2853 {
2854  Reset();
2855 }
2856 
2857 
2859 {
2860  if ( m_choice != e_not_set )
2861  ResetSelection();
2862 }
2863 
2865 {
2866  switch ( m_choice ) {
2867  case e_Subset:
2868  case e_Prsubset:
2869  m_object->RemoveReference();
2870  break;
2871  default:
2872  break;
2873  }
2874  m_choice = e_not_set;
2875 }
2876 
2878 {
2879  switch ( index ) {
2880  case e_Subset:
2881  (m_object = new(pool) ncbi::objects::CSubset())->AddReference();
2882  break;
2883  case e_Prsubset:
2884  (m_object = new(pool) ncbi::objects::CPrsubset())->AddReference();
2885  break;
2886  default:
2887  break;
2888  }
2889  m_choice = index;
2890 }
2891 
2893  "not set",
2894  "subset",
2895  "prsubset"
2896 };
2897 
2899 {
2900  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2901 }
2902 
2904 {
2905  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
2906 }
2907 
2909 {
2910  CheckSelected(e_Subset);
2911  return *static_cast<const TSubset*>(m_object);
2912 }
2913 
2915 {
2918  value.SetSubset();
2919  return value;
2920 }
2921 
2923 {
2924  CheckSelected(e_Prsubset);
2925  return *static_cast<const TPrsubset*>(m_object);
2926 }
2927 
2929 {
2932  value.SetPrsubset();
2933  return value;
2934 }
2935 
2936 // helper methods
2937 
2938 // type info
2940 {
2941  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.nary-set-reln", "mmlclass");
2942  SET_CHOICE_MODULE("pubmed_mathml3");
2943  ADD_NAMED_REF_CHOICE_VARIANT("subset", m_object, CSubset)->SetNsQualified(true);
2944  ADD_NAMED_REF_CHOICE_VARIANT("prsubset", m_object, CPrsubset)->SetNsQualified(true);
2945  info->CodeVersion(22400);
2946  info->DataSpec(ncbi::EDataSpec::eXSD);
2947 }
2949 
2950 // constructor
2952  : m_choice(e_not_set)
2953 {
2954 }
2955 
2956 // destructor
2958 {
2959  Reset();
2960 }
2961 
2962 
2964 {
2965  return m_Card ? m_Card->IsSetCard() : false;
2966 }
2967 
2969 {
2970  if ( !m_Card ) {
2971  m_Card.Reset(new TCard());
2972  return;
2973  }
2974  (*m_Card).Reset();
2975 }
2976 
2978 {
2979  m_Card.Reset(&value);
2980 }
2981 
2983 {
2984  if ( !m_Card ) {
2985  ResetCard();
2986  }
2987  m_Card->SetCard();
2988  return (*m_Card);
2989 }
2990 
2992 {
2993  ResetCard();
2994 }
2995 
2997 {
2998  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.unary-set", "mmlclass");
2999  SET_CLASS_MODULE("pubmed_mathml3");
3000  ADD_NAMED_REF_MEMBER("card", m_Card, CCard)->SetNsQualified(true);
3001  info->RandomOrder();
3002  info->CodeVersion(22400);
3003  info->DataSpec(ncbi::EDataSpec::eXSD);
3004 }
3006 
3007 // constructor
3009 {
3010  memset(m_set_State,0,sizeof(m_set_State));
3011  if ( !IsAllocatedInPool() ) {
3012  ResetCard();
3013  }
3014 }
3015 
3016 // destructor
3018 {
3019 }
3020 
3021 
3023 {
3024  return m_Sum ? m_Sum->IsSetSum() : false;
3025 }
3026 
3028 {
3029  if ( !m_Sum ) {
3030  m_Sum.Reset(new TSum());
3031  return;
3032  }
3033  (*m_Sum).Reset();
3034 }
3035 
3037 {
3038  m_Sum.Reset(&value);
3039 }
3040 
3042 {
3043  if ( !m_Sum ) {
3044  ResetSum();
3045  }
3046  m_Sum->SetSum();
3047  return (*m_Sum);
3048 }
3049 
3051 {
3052  ResetSum();
3053 }
3054 
3056 {
3057  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.sum", "mmlclass");
3058  SET_CLASS_MODULE("pubmed_mathml3");
3059  ADD_NAMED_REF_MEMBER("sum", m_Sum, CSum)->SetNsQualified(true);
3060  info->RandomOrder();
3061  info->CodeVersion(22400);
3062  info->DataSpec(ncbi::EDataSpec::eXSD);
3063 }
3065 
3066 // constructor
3068 {
3069  memset(m_set_State,0,sizeof(m_set_State));
3070  if ( !IsAllocatedInPool() ) {
3071  ResetSum();
3072  }
3073 }
3074 
3075 // destructor
3077 {
3078 }
3079 
3080 
3082 {
3083  return m_Product ? m_Product->IsSetProduct() : false;
3084 }
3085 
3087 {
3088  if ( !m_Product ) {
3089  m_Product.Reset(new TProduct());
3090  return;
3091  }
3092  (*m_Product).Reset();
3093 }
3094 
3096 {
3097  m_Product.Reset(&value);
3098 }
3099 
3101 {
3102  if ( !m_Product ) {
3103  ResetProduct();
3104  }
3105  m_Product->SetProduct();
3106  return (*m_Product);
3107 }
3108 
3110 {
3111  ResetProduct();
3112 }
3113 
3115 {
3116  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.product", "mmlclass");
3117  SET_CLASS_MODULE("pubmed_mathml3");
3118  ADD_NAMED_REF_MEMBER("product", m_Product, CProduct)->SetNsQualified(true);
3119  info->RandomOrder();
3120  info->CodeVersion(22400);
3121  info->DataSpec(ncbi::EDataSpec::eXSD);
3122 }
3124 
3125 // constructor
3127 {
3128  memset(m_set_State,0,sizeof(m_set_State));
3129  if ( !IsAllocatedInPool() ) {
3130  ResetProduct();
3131  }
3132 }
3133 
3134 // destructor
3136 {
3137 }
3138 
3139 
3141 {
3142  return m_Limit ? m_Limit->IsSetLimit() : false;
3143 }
3144 
3146 {
3147  if ( !m_Limit ) {
3148  m_Limit.Reset(new TLimit());
3149  return;
3150  }
3151  (*m_Limit).Reset();
3152 }
3153 
3155 {
3156  m_Limit.Reset(&value);
3157 }
3158 
3160 {
3161  if ( !m_Limit ) {
3162  ResetLimit();
3163  }
3164  m_Limit->SetLimit();
3165  return (*m_Limit);
3166 }
3167 
3169 {
3170  ResetLimit();
3171 }
3172 
3174 {
3175  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.limit", "mmlclass");
3176  SET_CLASS_MODULE("pubmed_mathml3");
3177  ADD_NAMED_REF_MEMBER("limit", m_Limit, CLimit)->SetNsQualified(true);
3178  info->RandomOrder();
3179  info->CodeVersion(22400);
3180  info->DataSpec(ncbi::EDataSpec::eXSD);
3181 }
3183 
3184 // constructor
3186 {
3187  memset(m_set_State,0,sizeof(m_set_State));
3188  if ( !IsAllocatedInPool() ) {
3189  ResetLimit();
3190  }
3191 }
3192 
3193 // destructor
3195 {
3196 }
3197 
3198 
3200 {
3201  if ( m_choice != e_not_set )
3202  ResetSelection();
3203 }
3204 
3206 {
3207  switch ( m_choice ) {
3208  case e_Sin:
3209  case e_Cos:
3210  case e_Tan:
3211  case e_Sec:
3212  case e_Csc:
3213  case e_Cot:
3214  case e_Sinh:
3215  case e_Cosh:
3216  case e_Tanh:
3217  case e_Sech:
3218  case e_Csch:
3219  case e_Coth:
3220  case e_Arcsin:
3221  case e_Arccos:
3222  case e_Arctan:
3223  case e_Arccosh:
3224  case e_Arccot:
3225  case e_Arccoth:
3226  case e_Arccsc:
3227  case e_Arccsch:
3228  case e_Arcsec:
3229  case e_Arcsech:
3230  case e_Arcsinh:
3231  case e_Arctanh:
3232  m_object->RemoveReference();
3233  break;
3234  default:
3235  break;
3236  }
3237  m_choice = e_not_set;
3238 }
3239 
3241 {
3242  switch ( index ) {
3243  case e_Sin:
3244  (m_object = new(pool) ncbi::objects::CSin())->AddReference();
3245  break;
3246  case e_Cos:
3247  (m_object = new(pool) ncbi::objects::CCos())->AddReference();
3248  break;
3249  case e_Tan:
3250  (m_object = new(pool) ncbi::objects::CTan())->AddReference();
3251  break;
3252  case e_Sec:
3253  (m_object = new(pool) ncbi::objects::CSec())->AddReference();
3254  break;
3255  case e_Csc:
3256  (m_object = new(pool) ncbi::objects::CCsc())->AddReference();
3257  break;
3258  case e_Cot:
3259  (m_object = new(pool) ncbi::objects::CCot())->AddReference();
3260  break;
3261  case e_Sinh:
3262  (m_object = new(pool) ncbi::objects::CSinh())->AddReference();
3263  break;
3264  case e_Cosh:
3265  (m_object = new(pool) ncbi::objects::CCosh())->AddReference();
3266  break;
3267  case e_Tanh:
3268  (m_object = new(pool) ncbi::objects::CTanh())->AddReference();
3269  break;
3270  case e_Sech:
3271  (m_object = new(pool) ncbi::objects::CSech())->AddReference();
3272  break;
3273  case e_Csch:
3274  (m_object = new(pool) ncbi::objects::CCsch())->AddReference();
3275  break;
3276  case e_Coth:
3277  (m_object = new(pool) ncbi::objects::CCoth())->AddReference();
3278  break;
3279  case e_Arcsin:
3280  (m_object = new(pool) ncbi::objects::CArcsin())->AddReference();
3281  break;
3282  case e_Arccos:
3283  (m_object = new(pool) ncbi::objects::CArccos())->AddReference();
3284  break;
3285  case e_Arctan:
3286  (m_object = new(pool) ncbi::objects::CArctan())->AddReference();
3287  break;
3288  case e_Arccosh:
3289  (m_object = new(pool) ncbi::objects::CArccosh())->AddReference();
3290  break;
3291  case e_Arccot:
3292  (m_object = new(pool) ncbi::objects::CArccot())->AddReference();
3293  break;
3294  case e_Arccoth:
3295  (m_object = new(pool) ncbi::objects::CArccoth())->AddReference();
3296  break;
3297  case e_Arccsc:
3298  (m_object = new(pool) ncbi::objects::CArccsc())->AddReference();
3299  break;
3300  case e_Arccsch:
3301  (m_object = new(pool) ncbi::objects::CArccsch())->AddReference();
3302  break;
3303  case e_Arcsec:
3304  (m_object = new(pool) ncbi::objects::CArcsec())->AddReference();
3305  break;
3306  case e_Arcsech:
3307  (m_object = new(pool) ncbi::objects::CArcsech())->AddReference();
3308  break;
3309  case e_Arcsinh:
3310  (m_object = new(pool) ncbi::objects::CArcsinh())->AddReference();
3311  break;
3312  case e_Arctanh:
3313  (m_object = new(pool) ncbi::objects::CArctanh())->AddReference();
3314  break;
3315  default:
3316  break;
3317  }
3318  m_choice = index;
3319 }
3320 
3322  "not set",
3323  "sin",
3324  "cos",
3325  "tan",
3326  "sec",
3327  "csc",
3328  "cot",
3329  "sinh",
3330  "cosh",
3331  "tanh",
3332  "sech",
3333  "csch",
3334  "coth",
3335  "arcsin",
3336  "arccos",
3337  "arctan",
3338  "arccosh",
3339  "arccot",
3340  "arccoth",
3341  "arccsc",
3342  "arccsch",
3343  "arcsec",
3344  "arcsech",
3345  "arcsinh",
3346  "arctanh"
3347 };
3348 
3350 {
3351  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
3352 }
3353 
3355 {
3356  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
3357 }
3358 
3360 {
3361  CheckSelected(e_Sin);
3362  return *static_cast<const TSin*>(m_object);
3363 }
3364 
3366 {
3369  value.SetSin();
3370  return value;
3371 }
3372 
3374 {
3375  CheckSelected(e_Cos);
3376  return *static_cast<const TCos*>(m_object);
3377 }
3378 
3380 {
3383  value.SetCos();
3384  return value;
3385 }
3386 
3388 {
3389  CheckSelected(e_Tan);
3390  return *static_cast<const TTan*>(m_object);
3391 }
3392 
3394 {
3397  value.SetTan();
3398  return value;
3399 }
3400 
3402 {
3403  CheckSelected(e_Sec);
3404  return *static_cast<const TSec*>(m_object);
3405 }
3406 
3408 {
3411  value.SetSec();
3412  return value;
3413 }
3414 
3416 {
3417  CheckSelected(e_Csc);
3418  return *static_cast<const TCsc*>(m_object);
3419 }
3420 
3422 {
3425  value.SetCsc();
3426  return value;
3427 }
3428 
3430 {
3431  CheckSelected(e_Cot);
3432  return *static_cast<const TCot*>(m_object);
3433 }
3434 
3436 {
3439  value.SetCot();
3440  return value;
3441 }
3442 
3444 {
3445  CheckSelected(e_Sinh);
3446  return *static_cast<const TSinh*>(m_object);
3447 }
3448 
3450 {
3453  value.SetSinh();
3454  return value;
3455 }
3456 
3458 {
3459  CheckSelected(e_Cosh);
3460  return *static_cast<const TCosh*>(m_object);
3461 }
3462 
3464 {
3467  value.SetCosh();
3468  return value;
3469 }
3470 
3472 {
3473  CheckSelected(e_Tanh);
3474  return *static_cast<const TTanh*>(m_object);
3475 }
3476 
3478 {
3481  value.SetTanh();
3482  return value;
3483 }
3484 
3486 {
3487  CheckSelected(e_Sech);
3488  return *static_cast<const TSech*>(m_object);
3489 }
3490 
3492 {
3495  value.SetSech();
3496  return value;
3497 }
3498 
3500 {
3501  CheckSelected(e_Csch);
3502  return *static_cast<const TCsch*>(m_object);
3503 }
3504 
3506 {
3509  value.SetCsch();
3510  return value;
3511 }
3512 
3514 {
3515  CheckSelected(e_Coth);
3516  return *static_cast<const TCoth*>(m_object);
3517 }
3518 
3520 {
3523  value.SetCoth();
3524  return value;
3525 }
3526 
3528 {
3529  CheckSelected(e_Arcsin);
3530  return *static_cast<const TArcsin*>(m_object);
3531 }
3532 
3534 {
3537  value.SetArcsin();
3538  return value;
3539 }
3540 
3542 {
3543  CheckSelected(e_Arccos);
3544  return *static_cast<const TArccos*>(m_object);
3545 }
3546 
3548 {
3551  value.SetArccos();
3552  return value;
3553 }
3554 
3556 {
3557  CheckSelected(e_Arctan);
3558  return *static_cast<const TArctan*>(m_object);
3559 }
3560 
3562 {
3565  value.SetArctan();
3566  return value;
3567 }
3568 
3570 {
3571  CheckSelected(e_Arccosh);
3572  return *static_cast<const TArccosh*>(m_object);
3573 }
3574 
3576 {
3579  value.SetArccosh();
3580  return value;
3581 }
3582 
3584 {
3585  CheckSelected(e_Arccot);
3586  return *static_cast<const TArccot*>(m_object);
3587 }
3588 
3590 {
3593  value.SetArccot();
3594  return value;
3595 }
3596 
3598 {
3599  CheckSelected(e_Arccoth);
3600  return *static_cast<const TArccoth*>(m_object);
3601 }
3602 
3604 {
3607  value.SetArccoth();
3608  return value;
3609 }
3610 
3612 {
3613  CheckSelected(e_Arccsc);
3614  return *static_cast<const TArccsc*>(m_object);
3615 }
3616 
3618 {
3621  value.SetArccsc();
3622  return value;
3623 }
3624 
3626 {
3627  CheckSelected(e_Arccsch);
3628  return *static_cast<const TArccsch*>(m_object);
3629 }
3630 
3632 {
3635  value.SetArccsch();
3636  return value;
3637 }
3638 
3640 {
3641  CheckSelected(e_Arcsec);
3642  return *static_cast<const TArcsec*>(m_object);
3643 }
3644 
3646 {
3649  value.SetArcsec();
3650  return value;
3651 }
3652 
3654 {
3655  CheckSelected(e_Arcsech);
3656  return *static_cast<const TArcsech*>(m_object);
3657 }
3658 
3660 {
3663  value.SetArcsech();
3664  return value;
3665 }
3666 
3668 {
3669  CheckSelected(e_Arcsinh);
3670  return *static_cast<const TArcsinh*>(m_object);
3671 }
3672 
3674 {
3677  value.SetArcsinh();
3678  return value;
3679 }
3680 
3682 {
3683  CheckSelected(e_Arctanh);
3684  return *static_cast<const TArctanh*>(m_object);
3685 }
3686 
3688 {
3691  value.SetArctanh();
3692  return value;
3693 }
3694 
3695 // helper methods
3696 
3697 // type info
3699 {
3700  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.unary-elementary", "mmlclass");
3701  SET_CHOICE_MODULE("pubmed_mathml3");
3702  ADD_NAMED_REF_CHOICE_VARIANT("sin", m_object, CSin)->SetNsQualified(true);
3703  ADD_NAMED_REF_CHOICE_VARIANT("cos", m_object, CCos)->SetNsQualified(true);
3704  ADD_NAMED_REF_CHOICE_VARIANT("tan", m_object, CTan)->SetNsQualified(true);
3705  ADD_NAMED_REF_CHOICE_VARIANT("sec", m_object, CSec)->SetNsQualified(true);
3706  ADD_NAMED_REF_CHOICE_VARIANT("csc", m_object, CCsc)->SetNsQualified(true);
3707  ADD_NAMED_REF_CHOICE_VARIANT("cot", m_object, CCot)->SetNsQualified(true);
3708  ADD_NAMED_REF_CHOICE_VARIANT("sinh", m_object, CSinh)->SetNsQualified(true);
3709  ADD_NAMED_REF_CHOICE_VARIANT("cosh", m_object, CCosh)->SetNsQualified(true);
3710  ADD_NAMED_REF_CHOICE_VARIANT("tanh", m_object, CTanh)->SetNsQualified(true);
3711  ADD_NAMED_REF_CHOICE_VARIANT("sech", m_object, CSech)->SetNsQualified(true);
3712  ADD_NAMED_REF_CHOICE_VARIANT("csch", m_object, CCsch)->SetNsQualified(true);
3713  ADD_NAMED_REF_CHOICE_VARIANT("coth", m_object, CCoth)->SetNsQualified(true);
3714  ADD_NAMED_REF_CHOICE_VARIANT("arcsin", m_object, CArcsin)->SetNsQualified(true);
3715  ADD_NAMED_REF_CHOICE_VARIANT("arccos", m_object, CArccos)->SetNsQualified(true);
3716  ADD_NAMED_REF_CHOICE_VARIANT("arctan", m_object, CArctan)->SetNsQualified(true);
3717  ADD_NAMED_REF_CHOICE_VARIANT("arccosh", m_object, CArccosh)->SetNsQualified(true);
3718  ADD_NAMED_REF_CHOICE_VARIANT("arccot", m_object, CArccot)->SetNsQualified(true);
3719  ADD_NAMED_REF_CHOICE_VARIANT("arccoth", m_object, CArccoth)->SetNsQualified(true);
3720  ADD_NAMED_REF_CHOICE_VARIANT("arccsc", m_object, CArccsc)->SetNsQualified(true);
3721  ADD_NAMED_REF_CHOICE_VARIANT("arccsch", m_object, CArccsch)->SetNsQualified(true);
3722  ADD_NAMED_REF_CHOICE_VARIANT("arcsec", m_object, CArcsec)->SetNsQualified(true);
3723  ADD_NAMED_REF_CHOICE_VARIANT("arcsech", m_object, CArcsech)->SetNsQualified(true);
3724  ADD_NAMED_REF_CHOICE_VARIANT("arcsinh", m_object, CArcsinh)->SetNsQualified(true);
3725  ADD_NAMED_REF_CHOICE_VARIANT("arctanh", m_object, CArctanh)->SetNsQualified(true);
3726  info->CodeVersion(22400);
3727  info->DataSpec(ncbi::EDataSpec::eXSD);
3728 }
3730 
3731 // constructor
3733  : m_choice(e_not_set)
3734 {
3735 }
3736 
3737 // destructor
3739 {
3740  Reset();
3741 }
3742 
3743 
3745 {
3746  if ( m_choice != e_not_set )
3747  ResetSelection();
3748 }
3749 
3751 {
3752  switch ( m_choice ) {
3753  case e_Mean:
3754  case e_Sdev:
3755  case e_Variance:
3756  case e_Median:
3757  case e_Mode:
3758  m_object->RemoveReference();
3759  break;
3760  default:
3761  break;
3762  }
3763  m_choice = e_not_set;
3764 }
3765 
3766 void CImpliedMrow_Base::C_E::C_ContExp::C_Nary_stats_mmlclass::DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool* pool)
3767 {
3768  switch ( index ) {
3769  case e_Mean:
3770  (m_object = new(pool) ncbi::objects::CMean())->AddReference();
3771  break;
3772  case e_Sdev:
3773  (m_object = new(pool) ncbi::objects::CSdev())->AddReference();
3774  break;
3775  case e_Variance:
3776  (m_object = new(pool) ncbi::objects::CVariance())->AddReference();
3777  break;
3778  case e_Median:
3779  (m_object = new(pool) ncbi::objects::CMedian())->AddReference();
3780  break;
3781  case e_Mode:
3782  (m_object = new(pool) ncbi::objects::CMode())->AddReference();
3783  break;
3784  default:
3785  break;
3786  }
3787  m_choice = index;
3788 }
3789 
3791  "not set",
3792  "mean",
3793  "sdev",
3794  "variance",
3795  "median",
3796  "mode"
3797 };
3798 
3800 {
3801  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
3802 }
3803 
3805 {
3806  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
3807 }
3808 
3810 {
3811  CheckSelected(e_Mean);
3812  return *static_cast<const TMean*>(m_object);
3813 }
3814 
3816 {
3819  value.SetMean();
3820  return value;
3821 }
3822 
3824 {
3825  CheckSelected(e_Sdev);
3826  return *static_cast<const TSdev*>(m_object);
3827 }
3828 
3830 {
3833  value.SetSdev();
3834  return value;
3835 }
3836 
3838 {
3839  CheckSelected(e_Variance);
3840  return *static_cast<const TVariance*>(m_object);
3841 }
3842 
3844 {
3847  value.SetVariance();
3848  return value;
3849 }
3850 
3852 {
3853  CheckSelected(e_Median);
3854  return *static_cast<const TMedian*>(m_object);
3855 }
3856 
3858 {
3861  value.SetMedian();
3862  return value;
3863 }
3864 
3866 {
3867  CheckSelected(e_Mode);
3868  return *static_cast<const TMode*>(m_object);
3869 }
3870 
3872 {
3875  value.SetMode();
3876  return value;
3877 }
3878 
3879 // helper methods
3880 
3881 // type info
3883 {
3884  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.nary-stats", "mmlclass");
3885  SET_CHOICE_MODULE("pubmed_mathml3");
3886  ADD_NAMED_REF_CHOICE_VARIANT("mean", m_object, CMean)->SetNsQualified(true);
3887  ADD_NAMED_REF_CHOICE_VARIANT("sdev", m_object, CSdev)->SetNsQualified(true);
3888  ADD_NAMED_REF_CHOICE_VARIANT("variance", m_object, CVariance)->SetNsQualified(true);
3889  ADD_NAMED_REF_CHOICE_VARIANT("median", m_object, CMedian)->SetNsQualified(true);
3890  ADD_NAMED_REF_CHOICE_VARIANT("mode", m_object, CMode)->SetNsQualified(true);
3891  info->CodeVersion(22400);
3892  info->DataSpec(ncbi::EDataSpec::eXSD);
3893 }
3895 
3896 // constructor
3898  : m_choice(e_not_set)
3899 {
3900 }
3901 
3902 // destructor
3904 {
3905  Reset();
3906 }
3907 
3908 
3910 {
3911  if ( m_choice != e_not_set )
3912  ResetSelection();
3913 }
3914 
3916 {
3917  switch ( m_choice ) {
3918  case e_Vector:
3919  case e_Matrix:
3920  case e_Matrixrow:
3921  m_object->RemoveReference();
3922  break;
3923  default:
3924  break;
3925  }
3926  m_choice = e_not_set;
3927 }
3928 
3930 {
3931  switch ( index ) {
3932  case e_Vector:
3933  (m_object = new(pool) ncbi::objects::CVector())->AddReference();
3934  break;
3935  case e_Matrix:
3936  (m_object = new(pool) ncbi::objects::CMatrix())->AddReference();
3937  break;
3938  case e_Matrixrow:
3939  (m_object = new(pool) ncbi::objects::CMatrixrow())->AddReference();
3940  break;
3941  default:
3942  break;
3943  }
3944  m_choice = index;
3945 }
3946 
3948  "not set",
3949  "vector",
3950  "matrix",
3951  "matrixrow"
3952 };
3953 
3955 {
3956  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
3957 }
3958 
3960 {
3961  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
3962 }
3963 
3965 {
3966  CheckSelected(e_Vector);
3967  return *static_cast<const TVector*>(m_object);
3968 }
3969 
3971 {
3973  return *static_cast<TVector*>(m_object);
3974 }
3975 
3977 {
3978  TVector* ptr = &value;
3979  if ( m_choice != e_Vector || m_object != ptr ) {
3980  ResetSelection();
3981  (m_object = ptr)->AddReference();
3982  m_choice = e_Vector;
3983  }
3984 }
3985 
3987 {
3988  CheckSelected(e_Matrix);
3989  return *static_cast<const TMatrix*>(m_object);
3990 }
3991 
3993 {
3995  return *static_cast<TMatrix*>(m_object);
3996 }
3997 
3999 {
4000  TMatrix* ptr = &value;
4001  if ( m_choice != e_Matrix || m_object != ptr ) {
4002  ResetSelection();
4003  (m_object = ptr)->AddReference();
4004  m_choice = e_Matrix;
4005  }
4006 }
4007 
4009 {
4010  CheckSelected(e_Matrixrow);
4011  return *static_cast<const TMatrixrow*>(m_object);
4012 }
4013 
4015 {
4017  return *static_cast<TMatrixrow*>(m_object);
4018 }
4019 
4021 {
4022  TMatrixrow* ptr = &value;
4023  if ( m_choice != e_Matrixrow || m_object != ptr ) {
4024  ResetSelection();
4025  (m_object = ptr)->AddReference();
4026  m_choice = e_Matrixrow;
4027  }
4028 }
4029 
4030 // helper methods
4031 
4032 // type info
4034 {
4035  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.nary-constructor", "mmlclass");
4036  SET_CHOICE_MODULE("pubmed_mathml3");
4037  ADD_NAMED_REF_CHOICE_VARIANT("vector", m_object, CVector)->SetNsQualified(true);
4038  ADD_NAMED_REF_CHOICE_VARIANT("matrix", m_object, CMatrix)->SetNsQualified(true);
4039  ADD_NAMED_REF_CHOICE_VARIANT("matrixrow", m_object, CMatrixrow)->SetNsQualified(true);
4040  info->CodeVersion(22400);
4041  info->DataSpec(ncbi::EDataSpec::eXSD);
4042 }
4044 
4045 // constructor
4047  : m_choice(e_not_set)
4048 {
4049 }
4050 
4051 // destructor
4053 {
4054  Reset();
4055 }
4056 
4057 
4059 {
4060  if ( m_choice != e_not_set )
4061  ResetSelection();
4062 }
4063 
4065 {
4066  switch ( m_choice ) {
4067  case e_Determinant:
4068  case e_Transpose:
4069  m_object->RemoveReference();
4070  break;
4071  default:
4072  break;
4073  }
4074  m_choice = e_not_set;
4075 }
4076 
4077 void CImpliedMrow_Base::C_E::C_ContExp::C_Unary_linalg_mmlclass::DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool* pool)
4078 {
4079  switch ( index ) {
4080  case e_Determinant:
4081  (m_object = new(pool) ncbi::objects::CDeterminant())->AddReference();
4082  break;
4083  case e_Transpose:
4084  (m_object = new(pool) ncbi::objects::CTranspose())->AddReference();
4085  break;
4086  default:
4087  break;
4088  }
4089  m_choice = index;
4090 }
4091 
4093  "not set",
4094  "determinant",
4095  "transpose"
4096 };
4097 
4099 {
4100  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
4101 }
4102 
4104 {
4105  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
4106 }
4107 
4109 {
4110  CheckSelected(e_Determinant);
4111  return *static_cast<const TDeterminant*>(m_object);
4112 }
4113 
4115 {
4116  Select(e_Determinant, NCBI_NS_NCBI::eDoNotResetVariant);
4118  value.SetDeterminant();
4119  return value;
4120 }
4121 
4123 {
4124  CheckSelected(e_Transpose);
4125  return *static_cast<const TTranspose*>(m_object);
4126 }
4127 
4129 {
4132  value.SetTranspose();
4133  return value;
4134 }
4135 
4136 // helper methods
4137 
4138 // type info
4140 {
4141  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.unary-linalg", "mmlclass");
4142  SET_CHOICE_MODULE("pubmed_mathml3");
4143  ADD_NAMED_REF_CHOICE_VARIANT("determinant", m_object, CDeterminant)->SetNsQualified(true);
4144  ADD_NAMED_REF_CHOICE_VARIANT("transpose", m_object, CTranspose)->SetNsQualified(true);
4145  info->CodeVersion(22400);
4146  info->DataSpec(ncbi::EDataSpec::eXSD);
4147 }
4149 
4150 // constructor
4152  : m_choice(e_not_set)
4153 {
4154 }
4155 
4156 // destructor
4158 {
4159  Reset();
4160 }
4161 
4162 
4164 {
4165  return m_Selector ? m_Selector->IsSetSelector() : false;
4166 }
4167 
4169 {
4170  if ( !m_Selector ) {
4171  m_Selector.Reset(new TSelector());
4172  return;
4173  }
4174  (*m_Selector).Reset();
4175 }
4176 
4178 {
4179  m_Selector.Reset(&value);
4180 }
4181 
4183 {
4184  if ( !m_Selector ) {
4185  ResetSelector();
4186  }
4187  m_Selector->SetSelector();
4188  return (*m_Selector);
4189 }
4190 
4192 {
4193  ResetSelector();
4194 }
4195 
4197 {
4198  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.nary-linalg", "mmlclass");
4199  SET_CLASS_MODULE("pubmed_mathml3");
4200  ADD_NAMED_REF_MEMBER("selector", m_Selector, CSelector)->SetNsQualified(true);
4201  info->RandomOrder();
4202  info->CodeVersion(22400);
4203  info->DataSpec(ncbi::EDataSpec::eXSD);
4204 }
4206 
4207 // constructor
4209 {
4210  memset(m_set_State,0,sizeof(m_set_State));
4211  if ( !IsAllocatedInPool() ) {
4212  ResetSelector();
4213  }
4214 }
4215 
4216 // destructor
4218 {
4219 }
4220 
4221 
4223 {
4224  if ( m_choice != e_not_set )
4225  ResetSelection();
4226 }
4227 
4229 {
4230  switch ( m_choice ) {
4231  case e_Vectorproduct:
4232  case e_Scalarproduct:
4233  case e_Outerproduct:
4234  m_object->RemoveReference();
4235  break;
4236  default:
4237  break;
4238  }
4239  m_choice = e_not_set;
4240 }
4241 
4243 {
4244  switch ( index ) {
4245  case e_Vectorproduct:
4246  (m_object = new(pool) ncbi::objects::CVectorproduct())->AddReference();
4247  break;
4248  case e_Scalarproduct:
4249  (m_object = new(pool) ncbi::objects::CScalarproduct())->AddReference();
4250  break;
4251  case e_Outerproduct:
4252  (m_object = new(pool) ncbi::objects::COuterproduct())->AddReference();
4253  break;
4254  default:
4255  break;
4256  }
4257  m_choice = index;
4258 }
4259 
4261  "not set",
4262  "vectorproduct",
4263  "scalarproduct",
4264  "outerproduct"
4265 };
4266 
4268 {
4269  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
4270 }
4271 
4273 {
4274  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
4275 }
4276 
4278 {
4279  CheckSelected(e_Vectorproduct);
4280  return *static_cast<const TVectorproduct*>(m_object);
4281 }
4282 
4284 {
4285  Select(e_Vectorproduct, NCBI_NS_NCBI::eDoNotResetVariant);
4287  value.SetVectorproduct();
4288  return value;
4289 }
4290 
4292 {
4293  CheckSelected(e_Scalarproduct);
4294  return *static_cast<const TScalarproduct*>(m_object);
4295 }
4296 
4298 {
4299  Select(e_Scalarproduct, NCBI_NS_NCBI::eDoNotResetVariant);
4301  value.SetScalarproduct();
4302  return value;
4303 }
4304 
4306 {
4307  CheckSelected(e_Outerproduct);
4308  return *static_cast<const TOuterproduct*>(m_object);
4309 }
4310 
4312 {
4313  Select(e_Outerproduct, NCBI_NS_NCBI::eDoNotResetVariant);
4315  value.SetOuterproduct();
4316  return value;
4317 }
4318 
4319 // helper methods
4320 
4321 // type info
4323 {
4324  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.binary-linalg", "mmlclass");
4325  SET_CHOICE_MODULE("pubmed_mathml3");
4326  ADD_NAMED_REF_CHOICE_VARIANT("vectorproduct", m_object, CVectorproduct)->SetNsQualified(true);
4327  ADD_NAMED_REF_CHOICE_VARIANT("scalarproduct", m_object, CScalarproduct)->SetNsQualified(true);
4328  ADD_NAMED_REF_CHOICE_VARIANT("outerproduct", m_object, COuterproduct)->SetNsQualified(true);
4329  info->CodeVersion(22400);
4330  info->DataSpec(ncbi::EDataSpec::eXSD);
4331 }
4333 
4334 // constructor
4336  : m_choice(e_not_set)
4337 {
4338 }
4339 
4340 // destructor
4342 {
4343  Reset();
4344 }
4345 
4346 
4348 {
4349  if ( m_choice != e_not_set )
4350  ResetSelection();
4351 }
4352 
4354 {
4355  switch ( m_choice ) {
4356  case e_Integers:
4357  case e_Reals:
4358  case e_Rationals:
4359  case e_Naturalnumbers:
4360  case e_Complexes:
4361  case e_Primes:
4362  case e_Emptyset:
4363  m_object->RemoveReference();
4364  break;
4365  default:
4366  break;
4367  }
4368  m_choice = e_not_set;
4369 }
4370 
4371 void CImpliedMrow_Base::C_E::C_ContExp::C_Constant_set_mmlclass::DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool* pool)
4372 {
4373  switch ( index ) {
4374  case e_Integers:
4375  (m_object = new(pool) ncbi::objects::CIntegers())->AddReference();
4376  break;
4377  case e_Reals:
4378  (m_object = new(pool) ncbi::objects::CReals())->AddReference();
4379  break;
4380  case e_Rationals:
4381  (m_object = new(pool) ncbi::objects::CRationals())->AddReference();
4382  break;
4383  case e_Naturalnumbers:
4384  (m_object = new(pool) ncbi::objects::CNaturalnumbers())->AddReference();
4385  break;
4386  case e_Complexes:
4387  (m_object = new(pool) ncbi::objects::CComplexes())->AddReference();
4388  break;
4389  case e_Primes:
4390  (m_object = new(pool) ncbi::objects::CPrimes())->AddReference();
4391  break;
4392  case e_Emptyset:
4393  (m_object = new(pool) ncbi::objects::CEmptyset())->AddReference();
4394  break;
4395  default:
4396  break;
4397  }
4398  m_choice = index;
4399 }
4400 
4402  "not set",
4403  "integers",
4404  "reals",
4405  "rationals",
4406  "naturalnumbers",
4407  "complexes",
4408  "primes",
4409  "emptyset"
4410 };
4411 
4413 {
4414  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
4415 }
4416 
4418 {
4419  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
4420 }
4421 
4423 {
4424  CheckSelected(e_Integers);
4425  return *static_cast<const TIntegers*>(m_object);
4426 }
4427 
4429 {
4432  value.SetIntegers();
4433  return value;
4434 }
4435 
4437 {
4438  CheckSelected(e_Reals);
4439  return *static_cast<const TReals*>(m_object);
4440 }
4441 
4443 {
4446  value.SetReals();
4447  return value;
4448 }
4449 
4451 {
4452  CheckSelected(e_Rationals);
4453  return *static_cast<const TRationals*>(m_object);
4454 }
4455 
4457 {
4460  value.SetRationals();
4461  return value;
4462 }
4463 
4465 {
4466  CheckSelected(e_Naturalnumbers);
4467  return *static_cast<const TNaturalnumbers*>(m_object);
4468 }
4469 
4471 {
4472  Select(e_Naturalnumbers, NCBI_NS_NCBI::eDoNotResetVariant);
4474  value.SetNaturalnumbers();
4475  return value;
4476 }
4477 
4479 {
4480  CheckSelected(e_Complexes);
4481  return *static_cast<const TComplexes*>(m_object);
4482 }
4483 
4485 {
4488  value.SetComplexes();
4489  return value;
4490 }
4491 
4493 {
4494  CheckSelected(e_Primes);
4495  return *static_cast<const TPrimes*>(m_object);
4496 }
4497 
4499 {
4502  value.SetPrimes();
4503  return value;
4504 }
4505 
4507 {
4508  CheckSelected(e_Emptyset);
4509  return *static_cast<const TEmptyset*>(m_object);
4510 }
4511 
4513 {
4516  value.SetEmptyset();
4517  return value;
4518 }
4519 
4520 // helper methods
4521 
4522 // type info
4524 {
4525  SET_INTERNAL_NAME("ImpliedMrow.E.ContExp.constant-set", "mmlclass");
4526  SET_CHOICE_MODULE("pubmed_mathml3");
4527  ADD_NAMED_REF_CHOICE_VARIANT("integers", m_object, CIntegers)->SetNsQualified(true);
4528  ADD_NAMED_REF_CHOICE_VARIANT("reals", m_object, CReals)->SetNsQualified(true);
4529  ADD_NAMED_REF_CHOICE_VARIANT("rationals", m_object, CRationals)->SetNsQualified(true);
4530  ADD_NAMED_REF_CHOICE_VARIANT("naturalnumbers", m_object, CNaturalnumbers)->SetNsQualified(true);
4531  ADD_NAMED_REF_CHOICE_VARIANT("complexes", m_object, CComplexes)->SetNsQualified(true);
4532  ADD_NAMED_REF_CHOICE_VARIANT("primes", m_object, CPrimes)->SetNsQualified(true);
4533  ADD_NAMED_REF_CHOICE_VARIANT("emptyset", m_object, CEmptyset)->SetNsQualified(true);
4534  info->CodeVersion(22400);
4535  info->DataSpec(ncbi::EDataSpec::eXSD);
4536 }
4538 
4539 // constructor
4541  : m_choice(e_not_set)
4542 {
4543 }
4544 
4545 // destructor
4547 {
4548  Reset();
4549 }
4550 
4551 
4553 {
4554  if ( m_choice != e_not_set )
4555  ResetSelection();
4556 }
4557 
4559 {
4560  switch ( m_choice ) {
4561  case e_Exponentiale:
4562  case e_Imaginaryi:
4563  case e_Notanumber:
4564  case e_True:
4565  case e_False:
4566  case e_Pi:
4567  case e_Eulergamma:
4568  case e_Infinity:
4569  m_object->RemoveReference();
4570  break;
4571  default:
4572  break;
4573  }
4574  m_choice = e_not_set;
4575 }
4576 
4578 {
4579  switch ( index ) {
4580  case e_Exponentiale:
4581  (m_object = new(pool) ncbi::objects::CExponentiale())->AddReference();
4582  break;
4583  case e_Imaginaryi:
4584  (m_object = new(pool) ncbi::objects::CImaginaryi())->AddReference();
4585  break;
4586  case e_Notanumber:
4587  (m_object = new(pool) ncbi::objects::CNotanumber())->AddReference();
4588  break;
4589  case e_True:
4590  (m_object = new(pool) ncbi::objects::CTrue())->AddReference();
4591  break;
4592  case e_False:
4593  (m_object = new(pool) ncbi::objects::CFalse())->AddReference();
4594  break;
4595  case e_Pi:
4596  (m_object = new(pool) ncbi::objects::CPi())->AddReference();
4597  break;
4598  case e_Eulergamma:
4599  (m_object = new(pool) ncbi::objects::CEulergamma())->AddReference();
4600  break;
4601  case e_Infinity:
4602  (m_object = new(pool) ncbi::objects::CInfinity())->AddReference();
4603  break;
4604  default:
4605  break;
4606  }
4607  m_choice = index;
4608 }
4609 
4611  "not set",
4612  "exponentiale",
4613  "imaginaryi",
4614  "notanumber",
4615  "true",
4616  "false",
4617  "pi",
4618  "eulergamma",
4619  "infinity"
4620 };
4621 
4623 {
4624  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
4625 }
4626 
4628 {
4629  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
4630 }
4631 
4633 {
4634  CheckSelected(e_Exponentiale);
4635  return *static_cast<const TExponentiale*>(m_object);
4636 }
4637 
4639 {
4640  Select(e_Exponentiale, NCBI_NS_NCBI::eDoNotResetVariant);
4642  value.SetExponentiale();
4643  return value;
4644 }
4645 
4647 {
4648  CheckSelected(e_Imaginaryi);
4649  return *static_cast<const TImaginaryi*>(m_object);
4650 }
4651 
4653 {
4656  value.SetImaginaryi();
4657  return value;
4658 }
4659 
4661 {
4662  CheckSelected(e_Notanumber);
4663  return *static_cast<const TNotanumber*>(m_object);
4664 }
4665 
4667 {
4670  value.SetNotanumber();
4671  return value;
4672 }
4673 
4675 {
4676  CheckSelected(e_True);
4677  return *static_cast<const TTrue*>(m_object);
4678 }
4679 
4681 {
4684  value.SetTrue();
4685  return value;
4686 }
4687 
4689 {
4690  CheckSelected(e_False);
4691  return *static_cast<const TFalse*>(m_object);
4692 }
4693 
4695 {
4698  value.SetFalse();
4699  return value;
4700 }
4701 
4703 {
4704  CheckSelected(e_Pi);
4705  return *static_cast<const TPi*>(m_object);
4706 }
4707 
4709 {
4712  value.SetPi();
4713  return value;
4714 }
4715 
4717 {
4718  CheckSelected(e_Eulergamma);
4719  return *static_cast<const TEulergamma*>(m_object);
4720 }
4721 
4723 {
4726  value.SetEulergamma();
4727  return