NCBI C++ ToolKit
MathExpression_.hpp
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  */
27 
28 /// @file MathExpression_.hpp
29 /// Data storage class.
30 ///
31 /// This file was generated by application DATATOOL
32 /// using the following specifications:
33 /// <a href="/IEB/ToolBox/CPP_DOC/lxr/source/src/objtools/eutils/efetch/pubmed_mathml3.xsd">pubmed_mathml3.xsd</a>
34 /// and additional tune-up parameters:
35 /// <a href="/IEB/ToolBox/CPP_DOC/lxr/source/src/objtools/eutils/efetch/pubmed_mathml3.def">pubmed_mathml3.def</a>
36 ///
37 /// ATTENTION:
38 /// Don't edit or commit this file into CVS as this file will
39 /// be overridden (by DATATOOL) without warning!
40 
41 #ifndef OBJTOOLS_EUTILS_EFETCH_MATHEXPRESSION_BASE_HPP
42 #define OBJTOOLS_EUTILS_EFETCH_MATHEXPRESSION_BASE_HPP
43 
44 // standard includes
45 #include <serial/serialbase.hpp>
47 
48 #ifndef BEGIN_objects_SCOPE
49 # define BEGIN_objects_SCOPE BEGIN_SCOPE(objects)
50 # define END_objects_SCOPE END_SCOPE(objects)
51 #endif
52 BEGIN_objects_SCOPE // namespace ncbi::objects::
53 
54 
55 // forward declarations
56 class CAbs;
57 class CAnd;
58 class CApply;
59 class CApprox;
60 class CArccos;
61 class CArccosh;
62 class CArccot;
63 class CArccoth;
64 class CArccsc;
65 class CArccsch;
66 class CArcsec;
67 class CArcsech;
68 class CArcsin;
69 class CArcsinh;
70 class CArctan;
71 class CArctanh;
72 class CArg;
73 class CBind;
74 class CCard;
75 class CCartesianproduct;
76 class CCbytes;
77 class CCeiling;
78 class CCerror;
79 class CCi;
80 class CCn;
81 class CCodomain;
82 class CComplexes;
83 class CCompose;
84 class CConjugate;
85 class CCos;
86 class CCosh;
87 class CCot;
88 class CCoth;
89 class CCs;
90 class CCsc;
91 class CCsch;
92 class CCsymbol;
93 class CCurl;
94 class CDeclare;
95 class CDeterminant;
96 class CDiff;
97 class CDivergence;
98 class CDivide;
99 class CDomain;
100 class CEmptyset;
101 class CEq;
102 class CEquivalent;
103 class CEulergamma;
104 class CExists;
105 class CExp;
106 class CExponentiale;
107 class CFactorial;
108 class CFactorof;
109 class CFalse;
110 class CFloor;
111 class CFn;
112 class CForall;
113 class CGcd;
114 class CGeq;
115 class CGrad;
116 class CGt;
117 class CIdent;
118 class CImage;
119 class CImaginary;
120 class CImaginaryi;
121 class CImplies;
122 class CIn;
123 class CInfinity;
124 class CInt;
125 class CIntegers;
126 class CIntersect;
127 class CInterval;
128 class CInverse;
129 class CLambda;
130 class CLaplacian;
131 class CLcm;
132 class CLeq;
133 class CLimit;
134 class CList;
135 class CLn;
136 class CLog;
137 class CLt;
138 class CMaction;
139 class CMaligngroup;
140 class CMalignmark;
141 class CMatrix;
142 class CMatrixrow;
143 class CMax;
144 class CMean;
145 class CMedian;
146 class CMenclose;
147 class CMerror;
148 class CMfenced;
149 class CMfrac;
150 class CMi;
151 class CMin;
152 class CMinus;
153 class CMlongdiv;
154 class CMmultiscripts;
155 class CMn;
156 class CMo;
157 class CMode;
158 class CMoment;
159 class CMover;
160 class CMpadded;
161 class CMphantom;
162 class CMroot;
163 class CMrow;
164 class CMs;
165 class CMspace;
166 class CMsqrt;
167 class CMstack;
168 class CMstyle;
169 class CMsub;
170 class CMsubsup;
171 class CMsup;
172 class CMtable;
173 class CMtext;
174 class CMunder;
175 class CMunderover;
176 class CNaturalnumbers;
177 class CNeq;
178 class CNot;
179 class CNotanumber;
180 class CNotin;
181 class CNotprsubset;
182 class CNotsubset;
183 class COr;
184 class COuterproduct;
185 class CPartialdiff;
186 class CPi;
187 class CPiecewise;
188 class CPlus;
189 class CPower;
190 class CPrimes;
191 class CProduct;
192 class CPrsubset;
193 class CQuotient;
194 class CRationals;
195 class CReal;
196 class CReals;
197 class CReln;
198 class CRem;
199 class CRoot;
200 class CScalarproduct;
201 class CSdev;
202 class CSec;
203 class CSech;
204 class CSelector;
205 class CSemantics;
206 class CSet;
207 class CSetdiff;
208 class CShare;
209 class CSin;
210 class CSinh;
211 class CSubset;
212 class CSum;
213 class CTan;
214 class CTanh;
215 class CTendsto;
216 class CTimes;
217 class CTranspose;
218 class CTrue;
219 class CUnion;
220 class CVariance;
221 class CVector;
222 class CVectorproduct;
223 class CXor;
224 
225 
226 // generated classes
227 
228 
229 /** @addtogroup dataspec_pubmed_mathml3
230  *
231  * @{
232  */
233 
234 /////////////////////////////////////////////////////////////////////////////
235 ///
236 /// CMathExpression_Base --
237 ///
238 
240 {
242 public:
243  // constructor
244  CMathExpression_Base(void);
245  // destructor
246  virtual ~CMathExpression_Base(void);
247 
248  // type info
250 
251  /////////////////////////////////////////////////////////////////////////////
252  ///
253  /// C_ContExp --
254  ///
255 
256  class C_ContExp : public CSerialObject
257  {
259  public:
260  // constructor
261  C_ContExp(void);
262  // destructor
263  ~C_ContExp(void);
264 
265  // type info
267 
268  /////////////////////////////////////////////////////////////////////////////
269  ///
270  /// C_DeprecatedContExp --
271  ///
272 
274  {
276  public:
277  // constructor
278  C_DeprecatedContExp(void);
279  // destructor
280  ~C_DeprecatedContExp(void);
281 
282  // type info
284 
285 
286  /// Choice variants.
287  enum E_Choice {
288  e_not_set = 0, ///< No variant selected
291  e_Declare
292  };
293  /// Maximum+1 value of the choice variant enumerator.
295  e_MaxChoice = 4 ///< == e_Declare+1
296  };
297 
298  /// Reset the whole object
299  void Reset(void);
300 
301  /// Reset the selection (set it to e_not_set).
302  void ResetSelection(void);
303 
304  /// Which variant is currently selected.
305  ///
306  /// @return
307  /// Choice state enumerator.
308  E_Choice Which(void) const;
309 
310  /// Verify selection, throw exception if it differs from the expected.
311  ///
312  /// @param index
313  /// Expected selection.
314  void CheckSelected(E_Choice index) const;
315 
316  /// Throw 'InvalidSelection' exception.
317  ///
318  /// @param index
319  /// Expected selection.
320  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
321 
322  /// Retrieve selection name (for diagnostic purposes).
323  ///
324  /// @param index
325  /// One of possible selection states.
326  /// @return
327  /// Name string.
328  static string SelectionName(E_Choice index);
329 
330  /// Select the requested variant if needed.
331  ///
332  /// @param index
333  /// New selection state.
334  /// @param reset
335  /// Flag that defines the resetting of the variant data. The data will
336  /// be reset if either the current selection differs from the new one,
337  /// or the flag is set to eDoResetVariant.
339  /// Select the requested variant if needed,
340  /// allocating CObject variants from memory pool.
341  void Select(E_Choice index,
342  EResetVariant reset,
343  CObjectMemoryPool* pool);
344 
345  // types
346  typedef CReln TReln;
347  typedef CFn TFn;
349 
350  // getters
351  // setters
352 
353 
354  /// Check if variant Reln is selected.
355  ///
356  /// Reln type is defined as 'typedef CReln TReln'.
357  /// @return
358  /// - true, if the variant is selected.
359  /// - false, otherwise.
360  bool IsReln(void) const;
361 
362  /// Get the variant data.
363  ///
364  /// @return
365  /// Reference to the data.
366  const TReln& GetReln(void) const;
367 
368  /// Select the variant.
369  ///
370  /// @return
371  /// Reference to the variant data.
372  TReln& SetReln(void);
373  /// Select the variant and set its data.
374  ///
375  /// @param value
376  /// Reference to the data.
377  void SetReln(TReln& value);
378 
379 
380  /// Check if variant Fn is selected.
381  ///
382  /// Fn type is defined as 'typedef CFn TFn'.
383  /// @return
384  /// - true, if the variant is selected.
385  /// - false, otherwise.
386  bool IsFn(void) const;
387 
388  /// Get the variant data.
389  ///
390  /// @return
391  /// Reference to the data.
392  const TFn& GetFn(void) const;
393 
394  /// Select the variant.
395  ///
396  /// @return
397  /// Reference to the variant data.
398  TFn& SetFn(void);
399  /// Select the variant and set its data.
400  ///
401  /// @param value
402  /// Reference to the data.
403  void SetFn(TFn& value);
404 
405 
406  /// Check if variant Declare is selected.
407  ///
408  /// Declare type is defined as 'typedef CDeclare TDeclare'.
409  /// @return
410  /// - true, if the variant is selected.
411  /// - false, otherwise.
412  bool IsDeclare(void) const;
413 
414  /// Get the variant data.
415  ///
416  /// @return
417  /// Reference to the data.
418  const TDeclare& GetDeclare(void) const;
419 
420  /// Select the variant.
421  ///
422  /// @return
423  /// Reference to the variant data.
424  TDeclare& SetDeclare(void);
425  /// Select the variant and set its data.
426  ///
427  /// @param value
428  /// Reference to the data.
429  void SetDeclare(TDeclare& value);
430 
431 
432  private:
433  // copy constructor and assignment operator
436  // choice state
438  // helper methods
439  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
440 
441  static const char* const sm_SelectionNames[];
442  // data
443  NCBI_NS_NCBI::CSerialObject *m_object;
444  };
445  /////////////////////////////////////////////////////////////////////////////
446  ///
447  /// C_Interval_mmlclass --
448  ///
449 
451  {
453  public:
454  // constructor
455  C_Interval_mmlclass(void);
456  // destructor
457  ~C_Interval_mmlclass(void);
458 
459  // type info
461 
462  // types
464 
465  // member index
466  enum class E_memberIndex {
467  e__allMandatory = 0,
468  e_interval
469  };
471 
472  // getters
473  // setters
474 
475  /// Check if a value has been assigned to Interval data member.
476  ///
477  /// Data member Interval is mandatory;
478  /// its type is defined as 'typedef CInterval TInterval'
479  /// @return
480  /// - true, if a value has been assigned.
481  /// - false, otherwise.
482  bool IsSetInterval(void) const;
483 
484  /// Check if it is safe to call GetInterval method.
485  ///
486  /// @return
487  /// - true, if the data member is getatable.
488  /// - false, otherwise.
489  bool CanGetInterval(void) const;
490 
491  /// Reset Interval data member.
492  void ResetInterval(void);
493 
494  /// Get the Interval member data.
495  ///
496  /// @return
497  /// Reference to the member data.
498  const TInterval& GetInterval(void) const;
499 
500  /// Assign a value to Interval data member.
501  ///
502  /// @param value
503  /// Reference to value.
504  void SetInterval(TInterval& value);
505 
506  /// Assign a value to Interval data member.
507  ///
508  /// @return
509  /// Reference to the data value.
510  TInterval& SetInterval(void);
511 
512  /// Reset the whole object
513  void Reset(void);
514 
515 
516  private:
517  // Prohibit copy constructor and assignment operator
520 
521  // data
524  };
525  /////////////////////////////////////////////////////////////////////////////
526  ///
527  /// C_Unary_functional_mmlclass --
528  ///
529 
531  {
533  public:
534  // constructor
536  // destructor
538 
539  // type info
541 
542 
543  /// Choice variants.
544  enum E_Choice {
545  e_not_set = 0, ///< No variant selected
553  e_Moment
554  };
555  /// Maximum+1 value of the choice variant enumerator.
557  e_MaxChoice = 9 ///< == e_Moment+1
558  };
559 
560  /// Reset the whole object
561  void Reset(void);
562 
563  /// Reset the selection (set it to e_not_set).
564  void ResetSelection(void);
565 
566  /// Which variant is currently selected.
567  ///
568  /// @return
569  /// Choice state enumerator.
570  E_Choice Which(void) const;
571 
572  /// Verify selection, throw exception if it differs from the expected.
573  ///
574  /// @param index
575  /// Expected selection.
576  void CheckSelected(E_Choice index) const;
577 
578  /// Throw 'InvalidSelection' exception.
579  ///
580  /// @param index
581  /// Expected selection.
582  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
583 
584  /// Retrieve selection name (for diagnostic purposes).
585  ///
586  /// @param index
587  /// One of possible selection states.
588  /// @return
589  /// Name string.
590  static string SelectionName(E_Choice index);
591 
592  /// Select the requested variant if needed.
593  ///
594  /// @param index
595  /// New selection state.
596  /// @param reset
597  /// Flag that defines the resetting of the variant data. The data will
598  /// be reset if either the current selection differs from the new one,
599  /// or the flag is set to eDoResetVariant.
601  /// Select the requested variant if needed,
602  /// allocating CObject variants from memory pool.
603  void Select(E_Choice index,
604  EResetVariant reset,
605  CObjectMemoryPool* pool);
606 
607  // types
609  typedef CIdent TIdent;
610  typedef CDomain TDomain;
612  typedef CImage TImage;
613  typedef CLn TLn;
614  typedef CLog TLog;
615  typedef CMoment TMoment;
616 
617  // getters
618  // setters
619 
620 
621  /// Check if variant Inverse is selected.
622  ///
623  /// Inverse type is defined as 'typedef CInverse TInverse'.
624  /// @return
625  /// - true, if the variant is selected.
626  /// - false, otherwise.
627  bool IsInverse(void) const;
628 
629  /// Get the variant data.
630  ///
631  /// @return
632  /// Reference to the data.
633  const TInverse& GetInverse(void) const;
634 
635  /// Select the variant.
636  ///
637  /// @return
638  /// Reference to the variant data.
639  TInverse& SetInverse(void);
640 
641 
642  /// Check if variant Ident is selected.
643  ///
644  /// Ident type is defined as 'typedef CIdent TIdent'.
645  /// @return
646  /// - true, if the variant is selected.
647  /// - false, otherwise.
648  bool IsIdent(void) const;
649 
650  /// Get the variant data.
651  ///
652  /// @return
653  /// Reference to the data.
654  const TIdent& GetIdent(void) const;
655 
656  /// Select the variant.
657  ///
658  /// @return
659  /// Reference to the variant data.
660  TIdent& SetIdent(void);
661 
662 
663  /// Check if variant Domain is selected.
664  ///
665  /// Domain type is defined as 'typedef CDomain TDomain'.
666  /// @return
667  /// - true, if the variant is selected.
668  /// - false, otherwise.
669  bool IsDomain(void) const;
670 
671  /// Get the variant data.
672  ///
673  /// @return
674  /// Reference to the data.
675  const TDomain& GetDomain(void) const;
676 
677  /// Select the variant.
678  ///
679  /// @return
680  /// Reference to the variant data.
681  TDomain& SetDomain(void);
682 
683 
684  /// Check if variant Codomain is selected.
685  ///
686  /// Codomain type is defined as 'typedef CCodomain TCodomain'.
687  /// @return
688  /// - true, if the variant is selected.
689  /// - false, otherwise.
690  bool IsCodomain(void) const;
691 
692  /// Get the variant data.
693  ///
694  /// @return
695  /// Reference to the data.
696  const TCodomain& GetCodomain(void) const;
697 
698  /// Select the variant.
699  ///
700  /// @return
701  /// Reference to the variant data.
702  TCodomain& SetCodomain(void);
703 
704 
705  /// Check if variant Image is selected.
706  ///
707  /// Image type is defined as 'typedef CImage TImage'.
708  /// @return
709  /// - true, if the variant is selected.
710  /// - false, otherwise.
711  bool IsImage(void) const;
712 
713  /// Get the variant data.
714  ///
715  /// @return
716  /// Reference to the data.
717  const TImage& GetImage(void) const;
718 
719  /// Select the variant.
720  ///
721  /// @return
722  /// Reference to the variant data.
723  TImage& SetImage(void);
724 
725 
726  /// Check if variant Ln is selected.
727  ///
728  /// Ln type is defined as 'typedef CLn TLn'.
729  /// @return
730  /// - true, if the variant is selected.
731  /// - false, otherwise.
732  bool IsLn(void) const;
733 
734  /// Get the variant data.
735  ///
736  /// @return
737  /// Reference to the data.
738  const TLn& GetLn(void) const;
739 
740  /// Select the variant.
741  ///
742  /// @return
743  /// Reference to the variant data.
744  TLn& SetLn(void);
745 
746 
747  /// Check if variant Log is selected.
748  ///
749  /// Log type is defined as 'typedef CLog TLog'.
750  /// @return
751  /// - true, if the variant is selected.
752  /// - false, otherwise.
753  bool IsLog(void) const;
754 
755  /// Get the variant data.
756  ///
757  /// @return
758  /// Reference to the data.
759  const TLog& GetLog(void) const;
760 
761  /// Select the variant.
762  ///
763  /// @return
764  /// Reference to the variant data.
765  TLog& SetLog(void);
766 
767 
768  /// Check if variant Moment is selected.
769  ///
770  /// Moment type is defined as 'typedef CMoment TMoment'.
771  /// @return
772  /// - true, if the variant is selected.
773  /// - false, otherwise.
774  bool IsMoment(void) const;
775 
776  /// Get the variant data.
777  ///
778  /// @return
779  /// Reference to the data.
780  const TMoment& GetMoment(void) const;
781 
782  /// Select the variant.
783  ///
784  /// @return
785  /// Reference to the variant data.
786  TMoment& SetMoment(void);
787 
788 
789  private:
790  // copy constructor and assignment operator
793  // choice state
795  // helper methods
796  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
797 
798  static const char* const sm_SelectionNames[];
799  // data
800  NCBI_NS_NCBI::CSerialObject *m_object;
801  };
802  /////////////////////////////////////////////////////////////////////////////
803  ///
804  /// C_Lambda_mmlclass --
805  ///
806 
808  {
810  public:
811  // constructor
812  C_Lambda_mmlclass(void);
813  // destructor
814  ~C_Lambda_mmlclass(void);
815 
816  // type info
818 
819  // types
820  typedef CLambda TLambda;
821 
822  // member index
823  enum class E_memberIndex {
824  e__allMandatory = 0,
825  e_lambda
826  };
828 
829  // getters
830  // setters
831 
832  /// Check if a value has been assigned to Lambda data member.
833  ///
834  /// Data member Lambda is mandatory;
835  /// its type is defined as 'typedef CLambda TLambda'
836  /// @return
837  /// - true, if a value has been assigned.
838  /// - false, otherwise.
839  bool IsSetLambda(void) const;
840 
841  /// Check if it is safe to call GetLambda method.
842  ///
843  /// @return
844  /// - true, if the data member is getatable.
845  /// - false, otherwise.
846  bool CanGetLambda(void) const;
847 
848  /// Reset Lambda data member.
849  void ResetLambda(void);
850 
851  /// Get the Lambda member data.
852  ///
853  /// @return
854  /// Reference to the member data.
855  const TLambda& GetLambda(void) const;
856 
857  /// Assign a value to Lambda data member.
858  ///
859  /// @param value
860  /// Reference to value.
861  void SetLambda(TLambda& value);
862 
863  /// Assign a value to Lambda data member.
864  ///
865  /// @return
866  /// Reference to the data value.
867  TLambda& SetLambda(void);
868 
869  /// Reset the whole object
870  void Reset(void);
871 
872 
873  private:
874  // Prohibit copy constructor and assignment operator
877 
878  // data
881  };
882  /////////////////////////////////////////////////////////////////////////////
883  ///
884  /// C_Nary_functional_mmlclass --
885  ///
886 
888  {
890  public:
891  // constructor
893  // destructor
895 
896  // type info
898 
899  // types
901 
902  // member index
903  enum class E_memberIndex {
904  e__allMandatory = 0,
905  e_compose
906  };
908 
909  // getters
910  // setters
911 
912  /// Check if a value has been assigned to Compose data member.
913  ///
914  /// Data member Compose is mandatory;
915  /// its type is defined as 'typedef CCompose TCompose'
916  /// @return
917  /// - true, if a value has been assigned.
918  /// - false, otherwise.
919  bool IsSetCompose(void) const;
920 
921  /// Check if value of Compose member is getatable.
922  ///
923  /// @return
924  /// - false; the data member of type 'NULL' has no value.
925  bool CanGetCompose(void) const;
926 
927  /// Reset Compose data member.
928  void ResetCompose(void);
929 
930  /// Get the Compose member data.
931  ///
932  /// @return
933  /// Reference to the member data.
934  const TCompose& GetCompose(void) const;
935 
936  /// Assign a value to Compose data member.
937  ///
938  /// @param value
939  /// Reference to value.
940  void SetCompose(TCompose& value);
941 
942  /// Assign a value to Compose data member.
943  ///
944  /// @return
945  /// Reference to the data value.
946  TCompose& SetCompose(void);
947 
948  /// Reset the whole object
949  void Reset(void);
950 
951 
952  private:
953  // Prohibit copy constructor and assignment operator
956 
957  // data
960  };
961  /////////////////////////////////////////////////////////////////////////////
962  ///
963  /// C_Binary_arith_mmlclass --
964  ///
965 
967  {
969  public:
970  // constructor
972  // destructor
974 
975  // type info
977 
978 
979  /// Choice variants.
980  enum E_Choice {
981  e_not_set = 0, ///< No variant selected
987  e_Root
988  };
989  /// Maximum+1 value of the choice variant enumerator.
991  e_MaxChoice = 7 ///< == e_Root+1
992  };
993 
994  /// Reset the whole object
995  void Reset(void);
996 
997  /// Reset the selection (set it to e_not_set).
998  void ResetSelection(void);
999 
1000  /// Which variant is currently selected.
1001  ///
1002  /// @return
1003  /// Choice state enumerator.
1004  E_Choice Which(void) const;
1005 
1006  /// Verify selection, throw exception if it differs from the expected.
1007  ///
1008  /// @param index
1009  /// Expected selection.
1010  void CheckSelected(E_Choice index) const;
1011 
1012  /// Throw 'InvalidSelection' exception.
1013  ///
1014  /// @param index
1015  /// Expected selection.
1016  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
1017 
1018  /// Retrieve selection name (for diagnostic purposes).
1019  ///
1020  /// @param index
1021  /// One of possible selection states.
1022  /// @return
1023  /// Name string.
1024  static string SelectionName(E_Choice index);
1025 
1026  /// Select the requested variant if needed.
1027  ///
1028  /// @param index
1029  /// New selection state.
1030  /// @param reset
1031  /// Flag that defines the resetting of the variant data. The data will
1032  /// be reset if either the current selection differs from the new one,
1033  /// or the flag is set to eDoResetVariant.
1035  /// Select the requested variant if needed,
1036  /// allocating CObject variants from memory pool.
1037  void Select(E_Choice index,
1038  EResetVariant reset,
1039  CObjectMemoryPool* pool);
1040 
1041  // types
1043  typedef CDivide TDivide;
1044  typedef CMinus TMinus;
1045  typedef CPower TPower;
1046  typedef CRem TRem;
1047  typedef CRoot TRoot;
1048 
1049  // getters
1050  // setters
1051 
1052 
1053  /// Check if variant Quotient is selected.
1054  ///
1055  /// Quotient type is defined as 'typedef CQuotient TQuotient'.
1056  /// @return
1057  /// - true, if the variant is selected.
1058  /// - false, otherwise.
1059  bool IsQuotient(void) const;
1060 
1061  /// Get the variant data.
1062  ///
1063  /// @return
1064  /// Reference to the data.
1065  const TQuotient& GetQuotient(void) const;
1066 
1067  /// Select the variant.
1068  ///
1069  /// @return
1070  /// Reference to the variant data.
1071  TQuotient& SetQuotient(void);
1072 
1073 
1074  /// Check if variant Divide is selected.
1075  ///
1076  /// Divide type is defined as 'typedef CDivide TDivide'.
1077  /// @return
1078  /// - true, if the variant is selected.
1079  /// - false, otherwise.
1080  bool IsDivide(void) const;
1081 
1082  /// Get the variant data.
1083  ///
1084  /// @return
1085  /// Reference to the data.
1086  const TDivide& GetDivide(void) const;
1087 
1088  /// Select the variant.
1089  ///
1090  /// @return
1091  /// Reference to the variant data.
1092  TDivide& SetDivide(void);
1093 
1094 
1095  /// Check if variant Minus is selected.
1096  ///
1097  /// Minus type is defined as 'typedef CMinus TMinus'.
1098  /// @return
1099  /// - true, if the variant is selected.
1100  /// - false, otherwise.
1101  bool IsMinus(void) const;
1102 
1103  /// Get the variant data.
1104  ///
1105  /// @return
1106  /// Reference to the data.
1107  const TMinus& GetMinus(void) const;
1108 
1109  /// Select the variant.
1110  ///
1111  /// @return
1112  /// Reference to the variant data.
1113  TMinus& SetMinus(void);
1114 
1115 
1116  /// Check if variant Power is selected.
1117  ///
1118  /// Power type is defined as 'typedef CPower TPower'.
1119  /// @return
1120  /// - true, if the variant is selected.
1121  /// - false, otherwise.
1122  bool IsPower(void) const;
1123 
1124  /// Get the variant data.
1125  ///
1126  /// @return
1127  /// Reference to the data.
1128  const TPower& GetPower(void) const;
1129 
1130  /// Select the variant.
1131  ///
1132  /// @return
1133  /// Reference to the variant data.
1134  TPower& SetPower(void);
1135 
1136 
1137  /// Check if variant Rem is selected.
1138  ///
1139  /// Rem type is defined as 'typedef CRem TRem'.
1140  /// @return
1141  /// - true, if the variant is selected.
1142  /// - false, otherwise.
1143  bool IsRem(void) const;
1144 
1145  /// Get the variant data.
1146  ///
1147  /// @return
1148  /// Reference to the data.
1149  const TRem& GetRem(void) const;
1150 
1151  /// Select the variant.
1152  ///
1153  /// @return
1154  /// Reference to the variant data.
1155  TRem& SetRem(void);
1156 
1157 
1158  /// Check if variant Root is selected.
1159  ///
1160  /// Root type is defined as 'typedef CRoot TRoot'.
1161  /// @return
1162  /// - true, if the variant is selected.
1163  /// - false, otherwise.
1164  bool IsRoot(void) const;
1165 
1166  /// Get the variant data.
1167  ///
1168  /// @return
1169  /// Reference to the data.
1170  const TRoot& GetRoot(void) const;
1171 
1172  /// Select the variant.
1173  ///
1174  /// @return
1175  /// Reference to the variant data.
1176  TRoot& SetRoot(void);
1177 
1178 
1179  private:
1180  // copy constructor and assignment operator
1183  // choice state
1185  // helper methods
1186  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
1187 
1188  static const char* const sm_SelectionNames[];
1189  // data
1190  NCBI_NS_NCBI::CSerialObject *m_object;
1191  };
1192  /////////////////////////////////////////////////////////////////////////////
1193  ///
1194  /// C_Unary_arith_mmlclass --
1195  ///
1196 
1198  {
1200  public:
1201  // constructor
1202  C_Unary_arith_mmlclass(void);
1203  // destructor
1205 
1206  // type info
1208 
1209 
1210  /// Choice variants.
1211  enum E_Choice {
1212  e_not_set = 0, ///< No variant selected
1221  e_Exp
1222  };
1223  /// Maximum+1 value of the choice variant enumerator.
1225  e_MaxChoice = 10 ///< == e_Exp+1
1226  };
1227 
1228  /// Reset the whole object
1229  void Reset(void);
1230 
1231  /// Reset the selection (set it to e_not_set).
1232  void ResetSelection(void);
1233 
1234  /// Which variant is currently selected.
1235  ///
1236  /// @return
1237  /// Choice state enumerator.
1238  E_Choice Which(void) const;
1239 
1240  /// Verify selection, throw exception if it differs from the expected.
1241  ///
1242  /// @param index
1243  /// Expected selection.
1244  void CheckSelected(E_Choice index) const;
1245 
1246  /// Throw 'InvalidSelection' exception.
1247  ///
1248  /// @param index
1249  /// Expected selection.
1250  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
1251 
1252  /// Retrieve selection name (for diagnostic purposes).
1253  ///
1254  /// @param index
1255  /// One of possible selection states.
1256  /// @return
1257  /// Name string.
1258  static string SelectionName(E_Choice index);
1259 
1260  /// Select the requested variant if needed.
1261  ///
1262  /// @param index
1263  /// New selection state.
1264  /// @param reset
1265  /// Flag that defines the resetting of the variant data. The data will
1266  /// be reset if either the current selection differs from the new one,
1267  /// or the flag is set to eDoResetVariant.
1269  /// Select the requested variant if needed,
1270  /// allocating CObject variants from memory pool.
1271  void Select(E_Choice index,
1272  EResetVariant reset,
1273  CObjectMemoryPool* pool);
1274 
1275  // types
1277  typedef CAbs TAbs;
1279  typedef CArg TArg;
1280  typedef CReal TReal;
1282  typedef CFloor TFloor;
1284  typedef CExp TExp;
1285 
1286  // getters
1287  // setters
1288 
1289 
1290  /// Check if variant Factorial is selected.
1291  ///
1292  /// Factorial type is defined as 'typedef CFactorial TFactorial'.
1293  /// @return
1294  /// - true, if the variant is selected.
1295  /// - false, otherwise.
1296  bool IsFactorial(void) const;
1297 
1298  /// Get the variant data.
1299  ///
1300  /// @return
1301  /// Reference to the data.
1302  const TFactorial& GetFactorial(void) const;
1303 
1304  /// Select the variant.
1305  ///
1306  /// @return
1307  /// Reference to the variant data.
1308  TFactorial& SetFactorial(void);
1309 
1310 
1311  /// Check if variant Abs is selected.
1312  ///
1313  /// Abs type is defined as 'typedef CAbs TAbs'.
1314  /// @return
1315  /// - true, if the variant is selected.
1316  /// - false, otherwise.
1317  bool IsAbs(void) const;
1318 
1319  /// Get the variant data.
1320  ///
1321  /// @return
1322  /// Reference to the data.
1323  const TAbs& GetAbs(void) const;
1324 
1325  /// Select the variant.
1326  ///
1327  /// @return
1328  /// Reference to the variant data.
1329  TAbs& SetAbs(void);
1330 
1331 
1332  /// Check if variant Conjugate is selected.
1333  ///
1334  /// Conjugate type is defined as 'typedef CConjugate TConjugate'.
1335  /// @return
1336  /// - true, if the variant is selected.
1337  /// - false, otherwise.
1338  bool IsConjugate(void) const;
1339 
1340  /// Get the variant data.
1341  ///
1342  /// @return
1343  /// Reference to the data.
1344  const TConjugate& GetConjugate(void) const;
1345 
1346  /// Select the variant.
1347  ///
1348  /// @return
1349  /// Reference to the variant data.
1350  TConjugate& SetConjugate(void);
1351 
1352 
1353  /// Check if variant Arg is selected.
1354  ///
1355  /// Arg type is defined as 'typedef CArg TArg'.
1356  /// @return
1357  /// - true, if the variant is selected.
1358  /// - false, otherwise.
1359  bool IsArg(void) const;
1360 
1361  /// Get the variant data.
1362  ///
1363  /// @return
1364  /// Reference to the data.
1365  const TArg& GetArg(void) const;
1366 
1367  /// Select the variant.
1368  ///
1369  /// @return
1370  /// Reference to the variant data.
1371  TArg& SetArg(void);
1372 
1373 
1374  /// Check if variant Real is selected.
1375  ///
1376  /// Real type is defined as 'typedef CReal TReal'.
1377  /// @return
1378  /// - true, if the variant is selected.
1379  /// - false, otherwise.
1380  bool IsReal(void) const;
1381 
1382  /// Get the variant data.
1383  ///
1384  /// @return
1385  /// Reference to the data.
1386  const TReal& GetReal(void) const;
1387 
1388  /// Select the variant.
1389  ///
1390  /// @return
1391  /// Reference to the variant data.
1392  TReal& SetReal(void);
1393 
1394 
1395  /// Check if variant Imaginary is selected.
1396  ///
1397  /// Imaginary type is defined as 'typedef CImaginary TImaginary'.
1398  /// @return
1399  /// - true, if the variant is selected.
1400  /// - false, otherwise.
1401  bool IsImaginary(void) const;
1402 
1403  /// Get the variant data.
1404  ///
1405  /// @return
1406  /// Reference to the data.
1407  const TImaginary& GetImaginary(void) const;
1408 
1409  /// Select the variant.
1410  ///
1411  /// @return
1412  /// Reference to the variant data.
1413  TImaginary& SetImaginary(void);
1414 
1415 
1416  /// Check if variant Floor is selected.
1417  ///
1418  /// Floor type is defined as 'typedef CFloor TFloor'.
1419  /// @return
1420  /// - true, if the variant is selected.
1421  /// - false, otherwise.
1422  bool IsFloor(void) const;
1423 
1424  /// Get the variant data.
1425  ///
1426  /// @return
1427  /// Reference to the data.
1428  const TFloor& GetFloor(void) const;
1429 
1430  /// Select the variant.
1431  ///
1432  /// @return
1433  /// Reference to the variant data.
1434  TFloor& SetFloor(void);
1435 
1436 
1437  /// Check if variant Ceiling is selected.
1438  ///
1439  /// Ceiling type is defined as 'typedef CCeiling TCeiling'.
1440  /// @return
1441  /// - true, if the variant is selected.
1442  /// - false, otherwise.
1443  bool IsCeiling(void) const;
1444 
1445  /// Get the variant data.
1446  ///
1447  /// @return
1448  /// Reference to the data.
1449  const TCeiling& GetCeiling(void) const;
1450 
1451  /// Select the variant.
1452  ///
1453  /// @return
1454  /// Reference to the variant data.
1455  TCeiling& SetCeiling(void);
1456 
1457 
1458  /// Check if variant Exp is selected.
1459  ///
1460  /// Exp type is defined as 'typedef CExp TExp'.
1461  /// @return
1462  /// - true, if the variant is selected.
1463  /// - false, otherwise.
1464  bool IsExp(void) const;
1465 
1466  /// Get the variant data.
1467  ///
1468  /// @return
1469  /// Reference to the data.
1470  const TExp& GetExp(void) const;
1471 
1472  /// Select the variant.
1473  ///
1474  /// @return
1475  /// Reference to the variant data.
1476  TExp& SetExp(void);
1477 
1478 
1479  private:
1480  // copy constructor and assignment operator
1483  // choice state
1485  // helper methods
1486  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
1487 
1488  static const char* const sm_SelectionNames[];
1489  // data
1490  NCBI_NS_NCBI::CSerialObject *m_object;
1491  };
1492  /////////////////////////////////////////////////////////////////////////////
1493  ///
1494  /// C_Nary_minmax_mmlclass --
1495  ///
1496 
1498  {
1500  public:
1501  // constructor
1502  C_Nary_minmax_mmlclass(void);
1503  // destructor
1505 
1506  // type info
1508 
1509 
1510  /// Choice variants.
1511  enum E_Choice {
1512  e_not_set = 0, ///< No variant selected
1514  e_Min
1515  };
1516  /// Maximum+1 value of the choice variant enumerator.
1518  e_MaxChoice = 3 ///< == e_Min+1
1519  };
1520 
1521  /// Reset the whole object
1522  void Reset(void);
1523 
1524  /// Reset the selection (set it to e_not_set).
1525  void ResetSelection(void);
1526 
1527  /// Which variant is currently selected.
1528  ///
1529  /// @return
1530  /// Choice state enumerator.
1531  E_Choice Which(void) const;
1532 
1533  /// Verify selection, throw exception if it differs from the expected.
1534  ///
1535  /// @param index
1536  /// Expected selection.
1537  void CheckSelected(E_Choice index) const;
1538 
1539  /// Throw 'InvalidSelection' exception.
1540  ///
1541  /// @param index
1542  /// Expected selection.
1543  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
1544 
1545  /// Retrieve selection name (for diagnostic purposes).
1546  ///
1547  /// @param index
1548  /// One of possible selection states.
1549  /// @return
1550  /// Name string.
1551  static string SelectionName(E_Choice index);
1552 
1553  /// Select the requested variant if needed.
1554  ///
1555  /// @param index
1556  /// New selection state.
1557  /// @param reset
1558  /// Flag that defines the resetting of the variant data. The data will
1559  /// be reset if either the current selection differs from the new one,
1560  /// or the flag is set to eDoResetVariant.
1562  /// Select the requested variant if needed,
1563  /// allocating CObject variants from memory pool.
1564  void Select(E_Choice index,
1565  EResetVariant reset,
1566  CObjectMemoryPool* pool);
1567 
1568  // types
1569  typedef CMax TMax;
1570  typedef CMin TMin;
1571 
1572  // getters
1573  // setters
1574 
1575 
1576  /// Check if variant Max is selected.
1577  ///
1578  /// Max type is defined as 'typedef CMax TMax'.
1579  /// @return
1580  /// - true, if the variant is selected.
1581  /// - false, otherwise.
1582  bool IsMax(void) const;
1583 
1584  /// Get the variant data.
1585  ///
1586  /// @return
1587  /// Reference to the data.
1588  const TMax& GetMax(void) const;
1589 
1590  /// Select the variant.
1591  ///
1592  /// @return
1593  /// Reference to the variant data.
1594  TMax& SetMax(void);
1595 
1596 
1597  /// Check if variant Min is selected.
1598  ///
1599  /// Min type is defined as 'typedef CMin TMin'.
1600  /// @return
1601  /// - true, if the variant is selected.
1602  /// - false, otherwise.
1603  bool IsMin(void) const;
1604 
1605  /// Get the variant data.
1606  ///
1607  /// @return
1608  /// Reference to the data.
1609  const TMin& GetMin(void) const;
1610 
1611  /// Select the variant.
1612  ///
1613  /// @return
1614  /// Reference to the variant data.
1615  TMin& SetMin(void);
1616 
1617 
1618  private:
1619  // copy constructor and assignment operator
1622  // choice state
1624  // helper methods
1625  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
1626 
1627  static const char* const sm_SelectionNames[];
1628  // data
1629  NCBI_NS_NCBI::CSerialObject *m_object;
1630  };
1631  /////////////////////////////////////////////////////////////////////////////
1632  ///
1633  /// C_Nary_arith_mmlclass --
1634  ///
1635 
1637  {
1639  public:
1640  // constructor
1641  C_Nary_arith_mmlclass(void);
1642  // destructor
1643  ~C_Nary_arith_mmlclass(void);
1644 
1645  // type info
1647 
1648 
1649  /// Choice variants.
1650  enum E_Choice {
1651  e_not_set = 0, ///< No variant selected
1655  e_Lcm
1656  };
1657  /// Maximum+1 value of the choice variant enumerator.
1659  e_MaxChoice = 5 ///< == e_Lcm+1
1660  };
1661 
1662  /// Reset the whole object
1663  void Reset(void);
1664 
1665  /// Reset the selection (set it to e_not_set).
1666  void ResetSelection(void);
1667 
1668  /// Which variant is currently selected.
1669  ///
1670  /// @return
1671  /// Choice state enumerator.
1672  E_Choice Which(void) const;
1673 
1674  /// Verify selection, throw exception if it differs from the expected.
1675  ///
1676  /// @param index
1677  /// Expected selection.
1678  void CheckSelected(E_Choice index) const;
1679 
1680  /// Throw 'InvalidSelection' exception.
1681  ///
1682  /// @param index
1683  /// Expected selection.
1684  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
1685 
1686  /// Retrieve selection name (for diagnostic purposes).
1687  ///
1688  /// @param index
1689  /// One of possible selection states.
1690  /// @return
1691  /// Name string.
1692  static string SelectionName(E_Choice index);
1693 
1694  /// Select the requested variant if needed.
1695  ///
1696  /// @param index
1697  /// New selection state.
1698  /// @param reset
1699  /// Flag that defines the resetting of the variant data. The data will
1700  /// be reset if either the current selection differs from the new one,
1701  /// or the flag is set to eDoResetVariant.
1703  /// Select the requested variant if needed,
1704  /// allocating CObject variants from memory pool.
1705  void Select(E_Choice index,
1706  EResetVariant reset,
1707  CObjectMemoryPool* pool);
1708 
1709  // types
1710  typedef CPlus TPlus;
1711  typedef CTimes TTimes;
1712  typedef CGcd TGcd;
1713  typedef CLcm TLcm;
1714 
1715  // getters
1716  // setters
1717 
1718 
1719  /// Check if variant Plus is selected.
1720  ///
1721  /// Plus type is defined as 'typedef CPlus TPlus'.
1722  /// @return
1723  /// - true, if the variant is selected.
1724  /// - false, otherwise.
1725  bool IsPlus(void) const;
1726 
1727  /// Get the variant data.
1728  ///
1729  /// @return
1730  /// Reference to the data.
1731  const TPlus& GetPlus(void) const;
1732 
1733  /// Select the variant.
1734  ///
1735  /// @return
1736  /// Reference to the variant data.
1737  TPlus& SetPlus(void);
1738 
1739 
1740  /// Check if variant Times is selected.
1741  ///
1742  /// Times type is defined as 'typedef CTimes TTimes'.
1743  /// @return
1744  /// - true, if the variant is selected.
1745  /// - false, otherwise.
1746  bool IsTimes(void) const;
1747 
1748  /// Get the variant data.
1749  ///
1750  /// @return
1751  /// Reference to the data.
1752  const TTimes& GetTimes(void) const;
1753 
1754  /// Select the variant.
1755  ///
1756  /// @return
1757  /// Reference to the variant data.
1758  TTimes& SetTimes(void);
1759 
1760 
1761  /// Check if variant Gcd is selected.
1762  ///
1763  /// Gcd type is defined as 'typedef CGcd TGcd'.
1764  /// @return
1765  /// - true, if the variant is selected.
1766  /// - false, otherwise.
1767  bool IsGcd(void) const;
1768 
1769  /// Get the variant data.
1770  ///
1771  /// @return
1772  /// Reference to the data.
1773  const TGcd& GetGcd(void) const;
1774 
1775  /// Select the variant.
1776  ///
1777  /// @return
1778  /// Reference to the variant data.
1779  TGcd& SetGcd(void);
1780 
1781 
1782  /// Check if variant Lcm is selected.
1783  ///
1784  /// Lcm type is defined as 'typedef CLcm TLcm'.
1785  /// @return
1786  /// - true, if the variant is selected.
1787  /// - false, otherwise.
1788  bool IsLcm(void) const;
1789 
1790  /// Get the variant data.
1791  ///
1792  /// @return
1793  /// Reference to the data.
1794  const TLcm& GetLcm(void) const;
1795 
1796  /// Select the variant.
1797  ///
1798  /// @return
1799  /// Reference to the variant data.
1800  TLcm& SetLcm(void);
1801 
1802 
1803  private:
1804  // copy constructor and assignment operator
1807  // choice state
1809  // helper methods
1810  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
1811 
1812  static const char* const sm_SelectionNames[];
1813  // data
1814  NCBI_NS_NCBI::CSerialObject *m_object;
1815  };
1816  /////////////////////////////////////////////////////////////////////////////
1817  ///
1818  /// C_Nary_logical_mmlclass --
1819  ///
1820 
1822  {
1824  public:
1825  // constructor
1827  // destructor
1829 
1830  // type info
1832 
1833 
1834  /// Choice variants.
1835  enum E_Choice {
1836  e_not_set = 0, ///< No variant selected
1839  e_Xor
1840  };
1841  /// Maximum+1 value of the choice variant enumerator.
1843  e_MaxChoice = 4 ///< == e_Xor+1
1844  };
1845 
1846  /// Reset the whole object
1847  void Reset(void);
1848 
1849  /// Reset the selection (set it to e_not_set).
1850  void ResetSelection(void);
1851 
1852  /// Which variant is currently selected.
1853  ///
1854  /// @return
1855  /// Choice state enumerator.
1856  E_Choice Which(void) const;
1857 
1858  /// Verify selection, throw exception if it differs from the expected.
1859  ///
1860  /// @param index
1861  /// Expected selection.
1862  void CheckSelected(E_Choice index) const;
1863 
1864  /// Throw 'InvalidSelection' exception.
1865  ///
1866  /// @param index
1867  /// Expected selection.
1868  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
1869 
1870  /// Retrieve selection name (for diagnostic purposes).
1871  ///
1872  /// @param index
1873  /// One of possible selection states.
1874  /// @return
1875  /// Name string.
1876  static string SelectionName(E_Choice index);
1877 
1878  /// Select the requested variant if needed.
1879  ///
1880  /// @param index
1881  /// New selection state.
1882  /// @param reset
1883  /// Flag that defines the resetting of the variant data. The data will
1884  /// be reset if either the current selection differs from the new one,
1885  /// or the flag is set to eDoResetVariant.
1887  /// Select the requested variant if needed,
1888  /// allocating CObject variants from memory pool.
1889  void Select(E_Choice index,
1890  EResetVariant reset,
1891  CObjectMemoryPool* pool);
1892 
1893  // types
1894  typedef CAnd TAnd;
1895  typedef COr TOr;
1896  typedef CXor TXor;
1897 
1898  // getters
1899  // setters
1900 
1901 
1902  /// Check if variant And is selected.
1903  ///
1904  /// And type is defined as 'typedef CAnd TAnd'.
1905  /// @return
1906  /// - true, if the variant is selected.
1907  /// - false, otherwise.
1908  bool IsAnd(void) const;
1909 
1910  /// Get the variant data.
1911  ///
1912  /// @return
1913  /// Reference to the data.
1914  const TAnd& GetAnd(void) const;
1915 
1916  /// Select the variant.
1917  ///
1918  /// @return
1919  /// Reference to the variant data.
1920  TAnd& SetAnd(void);
1921 
1922 
1923  /// Check if variant Or is selected.
1924  ///
1925  /// Or type is defined as 'typedef COr TOr'.
1926  /// @return
1927  /// - true, if the variant is selected.
1928  /// - false, otherwise.
1929  bool IsOr(void) const;
1930 
1931  /// Get the variant data.
1932  ///
1933  /// @return
1934  /// Reference to the data.
1935  const TOr& GetOr(void) const;
1936 
1937  /// Select the variant.
1938  ///
1939  /// @return
1940  /// Reference to the variant data.
1941  TOr& SetOr(void);
1942 
1943 
1944  /// Check if variant Xor is selected.
1945  ///
1946  /// Xor type is defined as 'typedef CXor TXor'.
1947  /// @return
1948  /// - true, if the variant is selected.
1949  /// - false, otherwise.
1950  bool IsXor(void) const;
1951 
1952  /// Get the variant data.
1953  ///
1954  /// @return
1955  /// Reference to the data.
1956  const TXor& GetXor(void) const;
1957 
1958  /// Select the variant.
1959  ///
1960  /// @return
1961  /// Reference to the variant data.
1962  TXor& SetXor(void);
1963 
1964 
1965  private:
1966  // copy constructor and assignment operator
1969  // choice state
1971  // helper methods
1972  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
1973 
1974  static const char* const sm_SelectionNames[];
1975  // data
1976  NCBI_NS_NCBI::CSerialObject *m_object;
1977  };
1978  /////////////////////////////////////////////////////////////////////////////
1979  ///
1980  /// C_Unary_logical_mmlclass --
1981  ///
1982 
1984  {
1986  public:
1987  // constructor
1989  // destructor
1991 
1992  // type info
1994 
1995  // types
1996  typedef CNot TNot;
1997 
1998  // member index
1999  enum class E_memberIndex {
2000  e__allMandatory = 0,
2001  e_not
2002  };
2004 
2005  // getters
2006  // setters
2007 
2008  /// Check if a value has been assigned to Not data member.
2009  ///
2010  /// Data member Not is mandatory;
2011  /// its type is defined as 'typedef CNot TNot'
2012  /// @return
2013  /// - true, if a value has been assigned.
2014  /// - false, otherwise.
2015  bool IsSetNot(void) const;
2016 
2017  /// Check if value of Not member is getatable.
2018  ///
2019  /// @return
2020  /// - false; the data member of type 'NULL' has no value.
2021  bool CanGetNot(void) const;
2022 
2023  /// Reset Not data member.
2024  void ResetNot(void);
2025 
2026  /// Get the Not member data.
2027  ///
2028  /// @return
2029  /// Reference to the member data.
2030  const TNot& GetNot(void) const;
2031 
2032  /// Assign a value to Not data member.
2033  ///
2034  /// @param value
2035  /// Reference to value.
2036  void SetNot(TNot& value);
2037 
2038  /// Assign a value to Not data member.
2039  ///
2040  /// @return
2041  /// Reference to the data value.
2042  TNot& SetNot(void);
2043 
2044  /// Reset the whole object
2045  void Reset(void);
2046 
2047 
2048  private:
2049  // Prohibit copy constructor and assignment operator
2052 
2053  // data
2056  };
2057  /////////////////////////////////////////////////////////////////////////////
2058  ///
2059  /// C_Binary_logical_mmlclass --
2060  ///
2061 
2063  {
2065  public:
2066  // constructor
2068  // destructor
2070 
2071  // type info
2073 
2074 
2075  /// Choice variants.
2076  enum E_Choice {
2077  e_not_set = 0, ///< No variant selected
2079  e_Equivalent
2080  };
2081  /// Maximum+1 value of the choice variant enumerator.
2083  e_MaxChoice = 3 ///< == e_Equivalent+1
2084  };
2085 
2086  /// Reset the whole object
2087  void Reset(void);
2088 
2089  /// Reset the selection (set it to e_not_set).
2090  void ResetSelection(void);
2091 
2092  /// Which variant is currently selected.
2093  ///
2094  /// @return
2095  /// Choice state enumerator.
2096  E_Choice Which(void) const;
2097 
2098  /// Verify selection, throw exception if it differs from the expected.
2099  ///
2100  /// @param index
2101  /// Expected selection.
2102  void CheckSelected(E_Choice index) const;
2103 
2104  /// Throw 'InvalidSelection' exception.
2105  ///
2106  /// @param index
2107  /// Expected selection.
2108  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
2109 
2110  /// Retrieve selection name (for diagnostic purposes).
2111  ///
2112  /// @param index
2113  /// One of possible selection states.
2114  /// @return
2115  /// Name string.
2116  static string SelectionName(E_Choice index);
2117 
2118  /// Select the requested variant if needed.
2119  ///
2120  /// @param index
2121  /// New selection state.
2122  /// @param reset
2123  /// Flag that defines the resetting of the variant data. The data will
2124  /// be reset if either the current selection differs from the new one,
2125  /// or the flag is set to eDoResetVariant.
2127  /// Select the requested variant if needed,
2128  /// allocating CObject variants from memory pool.
2129  void Select(E_Choice index,
2130  EResetVariant reset,
2131  CObjectMemoryPool* pool);
2132 
2133  // types
2136 
2137  // getters
2138  // setters
2139 
2140 
2141  /// Check if variant Implies is selected.
2142  ///
2143  /// Implies type is defined as 'typedef CImplies TImplies'.
2144  /// @return
2145  /// - true, if the variant is selected.
2146  /// - false, otherwise.
2147  bool IsImplies(void) const;
2148 
2149  /// Get the variant data.
2150  ///
2151  /// @return
2152  /// Reference to the data.
2153  const TImplies& GetImplies(void) const;
2154 
2155  /// Select the variant.
2156  ///
2157  /// @return
2158  /// Reference to the variant data.
2159  TImplies& SetImplies(void);
2160 
2161 
2162  /// Check if variant Equivalent is selected.
2163  ///
2164  /// Equivalent type is defined as 'typedef CEquivalent TEquivalent'.
2165  /// @return
2166  /// - true, if the variant is selected.
2167  /// - false, otherwise.
2168  bool IsEquivalent(void) const;
2169 
2170  /// Get the variant data.
2171  ///
2172  /// @return
2173  /// Reference to the data.
2174  const TEquivalent& GetEquivalent(void) const;
2175 
2176  /// Select the variant.
2177  ///
2178  /// @return
2179  /// Reference to the variant data.
2180  TEquivalent& SetEquivalent(void);
2181 
2182 
2183  private:
2184  // copy constructor and assignment operator
2187  // choice state
2189  // helper methods
2190  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
2191 
2192  static const char* const sm_SelectionNames[];
2193  // data
2194  NCBI_NS_NCBI::CSerialObject *m_object;
2195  };
2196  /////////////////////////////////////////////////////////////////////////////
2197  ///
2198  /// C_Quantifier_mmlclass --
2199  ///
2200 
2202  {
2204  public:
2205  // constructor
2206  C_Quantifier_mmlclass(void);
2207  // destructor
2208  ~C_Quantifier_mmlclass(void);
2209 
2210  // type info
2212 
2213 
2214  /// Choice variants.
2215  enum E_Choice {
2216  e_not_set = 0, ///< No variant selected
2218  e_Exists
2219  };
2220  /// Maximum+1 value of the choice variant enumerator.
2222  e_MaxChoice = 3 ///< == e_Exists+1
2223  };
2224 
2225  /// Reset the whole object
2226  void Reset(void);
2227 
2228  /// Reset the selection (set it to e_not_set).
2229  void ResetSelection(void);
2230 
2231  /// Which variant is currently selected.
2232  ///
2233  /// @return
2234  /// Choice state enumerator.
2235  E_Choice Which(void) const;
2236 
2237  /// Verify selection, throw exception if it differs from the expected.
2238  ///
2239  /// @param index
2240  /// Expected selection.
2241  void CheckSelected(E_Choice index) const;
2242 
2243  /// Throw 'InvalidSelection' exception.
2244  ///
2245  /// @param index
2246  /// Expected selection.
2247  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
2248 
2249  /// Retrieve selection name (for diagnostic purposes).
2250  ///
2251  /// @param index
2252  /// One of possible selection states.
2253  /// @return
2254  /// Name string.
2255  static string SelectionName(E_Choice index);
2256 
2257  /// Select the requested variant if needed.
2258  ///
2259  /// @param index
2260  /// New selection state.
2261  /// @param reset
2262  /// Flag that defines the resetting of the variant data. The data will
2263  /// be reset if either the current selection differs from the new one,
2264  /// or the flag is set to eDoResetVariant.
2266  /// Select the requested variant if needed,
2267  /// allocating CObject variants from memory pool.
2268  void Select(E_Choice index,
2269  EResetVariant reset,
2270  CObjectMemoryPool* pool);
2271 
2272  // types
2273  typedef CForall TForall;
2274  typedef CExists TExists;
2275 
2276  // getters
2277  // setters
2278 
2279 
2280  /// Check if variant Forall is selected.
2281  ///
2282  /// Forall type is defined as 'typedef CForall TForall'.
2283  /// @return
2284  /// - true, if the variant is selected.
2285  /// - false, otherwise.
2286  bool IsForall(void) const;
2287 
2288  /// Get the variant data.
2289  ///
2290  /// @return
2291  /// Reference to the data.
2292  const TForall& GetForall(void) const;
2293 
2294  /// Select the variant.
2295  ///
2296  /// @return
2297  /// Reference to the variant data.
2298  TForall& SetForall(void);
2299 
2300 
2301  /// Check if variant Exists is selected.
2302  ///
2303  /// Exists type is defined as 'typedef CExists TExists'.
2304  /// @return
2305  /// - true, if the variant is selected.
2306  /// - false, otherwise.
2307  bool IsExists(void) const;
2308 
2309  /// Get the variant data.
2310  ///
2311  /// @return
2312  /// Reference to the data.
2313  const TExists& GetExists(void) const;
2314 
2315  /// Select the variant.
2316  ///
2317  /// @return
2318  /// Reference to the variant data.
2319  TExists& SetExists(void);
2320 
2321 
2322  private:
2323  // copy constructor and assignment operator
2326  // choice state
2328  // helper methods
2329  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
2330 
2331  static const char* const sm_SelectionNames[];
2332  // data
2333  NCBI_NS_NCBI::CSerialObject *m_object;
2334  };
2335  /////////////////////////////////////////////////////////////////////////////
2336  ///
2337  /// C_Nary_reln_mmlclass --
2338  ///
2339 
2341  {
2343  public:
2344  // constructor
2345  C_Nary_reln_mmlclass(void);
2346  // destructor
2347  ~C_Nary_reln_mmlclass(void);
2348 
2349  // type info
2351 
2352 
2353  /// Choice variants.
2354  enum E_Choice {
2355  e_not_set = 0, ///< No variant selected
2360  e_Leq
2361  };
2362  /// Maximum+1 value of the choice variant enumerator.
2364  e_MaxChoice = 6 ///< == e_Leq+1
2365  };
2366 
2367  /// Reset the whole object
2368  void Reset(void);
2369 
2370  /// Reset the selection (set it to e_not_set).
2371  void ResetSelection(void);
2372 
2373  /// Which variant is currently selected.
2374  ///
2375  /// @return
2376  /// Choice state enumerator.
2377  E_Choice Which(void) const;
2378 
2379  /// Verify selection, throw exception if it differs from the expected.
2380  ///
2381  /// @param index
2382  /// Expected selection.
2383  void CheckSelected(E_Choice index) const;
2384 
2385  /// Throw 'InvalidSelection' exception.
2386  ///
2387  /// @param index
2388  /// Expected selection.
2389  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
2390 
2391  /// Retrieve selection name (for diagnostic purposes).
2392  ///
2393  /// @param index
2394  /// One of possible selection states.
2395  /// @return
2396  /// Name string.
2397  static string SelectionName(E_Choice index);
2398 
2399  /// Select the requested variant if needed.
2400  ///
2401  /// @param index
2402  /// New selection state.
2403  /// @param reset
2404  /// Flag that defines the resetting of the variant data. The data will
2405  /// be reset if either the current selection differs from the new one,
2406  /// or the flag is set to eDoResetVariant.
2408  /// Select the requested variant if needed,
2409  /// allocating CObject variants from memory pool.
2410  void Select(E_Choice index,
2411  EResetVariant reset,
2412  CObjectMemoryPool* pool);
2413 
2414  // types
2415  typedef CEq TEq;
2416  typedef CGt TGt;
2417  typedef CLt TLt;
2418  typedef CGeq TGeq;
2419  typedef CLeq TLeq;
2420 
2421  // getters
2422  // setters
2423 
2424 
2425  /// Check if variant Eq is selected.
2426  ///
2427  /// Eq type is defined as 'typedef CEq TEq'.
2428  /// @return
2429  /// - true, if the variant is selected.
2430  /// - false, otherwise.
2431  bool IsEq(void) const;
2432 
2433  /// Get the variant data.
2434  ///
2435  /// @return
2436  /// Reference to the data.
2437  const TEq& GetEq(void) const;
2438 
2439  /// Select the variant.
2440  ///
2441  /// @return
2442  /// Reference to the variant data.
2443  TEq& SetEq(void);
2444 
2445 
2446  /// Check if variant Gt is selected.
2447  ///
2448  /// Gt type is defined as 'typedef CGt TGt'.
2449  /// @return
2450  /// - true, if the variant is selected.
2451  /// - false, otherwise.
2452  bool IsGt(void) const;
2453 
2454  /// Get the variant data.
2455  ///
2456  /// @return
2457  /// Reference to the data.
2458  const TGt& GetGt(void) const;
2459 
2460  /// Select the variant.
2461  ///
2462  /// @return
2463  /// Reference to the variant data.
2464  TGt& SetGt(void);
2465 
2466 
2467  /// Check if variant Lt is selected.
2468  ///
2469  /// Lt type is defined as 'typedef CLt TLt'.
2470  /// @return
2471  /// - true, if the variant is selected.
2472  /// - false, otherwise.
2473  bool IsLt(void) const;
2474 
2475  /// Get the variant data.
2476  ///
2477  /// @return
2478  /// Reference to the data.
2479  const TLt& GetLt(void) const;
2480 
2481  /// Select the variant.
2482  ///
2483  /// @return
2484  /// Reference to the variant data.
2485  TLt& SetLt(void);
2486 
2487 
2488  /// Check if variant Geq is selected.
2489  ///
2490  /// Geq type is defined as 'typedef CGeq TGeq'.
2491  /// @return
2492  /// - true, if the variant is selected.
2493  /// - false, otherwise.
2494  bool IsGeq(void) const;
2495 
2496  /// Get the variant data.
2497  ///
2498  /// @return
2499  /// Reference to the data.
2500  const TGeq& GetGeq(void) const;
2501 
2502  /// Select the variant.
2503  ///
2504  /// @return
2505  /// Reference to the variant data.
2506  TGeq& SetGeq(void);
2507 
2508 
2509  /// Check if variant Leq is selected.
2510  ///
2511  /// Leq type is defined as 'typedef CLeq TLeq'.
2512  /// @return
2513  /// - true, if the variant is selected.
2514  /// - false, otherwise.
2515  bool IsLeq(void) const;
2516 
2517  /// Get the variant data.
2518  ///
2519  /// @return
2520  /// Reference to the data.
2521  const TLeq& GetLeq(void) const;
2522 
2523  /// Select the variant.
2524  ///
2525  /// @return
2526  /// Reference to the variant data.
2527  TLeq& SetLeq(void);
2528 
2529 
2530  private:
2531  // copy constructor and assignment operator
2534  // choice state
2536  // helper methods
2537  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
2538 
2539  static const char* const sm_SelectionNames[];
2540  // data
2541  NCBI_NS_NCBI::CSerialObject *m_object;
2542  };
2543  /////////////////////////////////////////////////////////////////////////////
2544  ///
2545  /// C_Binary_reln_mmlclass --
2546  ///
2547 
2549  {
2551  public:
2552  // constructor
2553  C_Binary_reln_mmlclass(void);
2554  // destructor
2556 
2557  // type info
2559 
2560 
2561  /// Choice variants.
2562  enum E_Choice {
2563  e_not_set = 0, ///< No variant selected
2567  e_Tendsto
2568  };
2569  /// Maximum+1 value of the choice variant enumerator.
2571  e_MaxChoice = 5 ///< == e_Tendsto+1
2572  };
2573 
2574  /// Reset the whole object
2575  void Reset(void);
2576 
2577  /// Reset the selection (set it to e_not_set).
2578  void ResetSelection(void);
2579 
2580  /// Which variant is currently selected.
2581  ///
2582  /// @return
2583  /// Choice state enumerator.
2584  E_Choice Which(void) const;
2585 
2586  /// Verify selection, throw exception if it differs from the expected.
2587  ///
2588  /// @param index
2589  /// Expected selection.
2590  void CheckSelected(E_Choice index) const;
2591 
2592  /// Throw 'InvalidSelection' exception.
2593  ///
2594  /// @param index
2595  /// Expected selection.
2596  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
2597 
2598  /// Retrieve selection name (for diagnostic purposes).
2599  ///
2600  /// @param index
2601  /// One of possible selection states.
2602  /// @return
2603  /// Name string.
2604  static string SelectionName(E_Choice index);
2605 
2606  /// Select the requested variant if needed.
2607  ///
2608  /// @param index
2609  /// New selection state.
2610  /// @param reset
2611  /// Flag that defines the resetting of the variant data. The data will
2612  /// be reset if either the current selection differs from the new one,
2613  /// or the flag is set to eDoResetVariant.
2615  /// Select the requested variant if needed,
2616  /// allocating CObject variants from memory pool.
2617  void Select(E_Choice index,
2618  EResetVariant reset,
2619  CObjectMemoryPool* pool);
2620 
2621  // types
2622  typedef CNeq TNeq;
2623  typedef CApprox TApprox;
2626 
2627  // getters
2628  // setters
2629 
2630 
2631  /// Check if variant Neq is selected.
2632  ///
2633  /// Neq type is defined as 'typedef CNeq TNeq'.
2634  /// @return
2635  /// - true, if the variant is selected.
2636  /// - false, otherwise.
2637  bool IsNeq(void) const;
2638 
2639  /// Get the variant data.
2640  ///
2641  /// @return
2642  /// Reference to the data.
2643  const TNeq& GetNeq(void) const;
2644 
2645  /// Select the variant.
2646  ///
2647  /// @return
2648  /// Reference to the variant data.
2649  TNeq& SetNeq(void);
2650 
2651 
2652  /// Check if variant Approx is selected.
2653  ///
2654  /// Approx type is defined as 'typedef CApprox TApprox'.
2655  /// @return
2656  /// - true, if the variant is selected.
2657  /// - false, otherwise.
2658  bool IsApprox(void) const;
2659 
2660  /// Get the variant data.
2661  ///
2662  /// @return
2663  /// Reference to the data.
2664  const TApprox& GetApprox(void) const;
2665 
2666  /// Select the variant.
2667  ///
2668  /// @return
2669  /// Reference to the variant data.
2670  TApprox& SetApprox(void);
2671 
2672 
2673  /// Check if variant Factorof is selected.
2674  ///
2675  /// Factorof type is defined as 'typedef CFactorof TFactorof'.
2676  /// @return
2677  /// - true, if the variant is selected.
2678  /// - false, otherwise.
2679  bool IsFactorof(void) const;
2680 
2681  /// Get the variant data.
2682  ///
2683  /// @return
2684  /// Reference to the data.
2685  const TFactorof& GetFactorof(void) const;
2686 
2687  /// Select the variant.
2688  ///
2689  /// @return
2690  /// Reference to the variant data.
2691  TFactorof& SetFactorof(void);
2692 
2693 
2694  /// Check if variant Tendsto is selected.
2695  ///
2696  /// Tendsto type is defined as 'typedef CTendsto TTendsto'.
2697  /// @return
2698  /// - true, if the variant is selected.
2699  /// - false, otherwise.
2700  bool IsTendsto(void) const;
2701 
2702  /// Get the variant data.
2703  ///
2704  /// @return
2705  /// Reference to the data.
2706  const TTendsto& GetTendsto(void) const;
2707 
2708  /// Select the variant.
2709  ///
2710  /// @return
2711  /// Reference to the variant data.
2712  TTendsto& SetTendsto(void);
2713 
2714 
2715  private:
2716  // copy constructor and assignment operator
2719  // choice state
2721  // helper methods
2722  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
2723 
2724  static const char* const sm_SelectionNames[];
2725  // data
2726  NCBI_NS_NCBI::CSerialObject *m_object;
2727  };
2728  /////////////////////////////////////////////////////////////////////////////
2729  ///
2730  /// C_Int_mmlclass --
2731  ///
2732 
2734  {
2736  public:
2737  // constructor
2738  C_Int_mmlclass(void);
2739  // destructor
2740  ~C_Int_mmlclass(void);
2741 
2742  // type info
2744 
2745  // types
2746  typedef CInt TInt;
2747 
2748  // member index
2749  enum class E_memberIndex {
2750  e__allMandatory = 0,
2751  e_int
2752  };
2754 
2755  // getters
2756  // setters
2757 
2758  /// Check if a value has been assigned to Int data member.
2759  ///
2760  /// Data member Int is mandatory;
2761  /// its type is defined as 'typedef CInt TInt'
2762  /// @return
2763  /// - true, if a value has been assigned.
2764  /// - false, otherwise.
2765  bool IsSetInt(void) const;
2766 
2767  /// Check if value of Int member is getatable.
2768  ///
2769  /// @return
2770  /// - false; the data member of type 'NULL' has no value.
2771  bool CanGetInt(void) const;
2772 
2773  /// Reset Int data member.
2774  void ResetInt(void);
2775 
2776  /// Get the Int member data.
2777  ///
2778  /// @return
2779  /// Reference to the member data.
2780  const TInt& GetInt(void) const;
2781 
2782  /// Assign a value to Int data member.
2783  ///
2784  /// @param value
2785  /// Reference to value.
2786  void SetInt(TInt& value);
2787 
2788  /// Assign a value to Int data member.
2789  ///
2790  /// @return
2791  /// Reference to the data value.
2792  TInt& SetInt(void);
2793 
2794  /// Reset the whole object
2795  void Reset(void);
2796 
2797 
2798  private:
2799  // Prohibit copy constructor and assignment operator
2802 
2803  // data
2806  };
2807  /////////////////////////////////////////////////////////////////////////////
2808  ///
2809  /// C_Differential_Operator_mmlclass --
2810  ///
2811 
2813  {
2815  public:
2816  // constructor
2818  // destructor
2820 
2821  // type info
2823 
2824  // types
2825  typedef CDiff TDiff;
2826 
2827  // member index
2828  enum class E_memberIndex {
2829  e__allMandatory = 0,
2830  e_diff
2831  };
2833 
2834  // getters
2835  // setters
2836 
2837  /// Check if a value has been assigned to Diff data member.
2838  ///
2839  /// Data member Diff is mandatory;
2840  /// its type is defined as 'typedef CDiff TDiff'
2841  /// @return
2842  /// - true, if a value has been assigned.
2843  /// - false, otherwise.
2844  bool IsSetDiff(void) const;
2845 
2846  /// Check if value of Diff member is getatable.
2847  ///
2848  /// @return
2849  /// - false; the data member of type 'NULL' has no value.
2850  bool CanGetDiff(void) const;
2851 
2852  /// Reset Diff data member.
2853  void ResetDiff(void);
2854 
2855  /// Get the Diff member data.
2856  ///
2857  /// @return
2858  /// Reference to the member data.
2859  const TDiff& GetDiff(void) const;
2860 
2861  /// Assign a value to Diff data member.
2862  ///
2863  /// @param value
2864  /// Reference to value.
2865  void SetDiff(TDiff& value);
2866 
2867  /// Assign a value to Diff data member.
2868  ///
2869  /// @return
2870  /// Reference to the data value.
2871  TDiff& SetDiff(void);
2872 
2873  /// Reset the whole object
2874  void Reset(void);
2875 
2876 
2877  private:
2878  // Prohibit copy constructor and assignment operator
2881 
2882  // data
2885  };
2886  /////////////////////////////////////////////////////////////////////////////
2887  ///
2888  /// C_Partialdiff_mmlclass --
2889  ///
2890 
2892  {
2894  public:
2895  // constructor
2896  C_Partialdiff_mmlclass(void);
2897  // destructor
2899 
2900  // type info
2902 
2903  // types
2905 
2906  // member index
2907  enum class E_memberIndex {
2908  e__allMandatory = 0,
2910  };
2912 
2913  // getters
2914  // setters
2915 
2916  /// Check if a value has been assigned to Partialdiff data member.
2917  ///
2918  /// Data member Partialdiff is mandatory;
2919  /// its type is defined as 'typedef CPartialdiff TPartialdiff'
2920  /// @return
2921  /// - true, if a value has been assigned.
2922  /// - false, otherwise.
2923  bool IsSetPartialdiff(void) const;
2924 
2925  /// Check if value of Partialdiff member is getatable.
2926  ///
2927  /// @return
2928  /// - false; the data member of type 'NULL' has no value.
2929  bool CanGetPartialdiff(void) const;
2930 
2931  /// Reset Partialdiff data member.
2932  void ResetPartialdiff(void);
2933 
2934  /// Get the Partialdiff member data.
2935  ///
2936  /// @return
2937  /// Reference to the member data.
2938  const TPartialdiff& GetPartialdiff(void) const;
2939 
2940  /// Assign a value to Partialdiff data member.
2941  ///
2942  /// @param value
2943  /// Reference to value.
2945 
2946  /// Assign a value to Partialdiff data member.
2947  ///
2948  /// @return
2949  /// Reference to the data value.
2951 
2952  /// Reset the whole object
2953  void Reset(void);
2954 
2955 
2956  private:
2957  // Prohibit copy constructor and assignment operator
2960 
2961  // data
2964  };
2965  /////////////////////////////////////////////////////////////////////////////
2966  ///
2967  /// C_Unary_veccalc_mmlclass --
2968  ///
2969 
2971  {
2973  public:
2974  // constructor
2976  // destructor
2978 
2979  // type info
2981 
2982 
2983  /// Choice variants.
2984  enum E_Choice {
2985  e_not_set = 0, ///< No variant selected
2989  e_Laplacian
2990  };
2991  /// Maximum+1 value of the choice variant enumerator.
2993  e_MaxChoice = 5 ///< == e_Laplacian+1
2994  };
2995 
2996  /// Reset the whole object
2997  void Reset(void);
2998 
2999  /// Reset the selection (set it to e_not_set).
3000  void ResetSelection(void);
3001 
3002  /// Which variant is currently selected.
3003  ///
3004  /// @return
3005  /// Choice state enumerator.
3006  E_Choice Which(void) const;
3007 
3008  /// Verify selection, throw exception if it differs from the expected.
3009  ///
3010  /// @param index
3011  /// Expected selection.
3012  void CheckSelected(E_Choice index) const;
3013 
3014  /// Throw 'InvalidSelection' exception.
3015  ///
3016  /// @param index
3017  /// Expected selection.
3018  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
3019 
3020  /// Retrieve selection name (for diagnostic purposes).
3021  ///
3022  /// @param index
3023  /// One of possible selection states.
3024  /// @return
3025  /// Name string.
3026  static string SelectionName(E_Choice index);
3027 
3028  /// Select the requested variant if needed.
3029  ///
3030  /// @param index
3031  /// New selection state.
3032  /// @param reset
3033  /// Flag that defines the resetting of the variant data. The data will
3034  /// be reset if either the current selection differs from the new one,
3035  /// or the flag is set to eDoResetVariant.
3037  /// Select the requested variant if needed,
3038  /// allocating CObject variants from memory pool.
3039  void Select(E_Choice index,
3040  EResetVariant reset,
3041  CObjectMemoryPool* pool);
3042 
3043  // types
3045  typedef CGrad TGrad;
3046  typedef CCurl TCurl;
3048 
3049  // getters
3050  // setters
3051 
3052 
3053  /// Check if variant Divergence is selected.
3054  ///
3055  /// Divergence type is defined as 'typedef CDivergence TDivergence'.
3056  /// @return
3057  /// - true, if the variant is selected.
3058  /// - false, otherwise.
3059  bool IsDivergence(void) const;
3060 
3061  /// Get the variant data.
3062  ///
3063  /// @return
3064  /// Reference to the data.
3065  const TDivergence& GetDivergence(void) const;
3066 
3067  /// Select the variant.
3068  ///
3069  /// @return
3070  /// Reference to the variant data.
3071  TDivergence& SetDivergence(void);
3072 
3073 
3074  /// Check if variant Grad is selected.
3075  ///
3076  /// Grad type is defined as 'typedef CGrad TGrad'.
3077  /// @return
3078  /// - true, if the variant is selected.
3079  /// - false, otherwise.
3080  bool IsGrad(void) const;
3081 
3082  /// Get the variant data.
3083  ///
3084  /// @return
3085  /// Reference to the data.
3086  const TGrad& GetGrad(void) const;
3087 
3088  /// Select the variant.
3089  ///
3090  /// @return
3091  /// Reference to the variant data.
3092  TGrad& SetGrad(void);
3093 
3094 
3095  /// Check if variant Curl is selected.
3096  ///
3097  /// Curl type is defined as 'typedef CCurl TCurl'.
3098  /// @return
3099  /// - true, if the variant is selected.
3100  /// - false, otherwise.
3101  bool IsCurl(void) const;
3102 
3103  /// Get the variant data.
3104  ///
3105  /// @return
3106  /// Reference to the data.
3107  const TCurl& GetCurl(void) const;
3108 
3109  /// Select the variant.
3110  ///
3111  /// @return
3112  /// Reference to the variant data.
3113  TCurl& SetCurl(void);
3114 
3115 
3116  /// Check if variant Laplacian is selected.
3117  ///
3118  /// Laplacian type is defined as 'typedef CLaplacian TLaplacian'.
3119  /// @return
3120  /// - true, if the variant is selected.
3121  /// - false, otherwise.
3122  bool IsLaplacian(void) const;
3123 
3124  /// Get the variant data.
3125  ///
3126  /// @return
3127  /// Reference to the data.
3128  const TLaplacian& GetLaplacian(void) const;
3129 
3130  /// Select the variant.
3131  ///
3132  /// @return
3133  /// Reference to the variant data.
3134  TLaplacian& SetLaplacian(void);
3135 
3136 
3137  private:
3138  // copy constructor and assignment operator
3141  // choice state
3143  // helper methods
3144  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
3145 
3146  static const char* const sm_SelectionNames[];
3147  // data
3148  NCBI_NS_NCBI::CSerialObject *m_object;
3149  };
3150  /////////////////////////////////////////////////////////////////////////////
3151  ///
3152  /// C_Nary_setlist_constructor_mmlclass --
3153  ///
3154 
3156  {
3158  public:
3159  // constructor
3161  // destructor
3163 
3164  // type info
3166 
3167 
3168  /// Choice variants.
3169  enum E_Choice {
3170  e_not_set = 0, ///< No variant selected
3172  e_List
3173  };
3174  /// Maximum+1 value of the choice variant enumerator.
3176  e_MaxChoice = 3 ///< == e_List+1
3177  };
3178 
3179  /// Reset the whole object
3180  void Reset(void);
3181 
3182  /// Reset the selection (set it to e_not_set).
3183  void ResetSelection(void);
3184 
3185  /// Which variant is currently selected.
3186  ///
3187  /// @return
3188  /// Choice state enumerator.
3189  E_Choice Which(void) const;
3190 
3191  /// Verify selection, throw exception if it differs from the expected.
3192  ///
3193  /// @param index
3194  /// Expected selection.
3195  void CheckSelected(E_Choice index) const;
3196 
3197  /// Throw 'InvalidSelection' exception.
3198  ///
3199  /// @param index
3200  /// Expected selection.
3201  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
3202 
3203  /// Retrieve selection name (for diagnostic purposes).
3204  ///
3205  /// @param index
3206  /// One of possible selection states.
3207  /// @return
3208  /// Name string.
3209  static string SelectionName(E_Choice index);
3210 
3211  /// Select the requested variant if needed.
3212  ///
3213  /// @param index
3214  /// New selection state.
3215  /// @param reset
3216  /// Flag that defines the resetting of the variant data. The data will
3217  /// be reset if either the current selection differs from the new one,
3218  /// or the flag is set to eDoResetVariant.
3220  /// Select the requested variant if needed,
3221  /// allocating CObject variants from memory pool.
3222  void Select(E_Choice index,
3223  EResetVariant reset,
3224  CObjectMemoryPool* pool);
3225 
3226  // types
3227  typedef CSet TSet;
3228  typedef CList TList;
3229 
3230  // getters
3231  // setters
3232 
3233 
3234  /// Check if variant Set is selected.
3235  ///
3236  /// Set type is defined as 'typedef CSet TSet'.
3237  /// @return
3238  /// - true, if the variant is selected.
3239  /// - false, otherwise.
3240  bool IsSet(void) const;
3241 
3242  /// Get the variant data.
3243  ///
3244  /// @return
3245  /// Reference to the data.
3246  const TSet& GetSet(void) const;
3247 
3248  /// Select the variant.
3249  ///
3250  /// @return
3251  /// Reference to the variant data.
3252  TSet& SetSet(void);
3253  /// Select the variant and set its data.
3254  ///
3255  /// @param value
3256  /// Reference to the data.
3257  void SetSet(TSet& value);
3258 
3259 
3260  /// Check if variant List is selected.
3261  ///
3262  /// List type is defined as 'typedef CList TList'.
3263  /// @return
3264  /// - true, if the variant is selected.
3265  /// - false, otherwise.
3266  bool IsList(void) const;
3267 
3268  /// Get the variant data.
3269  ///
3270  /// @return
3271  /// Reference to the data.
3272  const TList& GetList(void) const;
3273 
3274  /// Select the variant.
3275  ///
3276  /// @return
3277  /// Reference to the variant data.
3278  TList& SetList(void);
3279  /// Select the variant and set its data.
3280  ///
3281  /// @param value
3282  /// Reference to the data.
3283  void SetList(TList& value);
3284 
3285 
3286  private:
3287  // copy constructor and assignment operator
3290  // choice state
3292  // helper methods
3293  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
3294 
3295  static const char* const sm_SelectionNames[];
3296  // data
3297  NCBI_NS_NCBI::CSerialObject *m_object;
3298  };
3299  /////////////////////////////////////////////////////////////////////////////
3300  ///
3301  /// C_Nary_set_mmlclass --
3302  ///
3303 
3305  {
3307  public:
3308  // constructor
3309  C_Nary_set_mmlclass(void);
3310  // destructor
3311  ~C_Nary_set_mmlclass(void);
3312 
3313  // type info
3315 
3316 
3317  /// Choice variants.
3318  enum E_Choice {
3319  e_not_set = 0, ///< No variant selected
3323  };
3324  /// Maximum+1 value of the choice variant enumerator.
3326  e_MaxChoice = 4 ///< == e_Cartesianproduct+1
3327  };
3328 
3329  /// Reset the whole object
3330  void Reset(void);
3331 
3332  /// Reset the selection (set it to e_not_set).
3333  void ResetSelection(void);
3334 
3335  /// Which variant is currently selected.
3336  ///
3337  /// @return
3338  /// Choice state enumerator.
3339  E_Choice Which(void) const;
3340 
3341  /// Verify selection, throw exception if it differs from the expected.
3342  ///
3343  /// @param index
3344  /// Expected selection.
3345  void CheckSelected(E_Choice index) const;
3346 
3347  /// Throw 'InvalidSelection' exception.
3348  ///
3349  /// @param index
3350  /// Expected selection.
3351  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
3352 
3353  /// Retrieve selection name (for diagnostic purposes).
3354  ///
3355  /// @param index
3356  /// One of possible selection states.
3357  /// @return
3358  /// Name string.
3359  static string SelectionName(E_Choice index);
3360 
3361  /// Select the requested variant if needed.
3362  ///
3363  /// @param index
3364  /// New selection state.
3365  /// @param reset
3366  /// Flag that defines the resetting of the variant data. The data will
3367  /// be reset if either the current selection differs from the new one,
3368  /// or the flag is set to eDoResetVariant.
3370  /// Select the requested variant if needed,
3371  /// allocating CObject variants from memory pool.
3372  void Select(E_Choice index,
3373  EResetVariant reset,
3374  CObjectMemoryPool* pool);
3375 
3376  // types
3377  typedef CUnion TUnion;
3380 
3381  // getters
3382  // setters
3383 
3384 
3385  /// Check if variant Union is selected.
3386  ///
3387  /// Union type is defined as 'typedef CUnion TUnion'.
3388  /// @return
3389  /// - true, if the variant is selected.
3390  /// - false, otherwise.
3391  bool IsUnion(void) const;
3392 
3393  /// Get the variant data.
3394  ///
3395  /// @return
3396  /// Reference to the data.
3397  const TUnion& GetUnion(void) const;
3398 
3399  /// Select the variant.
3400  ///
3401  /// @return
3402  /// Reference to the variant data.
3403  TUnion& SetUnion(void);
3404 
3405 
3406  /// Check if variant Intersect is selected.
3407  ///
3408  /// Intersect type is defined as 'typedef CIntersect TIntersect'.
3409  /// @return
3410  /// - true, if the variant is selected.
3411  /// - false, otherwise.
3412  bool IsIntersect(void) const;
3413 
3414  /// Get the variant data.
3415  ///
3416  /// @return
3417  /// Reference to the data.
3418  const TIntersect& GetIntersect(void) const;
3419 
3420  /// Select the variant.
3421  ///
3422  /// @return
3423  /// Reference to the variant data.
3424  TIntersect& SetIntersect(void);
3425 
3426 
3427  /// Check if variant Cartesianproduct is selected.
3428  ///
3429  /// Cartesianproduct type is defined as 'typedef CCartesianproduct TCartesianproduct'.
3430  /// @return
3431  /// - true, if the variant is selected.
3432  /// - false, otherwise.
3433  bool IsCartesianproduct(void) const;
3434 
3435  /// Get the variant data.
3436  ///
3437  /// @return
3438  /// Reference to the data.
3439  const TCartesianproduct& GetCartesianproduct(void) const;
3440 
3441  /// Select the variant.
3442  ///
3443  /// @return
3444  /// Reference to the variant data.
3446 
3447 
3448  private:
3449  // copy constructor and assignment operator
3452  // choice state
3454  // helper methods
3455  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
3456 
3457  static const char* const sm_SelectionNames[];
3458  // data
3459  NCBI_NS_NCBI::CSerialObject *m_object;
3460  };
3461  /////////////////////////////////////////////////////////////////////////////
3462  ///
3463  /// C_Binary_set_mmlclass --
3464  ///
3465 
3467  {
3469  public:
3470  // constructor
3471  C_Binary_set_mmlclass(void);
3472  // destructor
3473  ~C_Binary_set_mmlclass(void);
3474 
3475  // type info
3477 
3478 
3479  /// Choice variants.
3480  enum E_Choice {
3481  e_not_set = 0, ///< No variant selected
3486  e_Setdiff
3487  };
3488  /// Maximum+1 value of the choice variant enumerator.
3490  e_MaxChoice = 6 ///< == e_Setdiff+1
3491  };
3492 
3493  /// Reset the whole object
3494  void Reset(void);
3495 
3496  /// Reset the selection (set it to e_not_set).
3497  void ResetSelection(void);
3498 
3499  /// Which variant is currently selected.
3500  ///
3501  /// @return
3502  /// Choice state enumerator.
3503  E_Choice Which(void) const;
3504 
3505  /// Verify selection, throw exception if it differs from the expected.
3506  ///
3507  /// @param index
3508  /// Expected selection.
3509  void CheckSelected(E_Choice index) const;
3510 
3511  /// Throw 'InvalidSelection' exception.
3512  ///
3513  /// @param index
3514  /// Expected selection.
3515  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
3516 
3517  /// Retrieve selection name (for diagnostic purposes).
3518  ///
3519  /// @param index
3520  /// One of possible selection states.
3521  /// @return
3522  /// Name string.
3523  static string SelectionName(E_Choice index);
3524 
3525  /// Select the requested variant if needed.
3526  ///
3527  /// @param index
3528  /// New selection state.
3529  /// @param reset
3530  /// Flag that defines the resetting of the variant data. The data will
3531  /// be reset if either the current selection differs from the new one,
3532  /// or the flag is set to eDoResetVariant.
3534  /// Select the requested variant if needed,
3535  /// allocating CObject variants from memory pool.
3536  void Select(E_Choice index,
3537  EResetVariant reset,
3538  CObjectMemoryPool* pool);
3539 
3540  // types
3541  typedef CIn TIn;
3542  typedef CNotin TNotin;
3546 
3547  // getters
3548  // setters
3549 
3550 
3551  /// Check if variant In is selected.
3552  ///
3553  /// In type is defined as 'typedef CIn TIn'.
3554  /// @return
3555  /// - true, if the variant is selected.
3556  /// - false, otherwise.
3557  bool IsIn(void) const;
3558 
3559  /// Get the variant data.
3560  ///
3561  /// @return
3562  /// Reference to the data.
3563  const TIn& GetIn(void) const;
3564 
3565  /// Select the variant.
3566  ///
3567  /// @return
3568  /// Reference to the variant data.
3569  TIn& SetIn(void);
3570 
3571 
3572  /// Check if variant Notin is selected.
3573  ///
3574  /// Notin type is defined as 'typedef CNotin TNotin'.
3575  /// @return
3576  /// - true, if the variant is selected.
3577  /// - false, otherwise.
3578  bool IsNotin(void) const;
3579 
3580  /// Get the variant data.
3581  ///
3582  /// @return
3583  /// Reference to the data.
3584  const TNotin& GetNotin(void) const;
3585 
3586  /// Select the variant.
3587  ///
3588  /// @return
3589  /// Reference to the variant data.
3590  TNotin& SetNotin(void);
3591 
3592 
3593  /// Check if variant Notsubset is selected.
3594  ///
3595  /// Notsubset type is defined as 'typedef CNotsubset TNotsubset'.
3596  /// @return
3597  /// - true, if the variant is selected.
3598  /// - false, otherwise.
3599  bool IsNotsubset(void) const;
3600 
3601  /// Get the variant data.
3602  ///
3603  /// @return
3604  /// Reference to the data.
3605  const TNotsubset& GetNotsubset(void) const;
3606 
3607  /// Select the variant.
3608  ///
3609  /// @return
3610  /// Reference to the variant data.
3611  TNotsubset& SetNotsubset(void);
3612 
3613 
3614  /// Check if variant Notprsubset is selected.
3615  ///
3616  /// Notprsubset type is defined as 'typedef CNotprsubset TNotprsubset'.
3617  /// @return
3618  /// - true, if the variant is selected.
3619  /// - false, otherwise.
3620  bool IsNotprsubset(void) const;
3621 
3622  /// Get the variant data.
3623  ///
3624  /// @return
3625  /// Reference to the data.
3626  const TNotprsubset& GetNotprsubset(void) const;
3627 
3628  /// Select the variant.
3629  ///
3630  /// @return
3631  /// Reference to the variant data.
3633 
3634 
3635  /// Check if variant Setdiff is selected.
3636  ///
3637  /// Setdiff type is defined as 'typedef CSetdiff TSetdiff'.
3638  /// @return
3639  /// - true, if the variant is selected.
3640  /// - false, otherwise.
3641  bool IsSetdiff(void) const;
3642 
3643  /// Get the variant data.
3644  ///
3645  /// @return
3646  /// Reference to the data.
3647  const TSetdiff& GetSetdiff(void) const;
3648 
3649  /// Select the variant.
3650  ///
3651  /// @return
3652  /// Reference to the variant data.
3653  TSetdiff& SetSetdiff(void);
3654 
3655 
3656  private:
3657  // copy constructor and assignment operator
3660  // choice state
3662  // helper methods
3663  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
3664 
3665  static const char* const sm_SelectionNames[];
3666  // data
3667  NCBI_NS_NCBI::CSerialObject *m_object;
3668  };
3669  /////////////////////////////////////////////////////////////////////////////
3670  ///
3671  /// C_Nary_set_reln_mmlclass --
3672  ///
3673 
3675  {
3677  public:
3678  // constructor
3680  // destructor
3682 
3683  // type info
3685 
3686 
3687  /// Choice variants.
3688  enum E_Choice {
3689  e_not_set = 0, ///< No variant selected
3691  e_Prsubset
3692  };
3693  /// Maximum+1 value of the choice variant enumerator.
3695  e_MaxChoice = 3 ///< == e_Prsubset+1
3696  };
3697 
3698  /// Reset the whole object
3699  void Reset(void);
3700 
3701  /// Reset the selection (set it to e_not_set).
3702  void ResetSelection(void);
3703 
3704  /// Which variant is currently selected.
3705  ///
3706  /// @return
3707  /// Choice state enumerator.
3708  E_Choice Which(void) const;
3709 
3710  /// Verify selection, throw exception if it differs from the expected.
3711  ///
3712  /// @param index
3713  /// Expected selection.
3714  void CheckSelected(E_Choice index) const;
3715 
3716  /// Throw 'InvalidSelection' exception.
3717  ///
3718  /// @param index
3719  /// Expected selection.
3720  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
3721 
3722  /// Retrieve selection name (for diagnostic purposes).
3723  ///
3724  /// @param index
3725  /// One of possible selection states.
3726  /// @return
3727  /// Name string.
3728  static string SelectionName(E_Choice index);
3729 
3730  /// Select the requested variant if needed.
3731  ///
3732  /// @param index
3733  /// New selection state.
3734  /// @param reset
3735  /// Flag that defines the resetting of the variant data. The data will
3736  /// be reset if either the current selection differs from the new one,
3737  /// or the flag is set to eDoResetVariant.
3739  /// Select the requested variant if needed,
3740  /// allocating CObject variants from memory pool.
3741  void Select(E_Choice index,
3742  EResetVariant reset,
3743  CObjectMemoryPool* pool);
3744 
3745  // types
3746  typedef CSubset TSubset;
3748 
3749  // getters
3750  // setters
3751 
3752 
3753  /// Check if variant Subset is selected.
3754  ///
3755  /// Subset type is defined as 'typedef CSubset TSubset'.
3756  /// @return
3757  /// - true, if the variant is selected.
3758  /// - false, otherwise.
3759  bool IsSubset(void) const;
3760 
3761  /// Get the variant data.
3762  ///
3763  /// @return
3764  /// Reference to the data.
3765  const TSubset& GetSubset(void) const;
3766 
3767  /// Select the variant.
3768  ///
3769  /// @return
3770  /// Reference to the variant data.
3771  TSubset& SetSubset(void);
3772 
3773 
3774  /// Check if variant Prsubset is selected.
3775  ///
3776  /// Prsubset type is defined as 'typedef CPrsubset TPrsubset'.
3777  /// @return
3778  /// - true, if the variant is selected.
3779  /// - false, otherwise.
3780  bool IsPrsubset(void) const;
3781 
3782  /// Get the variant data.
3783  ///
3784  /// @return
3785  /// Reference to the data.
3786  const TPrsubset& GetPrsubset(void) const;
3787 
3788  /// Select the variant.
3789  ///
3790  /// @return
3791  /// Reference to the variant data.
3792  TPrsubset& SetPrsubset(void);
3793 
3794 
3795  private:
3796  // copy constructor and assignment operator
3799  // choice state
3801  // helper methods
3802  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
3803 
3804  static const char* const sm_SelectionNames[];
3805  // data
3806  NCBI_NS_NCBI::CSerialObject *m_object;
3807  };
3808  /////////////////////////////////////////////////////////////////////////////
3809  ///
3810  /// C_Unary_set_mmlclass --
3811  ///
3812 
3814  {
3816  public:
3817  // constructor
3818  C_Unary_set_mmlclass(void);
3819  // destructor
3820  ~C_Unary_set_mmlclass(void);
3821 
3822  // type info
3824 
3825  // types
3826  typedef CCard TCard;
3827 
3828  // member index
3829  enum class E_memberIndex {
3830  e__allMandatory = 0,
3831  e_card
3832  };
3834 
3835  // getters
3836  // setters
3837 
3838  /// Check if a value has been assigned to Card data member.
3839  ///
3840  /// Data member Card is mandatory;
3841  /// its type is defined as 'typedef CCard TCard'
3842  /// @return
3843  /// - true, if a value has been assigned.
3844  /// - false, otherwise.
3845  bool IsSetCard(void) const;
3846 
3847  /// Check if value of Card member is getatable.
3848  ///
3849  /// @return
3850  /// - false; the data member of type 'NULL' has no value.
3851  bool CanGetCard(void) const;
3852 
3853  /// Reset Card data member.
3854  void ResetCard(void);
3855 
3856  /// Get the Card member data.
3857  ///
3858  /// @return
3859  /// Reference to the member data.
3860  const TCard& GetCard(void) const;
3861 
3862  /// Assign a value to Card data member.
3863  ///
3864  /// @param value
3865  /// Reference to value.
3866  void SetCard(TCard& value);
3867 
3868  /// Assign a value to Card data member.
3869  ///
3870  /// @return
3871  /// Reference to the data value.
3872  TCard& SetCard(void);
3873 
3874  /// Reset the whole object
3875  void Reset(void);
3876 
3877 
3878  private:
3879  // Prohibit copy constructor and assignment operator
3882 
3883  // data
3886  };
3887  /////////////////////////////////////////////////////////////////////////////
3888  ///
3889  /// C_Sum_mmlclass --
3890  ///
3891 
3893  {
3895  public:
3896  // constructor
3897  C_Sum_mmlclass(void);
3898  // destructor
3899  ~C_Sum_mmlclass(void);
3900 
3901  // type info
3903 
3904  // types
3905  typedef CSum TSum;
3906 
3907  // member index
3908  enum class E_memberIndex {
3909  e__allMandatory = 0,
3910  e_sum
3911  };
3913 
3914  // getters
3915  // setters
3916 
3917  /// Check if a value has been assigned to Sum data member.
3918  ///
3919  /// Data member Sum is mandatory;
3920  /// its type is defined as 'typedef CSum TSum'
3921  /// @return
3922  /// - true, if a value has been assigned.
3923  /// - false, otherwise.
3924  bool IsSetSum(void) const;
3925 
3926  /// Check if value of Sum member is getatable.
3927  ///
3928  /// @return
3929  /// - false; the data member of type 'NULL' has no value.
3930  bool CanGetSum(void) const;
3931 
3932  /// Reset Sum data member.
3933  void ResetSum(void);
3934 
3935  /// Get the Sum member data.
3936  ///
3937  /// @return
3938  /// Reference to the member data.
3939  const TSum& GetSum(void) const;
3940 
3941  /// Assign a value to Sum data member.
3942  ///
3943  /// @param value
3944  /// Reference to value.
3945  void SetSum(TSum& value);
3946 
3947  /// Assign a value to Sum data member.
3948  ///
3949  /// @return
3950  /// Reference to the data value.
3951  TSum& SetSum(void);
3952 
3953  /// Reset the whole object
3954  void Reset(void);
3955 
3956 
3957  private:
3958  // Prohibit copy constructor and assignment operator
3961 
3962  // data
3965  };
3966  /////////////////////////////////////////////////////////////////////////////
3967  ///
3968  /// C_Product_mmlclass --
3969  ///
3970 
3972  {
3974  public:
3975  // constructor
3976  C_Product_mmlclass(void);
3977  // destructor
3978  ~C_Product_mmlclass(void);
3979 
3980  // type info
3982 
3983  // types
3985 
3986  // member index
3987  enum class E_memberIndex {
3988  e__allMandatory = 0,
3989  e_product
3990  };
3992 
3993  // getters
3994  // setters
3995 
3996  /// Check if a value has been assigned to Product data member.
3997  ///
3998  /// Data member Product is mandatory;
3999  /// its type is defined as 'typedef CProduct TProduct'
4000  /// @return
4001  /// - true, if a value has been assigned.
4002  /// - false, otherwise.
4003  bool IsSetProduct(void) const;
4004 
4005  /// Check if value of Product member is getatable.
4006  ///
4007  /// @return
4008  /// - false; the data member of type 'NULL' has no value.
4009  bool CanGetProduct(void) const;
4010 
4011  /// Reset Product data member.
4012  void ResetProduct(void);
4013 
4014  /// Get the Product member data.
4015  ///
4016  /// @return
4017  /// Reference to the member data.
4018  const TProduct& GetProduct(void) const;
4019 
4020  /// Assign a value to Product data member.
4021  ///
4022  /// @param value
4023  /// Reference to value.
4024  void SetProduct(TProduct& value);
4025 
4026  /// Assign a value to Product data member.
4027  ///
4028  /// @return
4029  /// Reference to the data value.
4030  TProduct& SetProduct(void);
4031 
4032  /// Reset the whole object
4033  void Reset(void);
4034 
4035 
4036  private:
4037  // Prohibit copy constructor and assignment operator
4040 
4041  // data
4044  };
4045  /////////////////////////////////////////////////////////////////////////////
4046  ///
4047  /// C_Limit_mmlclass --
4048  ///
4049 
4051  {
4053  public:
4054  // constructor
4055  C_Limit_mmlclass(void);
4056  // destructor
4057  ~C_Limit_mmlclass(void);
4058 
4059  // type info
4061 
4062  // types
4063  typedef CLimit TLimit;
4064 
4065  // member index
4066  enum class E_memberIndex {
4067  e__allMandatory = 0,
4068  e_limit
4069  };
4071 
4072  // getters
4073  // setters
4074 
4075  /// Check if a value has been assigned to Limit data member.
4076  ///
4077  /// Data member Limit is mandatory;
4078  /// its type is defined as 'typedef CLimit TLimit'
4079  /// @return
4080  /// - true, if a value has been assigned.
4081  /// - false, otherwise.
4082  bool IsSetLimit(void) const;
4083 
4084  /// Check if value of Limit member is getatable.
4085  ///
4086  /// @return
4087  /// - false; the data member of type 'NULL' has no value.
4088  bool CanGetLimit(void) const;
4089 
4090  /// Reset Limit data member.
4091  void ResetLimit(void);
4092 
4093  /// Get the Limit member data.
4094  ///
4095  /// @return
4096  /// Reference to the member data.
4097  const TLimit& GetLimit(void) const;
4098 
4099  /// Assign a value to Limit data member.
4100  ///
4101  /// @param value
4102  /// Reference to value.
4103  void SetLimit(TLimit& value);
4104 
4105  /// Assign a value to Limit data member.
4106  ///
4107  /// @return
4108  /// Reference to the data value.
4109  TLimit& SetLimit(void);
4110 
4111  /// Reset the whole object
4112  void Reset(void);
4113 
4114 
4115  private:
4116  // Prohibit copy constructor and assignment operator
4119 
4120  // data
4123  };
4124  /////////////////////////////////////////////////////////////////////////////
4125  ///
4126  /// C_Unary_elementary_mmlclass --
4127  ///
4128 
4130  {
4132  public:
4133  // constructor
4135  // destructor
4137 
4138  // type info
4140 
4141 
4142  /// Choice variants.
4143  enum E_Choice {
4144  e_not_set = 0, ///< No variant selected
4168  e_Arctanh
4169  };
4170  /// Maximum+1 value of the choice variant enumerator.
4172  e_MaxChoice = 25 ///< == e_Arctanh+1
4173  };
4174 
4175  /// Reset the whole object
4176  void Reset(void);
4177 
4178  /// Reset the selection (set it to e_not_set).
4179  void ResetSelection(void);
4180 
4181  /// Which variant is currently selected.
4182  ///
4183  /// @return
4184  /// Choice state enumerator.
4185  E_Choice Which(void) const;
4186 
4187  /// Verify selection, throw exception if it differs from the expected.
4188  ///
4189  /// @param index
4190  /// Expected selection.
4191  void CheckSelected(E_Choice index) const;
4192 
4193  /// Throw 'InvalidSelection' exception.
4194  ///
4195  /// @param index
4196  /// Expected selection.
4197  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
4198 
4199  /// Retrieve selection name (for diagnostic purposes).
4200  ///
4201  /// @param index
4202  /// One of possible selection states.
4203  /// @return
4204  /// Name string.
4205  static string SelectionName(E_Choice index);
4206 
4207  /// Select the requested variant if needed.
4208  ///
4209  /// @param index
4210  /// New selection state.
4211  /// @param reset
4212  /// Flag that defines the resetting of the variant data. The data will
4213  /// be reset if either the current selection differs from the new one,
4214  /// or the flag is set to eDoResetVariant.
4216  /// Select the requested variant if needed,
4217  /// allocating CObject variants from memory pool.
4218  void Select(E_Choice index,
4219  EResetVariant reset,
4220  CObjectMemoryPool* pool);
4221 
4222  // types
4223  typedef CSin TSin;
4224  typedef CCos TCos;
4225  typedef CTan TTan;
4226  typedef CSec TSec;
4227  typedef CCsc TCsc;
4228  typedef CCot TCot;
4229  typedef CSinh TSinh;
4230  typedef CCosh TCosh;
4231  typedef CTanh TTanh;
4232  typedef CSech TSech;
4233  typedef CCsch TCsch;
4234  typedef CCoth TCoth;
4235  typedef CArcsin TArcsin;
4236  typedef CArccos TArccos;
4237  typedef CArctan TArctan;
4239  typedef CArccot TArccot;
4241  typedef CArccsc TArccsc;
4243  typedef CArcsec TArcsec;
4247 
4248  // getters
4249  // setters
4250 
4251 
4252  /// Check if variant Sin is selected.
4253  ///
4254  /// Sin type is defined as 'typedef CSin TSin'.
4255  /// @return
4256  /// - true, if the variant is selected.
4257  /// - false, otherwise.
4258  bool IsSin(void) const;
4259 
4260  /// Get the variant data.
4261  ///
4262  /// @return
4263  /// Reference to the data.
4264  const TSin& GetSin(void) const;
4265 
4266  /// Select the variant.
4267  ///
4268  /// @return
4269  /// Reference to the variant data.
4270  TSin& SetSin(void);
4271 
4272 
4273  /// Check if variant Cos is selected.
4274  ///
4275  /// Cos type is defined as 'typedef CCos TCos'.
4276  /// @return
4277  /// - true, if the variant is selected.
4278  /// - false, otherwise.
4279  bool IsCos(void) const;
4280 
4281  /// Get the variant data.
4282  ///
4283  /// @return
4284  /// Reference to the data.
4285  const TCos& GetCos(void) const;
4286 
4287  /// Select the variant.
4288  ///
4289  /// @return
4290  /// Reference to the variant data.
4291  TCos& SetCos(void);
4292 
4293 
4294  /// Check if variant Tan is selected.
4295  ///
4296  /// Tan type is defined as 'typedef CTan TTan'.
4297  /// @return
4298  /// - true, if the variant is selected.
4299  /// - false, otherwise.
4300  bool IsTan(void) const;
4301 
4302  /// Get the variant data.
4303  ///
4304  /// @return
4305  /// Reference to the data.
4306  const TTan& GetTan(void) const;
4307 
4308  /// Select the variant.
4309  ///
4310  /// @return
4311  /// Reference to the variant data.
4312  TTan& SetTan(void);
4313 
4314 
4315  /// Check if variant Sec is selected.
4316  ///
4317  /// Sec type is defined as 'typedef CSec TSec'.
4318  /// @return
4319  /// - true, if the variant is selected.
4320  /// - false, otherwise.
4321  bool IsSec(void) const;
4322 
4323  /// Get the variant data.
4324  ///
4325  /// @return
4326  /// Reference to the data.
4327  const TSec& GetSec(void) const;
4328 
4329  /// Select the variant.
4330  ///
4331  /// @return
4332  /// Reference to the variant data.
4333  TSec& SetSec(void);
4334 
4335 
4336  /// Check if variant Csc is selected.
4337  ///
4338  /// Csc type is defined as 'typedef CCsc TCsc'.
4339  /// @return
4340  /// - true, if the variant is selected.
4341  /// - false, otherwise.
4342  bool IsCsc(void) const;
4343 
4344  /// Get the variant data.
4345  ///
4346  /// @return
4347  /// Reference to the data.
4348  const TCsc& GetCsc(void) const;
4349 
4350  /// Select the variant.
4351  ///
4352  /// @return
4353  /// Reference to the variant data.
4354  TCsc& SetCsc(void);
4355 
4356 
4357  /// Check if variant Cot is selected.
4358  ///
4359  /// Cot type is defined as 'typedef CCot TCot'.
4360  /// @return
4361  /// - true, if the variant is selected.
4362  /// - false, otherwise.
4363  bool IsCot(void) const;
4364 
4365  /// Get the variant data.
4366  ///
4367  /// @return
4368  /// Reference to the data.
4369  const TCot& GetCot(void) const;
4370 
4371  /// Select the variant.
4372  ///
4373  /// @return
4374  /// Reference to the variant data.
4375  TCot& SetCot(void);
4376 
4377 
4378  /// Check if variant Sinh is selected.
4379  ///
4380  /// Sinh type is defined as 'typedef CSinh TSinh'.
4381  /// @return
4382  /// - true, if the variant is selected.
4383  /// - false, otherwise.
4384  bool IsSinh(void) const;
4385 
4386  /// Get the variant data.
4387  ///
4388  /// @return
4389  /// Reference to the data.
4390  const TSinh& GetSinh(void) const;
4391 
4392  /// Select the variant.
4393  ///
4394  /// @return
4395  /// Reference to the variant data.
4396  TSinh& SetSinh(void);
4397 
4398 
4399  /// Check if variant Cosh is selected.
4400  ///
4401  /// Cosh type is defined as 'typedef CCosh TCosh'.
4402  /// @return
4403  /// - true, if the variant is selected.
4404  /// - false, otherwise.
4405  bool IsCosh(void) const;
4406 
4407  /// Get the variant data.
4408  ///
4409  /// @return
4410  /// Reference to the data.
4411  const TCosh& GetCosh(void) const;
4412 
4413  /// Select the variant.
4414  ///
4415  /// @return
4416  /// Reference to the variant data.
4417  TCosh& SetCosh(void);
4418 
4419 
4420  /// Check if variant Tanh is selected.
4421  ///
4422  /// Tanh type is defined as 'typedef CTanh TTanh'.
4423  /// @return
4424  /// - true, if the variant is selected.
4425  /// - false, otherwise.
4426  bool IsTanh(void) const;
4427 
4428  /// Get the variant data.
4429  ///
4430  /// @return
4431  /// Reference to the data.
4432  const TTanh& GetTanh(void) const;
4433 
4434  /// Select the variant.
4435  ///
4436  /// @return
4437  /// Reference to the variant data.
4438  TTanh& SetTanh(void);
4439 
4440 
4441  /// Check if variant Sech is selected.
4442  ///
4443  /// Sech type is defined as 'typedef CSech TSech'.
4444  /// @return
4445  /// - true, if the variant is selected.
4446  /// - false, otherwise.
4447  bool IsSech(void) const;
4448 
4449  /// Get the variant data.
4450  ///
4451  /// @return
4452  /// Reference to the data.
4453  const TSech& GetSech(void) const;
4454 
4455  /// Select the variant.
4456  ///
4457  /// @return
4458  /// Reference to the variant data.
4459  TSech& SetSech(void);
4460 
4461 
4462  /// Check if variant Csch is selected.
4463  ///
4464  /// Csch type is defined as 'typedef CCsch TCsch'.
4465  /// @return
4466  /// - true, if the variant is selected.
4467  /// - false, otherwise.
4468  bool IsCsch(void) const;
4469 
4470  /// Get the variant data.
4471  ///
4472  /// @return
4473  /// Reference to the data.
4474  const TCsch& GetCsch(void) const;
4475 
4476  /// Select the variant.
4477  ///
4478  /// @return
4479  /// Reference to the variant data.
4480  TCsch& SetCsch(void);
4481 
4482 
4483  /// Check if variant Coth is selected.
4484  ///
4485  /// Coth type is defined as 'typedef CCoth TCoth'.
4486  /// @return
4487  /// - true, if the variant is selected.
4488  /// - false, otherwise.
4489  bool IsCoth(void) const;
4490 
4491  /// Get the variant data.
4492  ///
4493  /// @return
4494  /// Reference to the data.
4495  const TCoth& GetCoth(void) const;
4496 
4497  /// Select the variant.
4498  ///
4499  /// @return
4500  /// Reference to the variant data.
4501  TCoth& SetCoth(void);
4502 
4503 
4504  /// Check if variant Arcsin is selected.
4505  ///
4506  /// Arcsin type is defined as 'typedef CArcsin TArcsin'.
4507  /// @return
4508  /// - true, if the variant is selected.
4509  /// - false, otherwise.
4510  bool IsArcsin(void) const;
4511 
4512  /// Get the variant data.
4513  ///
4514  /// @return
4515  /// Reference to the data.
4516  const TArcsin& GetArcsin(void) const;
4517 
4518  /// Select the variant.
4519  ///
4520  /// @return
4521  /// Reference to the variant data.
4522  TArcsin& SetArcsin(void);
4523 
4524 
4525  /// Check if variant Arccos is selected.
4526  ///
4527  /// Arccos type is defined as 'typedef CArccos TArccos'.
4528  /// @return
4529  /// - true, if the variant is selected.
4530  /// - false, otherwise.
4531  bool IsArccos(void) const;
4532 
4533  /// Get the variant data.
4534  ///
4535  /// @return
4536  /// Reference to the data.
4537  const TArccos& GetArccos(void) const;
4538 
4539  /// Select the variant.
4540  ///
4541  /// @return
4542  /// Reference to the variant data.
4543  TArccos& SetArccos(void);
4544 
4545 
4546  /// Check if variant Arctan is selected.
4547  ///
4548  /// Arctan type is defined as 'typedef CArctan TArctan'.
4549  /// @return
4550  /// - true, if the variant is selected.
4551  /// - false, otherwise.
4552  bool IsArctan(void) const;
4553 
4554  /// Get the variant data.
4555  ///
4556  /// @return
4557  /// Reference to the data.
4558  const TArctan& GetArctan(void) const;
4559 
4560  /// Select the variant.
4561  ///
4562  /// @return
4563  /// Reference to the variant data.
4564  TArctan& SetArctan(void);
4565 
4566 
4567  /// Check if variant Arccosh is selected.
4568  ///
4569  /// Arccosh type is defined as 'typedef CArccosh TArccosh'.
4570  /// @return
4571  /// - true, if the variant is selected.
4572  /// - false, otherwise.
4573  bool IsArccosh(void) const;
4574 
4575  /// Get the variant data.
4576  ///
4577  /// @return
4578  /// Reference to the data.
4579  const TArccosh& GetArccosh(void) const;
4580 
4581  /// Select the variant.
4582  ///
4583  /// @return
4584  /// Reference to the variant data.
4585  TArccosh& SetArccosh(void);
4586 
4587 
4588  /// Check if variant Arccot is selected.
4589  ///
4590  /// Arccot type is defined as 'typedef CArccot TArccot'.
4591  /// @return
4592  /// - true, if the variant is selected.
4593  /// - false, otherwise.
4594  bool IsArccot(void) const;
4595 
4596  /// Get the variant data.
4597  ///
4598  /// @return
4599  /// Reference to the data.
4600  const TArccot& GetArccot(void) const;
4601 
4602  /// Select the variant.
4603  ///
4604  /// @return
4605  /// Reference to the variant data.
4606  TArccot& SetArccot(void);
4607 
4608 
4609  /// Check if variant Arccoth is selected.
4610  ///
4611  /// Arccoth type is defined as 'typedef CArccoth TArccoth'.
4612  /// @return
4613  /// - true, if the variant is selected.
4614  /// - false, otherwise.
4615  bool IsArccoth(void) const;
4616 
4617  /// Get the variant data.
4618  ///
4619  /// @return
4620  /// Reference to the data.
4621  const TArccoth& GetArccoth(void) const;
4622 
4623  /// Select the variant.
4624  ///
4625  /// @return
4626  /// Reference to the variant data.
4627  TArccoth& SetArccoth(void);
4628 
4629 
4630  /// Check if variant Arccsc is selected.
4631  ///
4632  /// Arccsc type is defined as 'typedef CArccsc TArccsc'.
4633  /// @return
4634  /// - true, if the variant is selected.
4635  /// - false, otherwise.
4636  bool IsArccsc(void) const;
4637 
4638  /// Get the variant data.
4639  ///
4640  /// @return
4641  /// Reference to the data.
4642  const TArccsc& GetArccsc(void) const;
4643 
4644  /// Select the variant.
4645  ///
4646  /// @return
4647  /// Reference to the variant data.
4648  TArccsc& SetArccsc(void);
4649 
4650 
4651  /// Check if variant Arccsch is selected.
4652  ///
4653  /// Arccsch type is defined as 'typedef CArccsch TArccsch'.
4654  /// @return
4655  /// - true, if the variant is selected.
4656  /// - false, otherwise.
4657  bool IsArccsch(void) const;
4658 
4659  /// Get the variant data.
4660  ///
4661  /// @return
4662  /// Reference to the data.
4663  const TArccsch& GetArccsch(void) const;
4664 
4665  /// Select the variant.
4666  ///
4667  /// @return
4668  /// Reference to the variant data.
4669  TArccsch& SetArccsch(void);
4670 
4671 
4672  /// Check if variant Arcsec is selected.
4673  ///
4674  /// Arcsec type is defined as 'typedef CArcsec TArcsec'.
4675  /// @return
4676  /// - true, if the variant is selected.
4677  /// - false, otherwise.
4678  bool IsArcsec(void) const;
4679 
4680  /// Get the variant data.
4681  ///
4682  /// @return
4683  /// Reference to the data.
4684  const TArcsec& GetArcsec(void) const;
4685 
4686  /// Select the variant.
4687  ///
4688  /// @return
4689  /// Reference to the variant data.
4690  TArcsec& SetArcsec(void);
4691 
4692 
4693  /// Check if variant Arcsech is selected.
4694  ///
4695  /// Arcsech type is defined as 'typedef CArcsech TArcsech'.
4696  /// @return
4697  /// - true, if the variant is selected.
4698  /// - false, otherwise.
4699  bool IsArcsech(void) const;
4700 
4701  /// Get the variant data.
4702  ///
4703  /// @return
4704  /// Reference to the data.
4705  const TArcsech& GetArcsech(void) const;
4706 
4707  /// Select the variant.
4708  ///
4709  /// @return
4710  /// Reference to the variant data.
4711  TArcsech& SetArcsech(void);
4712 
4713 
4714  /// Check if variant Arcsinh is selected.
4715  ///
4716  /// Arcsinh type is defined as 'typedef CArcsinh TArcsinh'.
4717  /// @return
4718  /// - true, if the variant is selected.
4719  /// - false, otherwise.
4720  bool IsArcsinh(void) const;
4721 
4722  /// Get the variant data.
4723  ///
4724  /// @return
4725  /// Reference to the data.
4726  const TArcsinh& GetArcsinh(void) const;
4727 
4728  /// Select the variant.
4729  ///
4730  /// @return
4731  /// Reference to the variant data.
4732  TArcsinh& SetArcsinh(void);
4733 
4734 
4735  /// Check if variant Arctanh is selected.
4736  ///
4737  /// Arctanh type is defined as 'typedef CArctanh TArctanh'.
4738  /// @return
4739  /// - true, if the variant is selected.
4740  /// - false, otherwise.
4741  bool IsArctanh(void) const;
4742 
4743  /// Get the variant data.
4744  ///
4745  /// @return
4746  /// Reference to the data.
4747  const TArctanh& GetArctanh(void) const;
4748 
4749  /// Select the variant.
4750  ///
4751  /// @return
4752  /// Reference to the variant data.
4753  TArctanh& SetArctanh(void);
4754 
4755 
4756  private:
4757  // copy constructor and assignment operator
4760  // choice state
4762  // helper methods
4763  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
4764 
4765  static const char* const sm_SelectionNames[];
4766  // data
4767  NCBI_NS_NCBI::CSerialObject *m_object;
4768  };
4769  /////////////////////////////////////////////////////////////////////////////
4770  ///
4771  /// C_Nary_stats_mmlclass --
4772  ///
4773 
4775  {
4777  public:
4778  // constructor
4779  C_Nary_stats_mmlclass(void);
4780  // destructor
4781  ~C_Nary_stats_mmlclass(void);
4782 
4783  // type info
4785 
4786 
4787  /// Choice variants.
4788  enum E_Choice {
4789  e_not_set = 0, ///< No variant selected
4794  e_Mode
4795  };
4796  /// Maximum+1 value of the choice variant enumerator.
4798  e_MaxChoice = 6 ///< == e_Mode+1
4799  };
4800 
4801  /// Reset the whole object
4802  void Reset(void);
4803 
4804  /// Reset the selection (set it to e_not_set).
4805  void ResetSelection(void);
4806 
4807  /// Which variant is currently selected.
4808  ///
4809  /// @return
4810  /// Choice state enumerator.
4811  E_Choice Which(void) const;
4812 
4813  /// Verify selection, throw exception if it differs from the expected.
4814  ///
4815  /// @param index
4816  /// Expected selection.
4817  void CheckSelected(E_Choice index) const;
4818 
4819  /// Throw 'InvalidSelection' exception.
4820  ///
4821  /// @param index
4822  /// Expected selection.
4823  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
4824 
4825  /// Retrieve selection name (for diagnostic purposes).
4826  ///
4827  /// @param index
4828  /// One of possible selection states.
4829  /// @return
4830  /// Name string.
4831  static string SelectionName(E_Choice index);
4832 
4833  /// Select the requested variant if needed.
4834  ///
4835  /// @param index
4836  /// New selection state.
4837  /// @param reset
4838  /// Flag that defines the resetting of the variant data. The data will
4839  /// be reset if either the current selection differs from the new one,
4840  /// or the flag is set to eDoResetVariant.
4842  /// Select the requested variant if needed,
4843  /// allocating CObject variants from memory pool.
4844  void Select(E_Choice index,
4845  EResetVariant reset,
4846  CObjectMemoryPool* pool);
4847 
4848  // types
4849  typedef CMean TMean;
4850  typedef CSdev TSdev;
4852  typedef CMedian TMedian;
4853  typedef CMode TMode;
4854 
4855  // getters
4856  // setters
4857 
4858 
4859  /// Check if variant Mean is selected.
4860  ///
4861  /// Mean type is defined as 'typedef CMean TMean'.
4862  /// @return
4863  /// - true, if the variant is selected.
4864  /// - false, otherwise.
4865  bool IsMean(void) const;
4866 
4867  /// Get the variant data.
4868  ///
4869  /// @return
4870  /// Reference to the data.
4871  const TMean& GetMean(void) const;
4872 
4873  /// Select the variant.
4874  ///
4875  /// @return
4876  /// Reference to the variant data.
4877  TMean& SetMean(void);
4878 
4879 
4880  /// Check if variant Sdev is selected.
4881  ///
4882  /// Sdev type is defined as 'typedef CSdev TSdev'.
4883  /// @return
4884  /// - true, if the variant is selected.
4885  /// - false, otherwise.
4886  bool IsSdev(void) const;
4887 
4888  /// Get the variant data.
4889  ///
4890  /// @return
4891  /// Reference to the data.
4892  const TSdev& GetSdev(void) const;
4893 
4894  /// Select the variant.
4895  ///
4896  /// @return
4897  /// Reference to the variant data.
4898  TSdev& SetSdev(void);
4899 
4900 
4901  /// Check if variant Variance is selected.
4902  ///
4903  /// Variance type is defined as 'typedef CVariance TVariance'.
4904  /// @return
4905  /// - true, if the variant is selected.
4906  /// - false, otherwise.
4907  bool IsVariance(void) const;
4908 
4909  /// Get the variant data.
4910  ///
4911  /// @return
4912  /// Reference to the data.
4913  const TVariance& GetVariance(void) const;
4914 
4915  /// Select the variant.
4916  ///
4917  /// @return
4918  /// Reference to the variant data.
4919  TVariance& SetVariance(void);
4920 
4921 
4922  /// Check if variant Median is selected.
4923  ///
4924  /// Median type is defined as 'typedef CMedian TMedian'.
4925  /// @return
4926  /// - true, if the variant is selected.
4927  /// - false, otherwise.
4928  bool IsMedian(void) const;
4929 
4930  /// Get the variant data.
4931  ///
4932  /// @return
4933  /// Reference to the data.
4934  const TMedian& GetMedian(void) const;
4935 
4936  /// Select the variant.
4937  ///
4938  /// @return
4939  /// Reference to the variant data.
4940  TMedian& SetMedian(void);
4941 
4942 
4943  /// Check if variant Mode is selected.
4944  ///
4945  /// Mode type is defined as 'typedef CMode TMode'.
4946  /// @return
4947  /// - true, if the variant is selected.
4948  /// - false, otherwise.
4949  bool IsMode(void) const;
4950 
4951  /// Get the variant data.
4952  ///
4953  /// @return
4954  /// Reference to the data.
4955  const TMode& GetMode(void) const;
4956 
4957  /// Select the variant.
4958  ///
4959  /// @return
4960  /// Reference to the variant data.
4961  TMode& SetMode(void);
4962 
4963 
4964  private:
4965  // copy constructor and assignment operator
4968  // choice state
4970  // helper methods
4971  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
4972 
4973  static const char* const sm_SelectionNames[];
4974  // data
4975  NCBI_NS_NCBI::CSerialObject *m_object;
4976  };
4977  /////////////////////////////////////////////////////////////////////////////
4978  ///
4979  /// C_Nary_constructor_mmlclass --
4980  ///
4981 
4983  {
4985  public:
4986  // constructor
4988  // destructor
4990 
4991  // type info
4993 
4994 
4995  /// Choice variants.
4996  enum E_Choice {
4997  e_not_set = 0, ///< No variant selected
5000  e_Matrixrow
5001  };
5002  /// Maximum+1 value of the choice variant enumerator.
5004  e_MaxChoice = 4 ///< == e_Matrixrow+1
5005  };
5006 
5007  /// Reset the whole object
5008  void Reset(void);
5009 
5010  /// Reset the selection (set it to e_not_set).
5011  void ResetSelection(void);
5012 
5013  /// Which variant is currently selected.
5014  ///
5015  /// @return
5016  /// Choice state enumerator.
5017  E_Choice Which(void) const;
5018 
5019  /// Verify selection, throw exception if it differs from the expected.
5020  ///
5021  /// @param index
5022  /// Expected selection.
5023  void CheckSelected(E_Choice index) const;
5024 
5025  /// Throw 'InvalidSelection' exception.
5026  ///
5027  /// @param index
5028  /// Expected selection.
5029  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
5030 
5031  /// Retrieve selection name (for diagnostic purposes).
5032  ///
5033  /// @param index
5034  /// One of possible selection states.
5035  /// @return
5036  /// Name string.
5037  static string SelectionName(E_Choice index);
5038 
5039  /// Select the requested variant if needed.
5040  ///
5041  /// @param index
5042  /// New selection state.
5043  /// @param reset
5044  /// Flag that defines the resetting of the variant data. The data will
5045  /// be reset if either the current selection differs from the new one,
5046  /// or the flag is set to eDoResetVariant.
5048  /// Select the requested variant if needed,
5049  /// allocating CObject variants from memory pool.
5050  void Select(E_Choice index,
5051  EResetVariant reset,
5052  CObjectMemoryPool* pool);
5053 
5054  // types
5055  typedef CVector TVector;
5056  typedef CMatrix TMatrix;
5058 
5059  // getters
5060  // setters
5061 
5062 
5063  /// Check if variant Vector is selected.
5064  ///
5065  /// Vector type is defined as 'typedef CVector TVector'.
5066  /// @return
5067  /// - true, if the variant is selected.
5068  /// - false, otherwise.
5069  bool IsVector(void) const;
5070 
5071  /// Get the variant data.
5072  ///
5073  /// @return
5074  /// Reference to the data.
5075  const TVector& GetVector(void) const;
5076 
5077  /// Select the variant.
5078  ///
5079  /// @return
5080  /// Reference to the variant data.
5081  TVector& SetVector(void);
5082  /// Select the variant and set its data.
5083  ///
5084  /// @param value
5085  /// Reference to the data.
5086  void SetVector(TVector& value);
5087 
5088 
5089  /// Check if variant Matrix is selected.
5090  ///
5091  /// Matrix type is defined as 'typedef CMatrix TMatrix'.
5092  /// @return
5093  /// - true, if the variant is selected.
5094  /// - false, otherwise.
5095  bool IsMatrix(void) const;
5096 
5097  /// Get the variant data.
5098  ///
5099  /// @return
5100  /// Reference to the data.
5101  const TMatrix& GetMatrix(void) const;
5102 
5103  /// Select the variant.
5104  ///
5105  /// @return
5106  /// Reference to the variant data.
5107  TMatrix& SetMatrix(void);
5108  /// Select the variant and set its data.
5109  ///
5110  /// @param value
5111  /// Reference to the data.
5112  void SetMatrix(TMatrix& value);
5113 
5114 
5115  /// Check if variant Matrixrow is selected.
5116  ///
5117  /// Matrixrow type is defined as 'typedef CMatrixrow TMatrixrow'.
5118  /// @return
5119  /// - true, if the variant is selected.
5120  /// - false, otherwise.
5121  bool IsMatrixrow(void) const;
5122 
5123  /// Get the variant data.
5124  ///
5125  /// @return
5126  /// Reference to the data.
5127  const TMatrixrow& GetMatrixrow(void) const;
5128 
5129  /// Select the variant.
5130  ///
5131  /// @return
5132  /// Reference to the variant data.
5133  TMatrixrow& SetMatrixrow(void);
5134  /// Select the variant and set its data.
5135  ///
5136  /// @param value
5137  /// Reference to the data.
5138  void SetMatrixrow(TMatrixrow& value);
5139 
5140 
5141  private:
5142  // copy constructor and assignment operator
5145  // choice state
5147  // helper methods
5148  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
5149 
5150  static const char* const sm_SelectionNames[];
5151  // data
5152  NCBI_NS_NCBI::CSerialObject *m_object;
5153  };
5154  /////////////////////////////////////////////////////////////////////////////
5155  ///
5156  /// C_Unary_linalg_mmlclass --
5157  ///
5158 
5160  {
5162  public:
5163  // constructor
5165  // destructor
5167 
5168  // type info
5170 
5171 
5172  /// Choice variants.
5173  enum E_Choice {
5174  e_not_set = 0, ///< No variant selected
5176  e_Transpose
5177  };
5178  /// Maximum+1 value of the choice variant enumerator.
5180  e_MaxChoice = 3 ///< == e_Transpose+1
5181  };
5182 
5183  /// Reset the whole object
5184  void Reset(void);
5185 
5186  /// Reset the selection (set it to e_not_set).
5187  void ResetSelection(void);
5188 
5189  /// Which variant is currently selected.
5190  ///
5191  /// @return
5192  /// Choice state enumerator.
5193  E_Choice Which(void) const;
5194 
5195  /// Verify selection, throw exception if it differs from the expected.
5196  ///
5197  /// @param index
5198  /// Expected selection.
5199  void CheckSelected(E_Choice index) const;
5200 
5201  /// Throw 'InvalidSelection' exception.
5202  ///
5203  /// @param index
5204  /// Expected selection.
5205  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
5206 
5207  /// Retrieve selection name (for diagnostic purposes).
5208  ///
5209  /// @param index
5210  /// One of possible selection states.
5211  /// @return
5212  /// Name string.
5213  static string SelectionName(E_Choice index);
5214 
5215  /// Select the requested variant if needed.
5216  ///
5217  /// @param index
5218  /// New selection state.
5219  /// @param reset
5220  /// Flag that defines the resetting of the variant data. The data will
5221  /// be reset if either the current selection differs from the new one,
5222  /// or the flag is set to eDoResetVariant.
5224  /// Select the requested variant if needed,
5225  /// allocating CObject variants from memory pool.
5226  void Select(E_Choice index,
5227  EResetVariant reset,
5228  CObjectMemoryPool* pool);
5229 
5230  // types
5233 
5234  // getters
5235  // setters
5236 
5237 
5238  /// Check if variant Determinant is selected.
5239  ///
5240  /// Determinant type is defined as 'typedef CDeterminant TDeterminant'.
5241  /// @return
5242  /// - true, if the variant is selected.
5243  /// - false, otherwise.
5244  bool IsDeterminant(void) const;
5245 
5246  /// Get the variant data.
5247  ///
5248  /// @return
5249  /// Reference to the data.
5250  const TDeterminant& GetDeterminant(void) const;
5251 
5252  /// Select the variant.
5253  ///
5254  /// @return
5255  /// Reference to the variant data.
5257 
5258 
5259  /// Check if variant Transpose is selected.
5260  ///
5261  /// Transpose type is defined as 'typedef CTranspose TTranspose'.
5262  /// @return
5263  /// - true, if the variant is selected.
5264  /// - false, otherwise.
5265  bool IsTranspose(void) const;
5266 
5267  /// Get the variant data.
5268  ///
5269  /// @return
5270  /// Reference to the data.
5271  const TTranspose& GetTranspose(void) const;
5272 
5273  /// Select the variant.
5274  ///
5275  /// @return
5276  /// Reference to the variant data.
5277  TTranspose& SetTranspose(void);
5278 
5279 
5280  private:
5281  // copy constructor and assignment operator
5284  // choice state
5286  // helper methods
5287  void DoSel