NCBI C++ ToolKit
SeqTable_multi_data_.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 SeqTable_multi_data_.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/objects/seqtable/seqtable.asn">seqtable.asn</a>
34 /// and additional tune-up parameters:
35 /// <a href="/IEB/ToolBox/CPP_DOC/lxr/source/src/objects/seqtable/seqtable.def">seqtable.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 OBJECTS_SEQTABLE_SEQTABLE_MULTI_DATA_BASE_HPP
42 #define OBJECTS_SEQTABLE_SEQTABLE_MULTI_DATA_BASE_HPP
43 
44 // standard includes
45 #include <serial/serialbase.hpp>
46 
47 // generated includes
48 #include <string>
49 #include <vector>
50 
52 
53 #ifndef BEGIN_objects_SCOPE
54 # define BEGIN_objects_SCOPE BEGIN_SCOPE(objects)
55 # define END_objects_SCOPE END_SCOPE(objects)
56 #endif
57 BEGIN_objects_SCOPE // namespace ncbi::objects::
58 
59 
60 // forward declarations
61 class CBVector_data;
62 class CCommonBytes_table;
67 class CSeq_id;
68 class CSeq_interval;
69 class CSeq_loc;
70 
71 
72 // generated classes
73 
74 
75 /** @addtogroup dataspec_NCBI_SeqTable
76  *
77  * @{
78  */
79 
80 /////////////////////////////////////////////////////////////////////////////
81 ///
82 /// CSeqTable_multi_data_Base --
83 ///
84 
86 {
88 public:
89  // constructor
91  // destructor
92  virtual ~CSeqTable_multi_data_Base(void);
93 
94  // type info
96 
97 
98  /// Choice variants.
99  enum E_Choice {
100  e_not_set = 0, ///< No variant selected
101  e_Int, ///< a set of 4-byte integers, one per row
102  e_Real, ///< a set of reals, one per row
103  e_String, ///< a set of strings, one per row
104  e_Bytes, ///< a set of byte arrays, one per row
105  e_Common_string, ///< a set of string with small set of possible values
106  e_Common_bytes, ///< a set of byte arrays with small set of possible values
107  e_Bit, ///< a set of bits, one per row Most-significant bit in each octet comes first.
108  e_Loc, ///< a set of locations, one per row
111  e_Int_delta, ///< delta-encoded data (int/bit -> int)
112  e_Int_scaled, ///< scaled data (int/bit -> int)
113  e_Real_scaled, ///< scaled data (int/bit -> real)
114  e_Bit_bvector, ///< a set of bit, represented as serialized bvector, see include/util/bitset/bm.h
115  e_Int1, ///< a set of signed 1-byte integers encoded as sequential octets
116  e_Int2, ///< a set of signed 2-byte integers
117  e_Int8 ///< a set of signed 8-byte integers
118  };
119  /// Maximum+1 value of the choice variant enumerator.
121  e_MaxChoice = 18 ///< == e_Int8+1
122  };
123 
124  /// Reset the whole object
125  virtual void Reset(void);
126 
127  /// Reset the selection (set it to e_not_set).
128  virtual void ResetSelection(void);
129 
130  /// Which variant is currently selected.
131  ///
132  /// @return
133  /// Choice state enumerator.
134  E_Choice Which(void) const;
135 
136  /// Verify selection, throw exception if it differs from the expected.
137  ///
138  /// @param index
139  /// Expected selection.
140  void CheckSelected(E_Choice index) const;
141 
142  /// Throw 'InvalidSelection' exception.
143  ///
144  /// @param index
145  /// Expected selection.
146  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
147 
148  /// Retrieve selection name (for diagnostic purposes).
149  ///
150  /// @param index
151  /// One of possible selection states.
152  /// @return
153  /// Name string.
154  static string SelectionName(E_Choice index);
155 
156  /// Select the requested variant if needed.
157  ///
158  /// @param index
159  /// New selection state.
160  /// @param reset
161  /// Flag that defines the resetting of the variant data. The data will
162  /// be reset if either the current selection differs from the new one,
163  /// or the flag is set to eDoResetVariant.
165  /// Select the requested variant if needed,
166  /// allocating CObject variants from memory pool.
167  void Select(E_Choice index,
168  EResetVariant reset,
169  CObjectMemoryPool* pool);
170 
171  // types
172  typedef vector< int > TInt;
173  typedef vector< double > TReal;
174  typedef vector< CStringUTF8 > TString;
175  typedef vector< vector< char >* > TBytes;
178  typedef vector< char > TBit;
179  typedef vector< CRef< CSeq_loc > > TLoc;
180  typedef vector< CRef< CSeq_id > > TId;
181  typedef vector< CRef< CSeq_interval > > TInterval;
186  typedef vector< char > TInt1;
187  typedef vector< Int2 > TInt2;
188  typedef vector< Int8 > TInt8;
189 
190  // getters
191  // setters
192 
193 
194  /// Check if variant Int is selected.
195  ///
196  /// Int type is defined as 'typedef vector< int > TInt'.
197  /// @return
198  /// - true, if the variant is selected.
199  /// - false, otherwise.
200  bool IsInt(void) const;
201 
202  /// Get the variant data.
203  ///
204  /// @return
205  /// Reference to the data.
206  const TInt& GetInt(void) const;
207 
208  /// Select the variant.
209  ///
210  /// @return
211  /// Reference to the variant data.
212  TInt& SetInt(void);
213 
214 
215  /// Check if variant Real is selected.
216  ///
217  /// Real type is defined as 'typedef vector< double > TReal'.
218  /// @return
219  /// - true, if the variant is selected.
220  /// - false, otherwise.
221  bool IsReal(void) const;
222 
223  /// Get the variant data.
224  ///
225  /// @return
226  /// Reference to the data.
227  const TReal& GetReal(void) const;
228 
229  /// Select the variant.
230  ///
231  /// @return
232  /// Reference to the variant data.
233  TReal& SetReal(void);
234 
235 
236  /// Check if variant String is selected.
237  ///
238  /// String type is defined as 'typedef vector< CStringUTF8 > TString'.
239  /// @return
240  /// - true, if the variant is selected.
241  /// - false, otherwise.
242  bool IsString(void) const;
243 
244  /// Get the variant data.
245  ///
246  /// @return
247  /// Reference to the data.
248  const TString& GetString(void) const;
249 
250  /// Select the variant.
251  ///
252  /// @return
253  /// Reference to the variant data.
254  TString& SetString(void);
255 
256 
257  /// Check if variant Bytes is selected.
258  ///
259  /// Bytes type is defined as 'typedef vector< vector< char >* > TBytes'.
260  /// @return
261  /// - true, if the variant is selected.
262  /// - false, otherwise.
263  bool IsBytes(void) const;
264 
265  /// Get the variant data.
266  ///
267  /// @return
268  /// Reference to the data.
269  const TBytes& GetBytes(void) const;
270 
271  /// Select the variant.
272  ///
273  /// @return
274  /// Reference to the variant data.
275  TBytes& SetBytes(void);
276 
277 
278  /// Check if variant Common_string is selected.
279  ///
280  /// Common_string type is defined as 'typedef CCommonString_table TCommon_string'.
281  /// @return
282  /// - true, if the variant is selected.
283  /// - false, otherwise.
284  bool IsCommon_string(void) const;
285 
286  /// Get the variant data.
287  ///
288  /// @return
289  /// Reference to the data.
290  const TCommon_string& GetCommon_string(void) const;
291 
292  /// Select the variant.
293  ///
294  /// @return
295  /// Reference to the variant data.
296  TCommon_string& SetCommon_string(void);
297  /// Select the variant and set its data.
298  ///
299  /// @param value
300  /// Reference to the data.
301  void SetCommon_string(TCommon_string& value);
302 
303 
304  /// Check if variant Common_bytes is selected.
305  ///
306  /// Common_bytes type is defined as 'typedef CCommonBytes_table TCommon_bytes'.
307  /// @return
308  /// - true, if the variant is selected.
309  /// - false, otherwise.
310  bool IsCommon_bytes(void) const;
311 
312  /// Get the variant data.
313  ///
314  /// @return
315  /// Reference to the data.
316  const TCommon_bytes& GetCommon_bytes(void) const;
317 
318  /// Select the variant.
319  ///
320  /// @return
321  /// Reference to the variant data.
322  TCommon_bytes& SetCommon_bytes(void);
323  /// Select the variant and set its data.
324  ///
325  /// @param value
326  /// Reference to the data.
327  void SetCommon_bytes(TCommon_bytes& value);
328 
329 
330  /// Check if variant Bit is selected.
331  ///
332  /// Bit type is defined as 'typedef vector< char > TBit'.
333  /// @return
334  /// - true, if the variant is selected.
335  /// - false, otherwise.
336  bool IsBit(void) const;
337 
338  /// Get the variant data.
339  ///
340  /// @return
341  /// Reference to the data.
342  const TBit& GetBit(void) const;
343 
344  /// Select the variant.
345  ///
346  /// @return
347  /// Reference to the variant data.
348  TBit& SetBit(void);
349 
350 
351  /// Check if variant Loc is selected.
352  ///
353  /// Loc type is defined as 'typedef vector< CRef< CSeq_loc > > TLoc'.
354  /// @return
355  /// - true, if the variant is selected.
356  /// - false, otherwise.
357  bool IsLoc(void) const;
358 
359  /// Get the variant data.
360  ///
361  /// @return
362  /// Reference to the data.
363  const TLoc& GetLoc(void) const;
364 
365  /// Select the variant.
366  ///
367  /// @return
368  /// Reference to the variant data.
369  TLoc& SetLoc(void);
370 
371 
372  /// Check if variant Id is selected.
373  ///
374  /// Id type is defined as 'typedef vector< CRef< CSeq_id > > TId'.
375  /// @return
376  /// - true, if the variant is selected.
377  /// - false, otherwise.
378  bool IsId(void) const;
379 
380  /// Get the variant data.
381  ///
382  /// @return
383  /// Reference to the data.
384  const TId& GetId(void) const;
385 
386  /// Select the variant.
387  ///
388  /// @return
389  /// Reference to the variant data.
390  TId& SetId(void);
391 
392 
393  /// Check if variant Interval is selected.
394  ///
395  /// Interval type is defined as 'typedef vector< CRef< CSeq_interval > > TInterval'.
396  /// @return
397  /// - true, if the variant is selected.
398  /// - false, otherwise.
399  bool IsInterval(void) const;
400 
401  /// Get the variant data.
402  ///
403  /// @return
404  /// Reference to the data.
405  const TInterval& GetInterval(void) const;
406 
407  /// Select the variant.
408  ///
409  /// @return
410  /// Reference to the variant data.
411  TInterval& SetInterval(void);
412 
413 
414  /// Check if variant Int_delta is selected.
415  ///
416  /// Int_delta type is defined as 'typedef CSeqTable_multi_data TInt_delta'.
417  /// @return
418  /// - true, if the variant is selected.
419  /// - false, otherwise.
420  bool IsInt_delta(void) const;
421 
422  /// Get the variant data.
423  ///
424  /// @return
425  /// Reference to the data.
426  const TInt_delta& GetInt_delta(void) const;
427 
428  /// Select the variant.
429  ///
430  /// @return
431  /// Reference to the variant data.
432  TInt_delta& SetInt_delta(void);
433  /// Select the variant and set its data.
434  ///
435  /// @param value
436  /// Reference to the data.
437  void SetInt_delta(TInt_delta& value);
438 
439 
440  /// Check if variant Int_scaled is selected.
441  ///
442  /// Int_scaled type is defined as 'typedef CScaled_int_multi_data TInt_scaled'.
443  /// @return
444  /// - true, if the variant is selected.
445  /// - false, otherwise.
446  bool IsInt_scaled(void) const;
447 
448  /// Get the variant data.
449  ///
450  /// @return
451  /// Reference to the data.
452  const TInt_scaled& GetInt_scaled(void) const;
453 
454  /// Select the variant.
455  ///
456  /// @return
457  /// Reference to the variant data.
458  TInt_scaled& SetInt_scaled(void);
459  /// Select the variant and set its data.
460  ///
461  /// @param value
462  /// Reference to the data.
463  void SetInt_scaled(TInt_scaled& value);
464 
465 
466  /// Check if variant Real_scaled is selected.
467  ///
468  /// Real_scaled type is defined as 'typedef CScaled_real_multi_data TReal_scaled'.
469  /// @return
470  /// - true, if the variant is selected.
471  /// - false, otherwise.
472  bool IsReal_scaled(void) const;
473 
474  /// Get the variant data.
475  ///
476  /// @return
477  /// Reference to the data.
478  const TReal_scaled& GetReal_scaled(void) const;
479 
480  /// Select the variant.
481  ///
482  /// @return
483  /// Reference to the variant data.
484  TReal_scaled& SetReal_scaled(void);
485  /// Select the variant and set its data.
486  ///
487  /// @param value
488  /// Reference to the data.
489  void SetReal_scaled(TReal_scaled& value);
490 
491 
492  /// Check if variant Bit_bvector is selected.
493  ///
494  /// Bit_bvector type is defined as 'typedef CBVector_data TBit_bvector'.
495  /// @return
496  /// - true, if the variant is selected.
497  /// - false, otherwise.
498  bool IsBit_bvector(void) const;
499 
500  /// Get the variant data.
501  ///
502  /// @return
503  /// Reference to the data.
504  const TBit_bvector& GetBit_bvector(void) const;
505 
506  /// Select the variant.
507  ///
508  /// @return
509  /// Reference to the variant data.
510  TBit_bvector& SetBit_bvector(void);
511  /// Select the variant and set its data.
512  ///
513  /// @param value
514  /// Reference to the data.
515  void SetBit_bvector(TBit_bvector& value);
516 
517 
518  /// Check if variant Int1 is selected.
519  ///
520  /// Int1 type is defined as 'typedef vector< char > TInt1'.
521  /// @return
522  /// - true, if the variant is selected.
523  /// - false, otherwise.
524  bool IsInt1(void) const;
525 
526  /// Get the variant data.
527  ///
528  /// @return
529  /// Reference to the data.
530  const TInt1& GetInt1(void) const;
531 
532  /// Select the variant.
533  ///
534  /// @return
535  /// Reference to the variant data.
536  TInt1& SetInt1(void);
537 
538 
539  /// Check if variant Int2 is selected.
540  ///
541  /// Int2 type is defined as 'typedef vector< Int2 > TInt2'.
542  /// @return
543  /// - true, if the variant is selected.
544  /// - false, otherwise.
545  bool IsInt2(void) const;
546 
547  /// Get the variant data.
548  ///
549  /// @return
550  /// Reference to the data.
551  const TInt2& GetInt2(void) const;
552 
553  /// Select the variant.
554  ///
555  /// @return
556  /// Reference to the variant data.
557  TInt2& SetInt2(void);
558 
559 
560  /// Check if variant Int8 is selected.
561  ///
562  /// Int8 type is defined as 'typedef vector< Int8 > TInt8'.
563  /// @return
564  /// - true, if the variant is selected.
565  /// - false, otherwise.
566  bool IsInt8(void) const;
567 
568  /// Get the variant data.
569  ///
570  /// @return
571  /// Reference to the data.
572  const TInt8& GetInt8(void) const;
573 
574  /// Select the variant.
575  ///
576  /// @return
577  /// Reference to the variant data.
578  TInt8& SetInt8(void);
579 
580 
581 private:
582  // copy constructor and assignment operator
585  // choice state
587  // helper methods
588  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
589 
590  static const char* const sm_SelectionNames[];
591  // data
592  union {
593  NCBI_NS_NCBI::CUnionBuffer<TInt> m_Int;
594  NCBI_NS_NCBI::CUnionBuffer<TReal> m_Real;
595  NCBI_NS_NCBI::CUnionBuffer<TString> m_String;
596  NCBI_NS_NCBI::CUnionBuffer<TBytes> m_Bytes;
597  NCBI_NS_NCBI::CUnionBuffer<TBit> m_Bit;
598  NCBI_NS_NCBI::CUnionBuffer<TLoc> m_Loc;
599  NCBI_NS_NCBI::CUnionBuffer<TId> m_Id;
600  NCBI_NS_NCBI::CUnionBuffer<TInterval> m_Interval;
601  NCBI_NS_NCBI::CUnionBuffer<TInt1> m_Int1;
602  NCBI_NS_NCBI::CUnionBuffer<TInt2> m_Int2;
603  NCBI_NS_NCBI::CUnionBuffer<TInt8> m_Int8;
604  NCBI_NS_NCBI::CSerialObject *m_object;
605  };
606 };
607 
608 /* @} */
609 
610 
611 
612 
613 
614 ///////////////////////////////////////////////////////////
615 ///////////////////// inline methods //////////////////////
616 ///////////////////////////////////////////////////////////
617 inline
619 {
620  return m_choice;
621 }
622 
623 inline
625 {
626  if ( m_choice != index )
627  ThrowInvalidSelection(index);
628 }
629 
630 inline
631 void CSeqTable_multi_data_Base::Select(E_Choice index, NCBI_NS_NCBI::EResetVariant reset, NCBI_NS_NCBI::CObjectMemoryPool* pool)
632 {
633  if ( reset == NCBI_NS_NCBI::eDoResetVariant || m_choice != index ) {
634  if ( m_choice != e_not_set )
635  ResetSelection();
636  DoSelect(index, pool);
637  }
638 }
639 
640 inline
642 {
643  Select(index, reset, 0);
644 }
645 
646 inline
648 {
649  return m_choice == e_Int;
650 }
651 
652 inline
654 {
656  return *m_Int;
657 }
658 
659 inline
661 {
663  return *m_Int;
664 }
665 
666 inline
668 {
669  return m_choice == e_Real;
670 }
671 
672 inline
674 {
676  return *m_Real;
677 }
678 
679 inline
681 {
683  return *m_Real;
684 }
685 
686 inline
688 {
689  return m_choice == e_String;
690 }
691 
692 inline
694 {
696  return *m_String;
697 }
698 
699 inline
701 {
703  return *m_String;
704 }
705 
706 inline
708 {
709  return m_choice == e_Bytes;
710 }
711 
712 inline
714 {
716  return *m_Bytes;
717 }
718 
719 inline
721 {
723  return *m_Bytes;
724 }
725 
726 inline
728 {
729  return m_choice == e_Common_string;
730 }
731 
732 inline
734 {
735  return m_choice == e_Common_bytes;
736 }
737 
738 inline
740 {
741  return m_choice == e_Bit;
742 }
743 
744 inline
746 {
748  return *m_Bit;
749 }
750 
751 inline
753 {
755  return *m_Bit;
756 }
757 
758 inline
760 {
761  return m_choice == e_Loc;
762 }
763 
764 inline
766 {
768  return *m_Loc;
769 }
770 
771 inline
773 {
775  return *m_Loc;
776 }
777 
778 inline
780 {
781  return m_choice == e_Id;
782 }
783 
784 inline
786 {
788  return *m_Id;
789 }
790 
791 inline
793 {
795  return *m_Id;
796 }
797 
798 inline
800 {
801  return m_choice == e_Interval;
802 }
803 
804 inline
806 {
808  return *m_Interval;
809 }
810 
811 inline
813 {
815  return *m_Interval;
816 }
817 
818 inline
820 {
821  return m_choice == e_Int_delta;
822 }
823 
824 inline
826 {
827  return m_choice == e_Int_scaled;
828 }
829 
830 inline
832 {
833  return m_choice == e_Real_scaled;
834 }
835 
836 inline
838 {
839  return m_choice == e_Bit_bvector;
840 }
841 
842 inline
844 {
845  return m_choice == e_Int1;
846 }
847 
848 inline
850 {
852  return *m_Int1;
853 }
854 
855 inline
857 {
859  return *m_Int1;
860 }
861 
862 inline
864 {
865  return m_choice == e_Int2;
866 }
867 
868 inline
870 {
872  return *m_Int2;
873 }
874 
875 inline
877 {
879  return *m_Int2;
880 }
881 
882 inline
884 {
885  return m_choice == e_Int8;
886 }
887 
888 inline
890 {
892  return *m_Int8;
893 }
894 
895 inline
897 {
899  return *m_Int8;
900 }
901 
902 ///////////////////////////////////////////////////////////
903 ////////////////// end of inline methods //////////////////
904 ///////////////////////////////////////////////////////////
905 
906 
907 
908 
909 
910 END_objects_SCOPE // namespace ncbi::objects::
911 
913 
914 
915 #endif // OBJECTS_SEQTABLE_SEQTABLE_MULTI_DATA_BASE_HPP
CCommonBytes_table –.
CCommonString_table –.
CSeqTable_multi_data_Base –.
Base class for all serializable objects.
Definition: serialbase.hpp:150
char value[7]
Definition: config.c:431
EResetVariant
Definition: serialbase.hpp:76
@ eDoResetVariant
Definition: serialbase.hpp:77
@ eDoNotResetVariant
Definition: serialbase.hpp:78
const CSeq_id & GetId(const CSeq_loc &loc, CScope *scope)
If all CSeq_ids embedded in CSeq_loc refer to the same CBioseq, returns the first CSeq_id found,...
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define NCBI_SEQ_EXPORT
Definition: ncbi_export.h:816
NCBI_NS_NCBI::CUnionBuffer< TInt > m_Int
bool IsBit(void) const
Check if variant Bit is selected.
TReal & SetReal(void)
Select the variant.
TLoc & SetLoc(void)
Select the variant.
bool IsId(void) const
Check if variant Id is selected.
E_ChoiceStopper
Maximum+1 value of the choice variant enumerator.
NCBI_NS_NCBI::CUnionBuffer< TReal > m_Real
NCBI_NS_NCBI::CUnionBuffer< TInt8 > m_Int8
void Select(E_Choice index, EResetVariant reset, CObjectMemoryPool *pool)
Select the requested variant if needed, allocating CObject variants from memory pool.
CScaled_int_multi_data TInt_scaled
NCBI_NS_NCBI::CSerialObject * m_object
TString & SetString(void)
Select the variant.
CCommonString_table TCommon_string
bool IsString(void) const
Check if variant String is selected.
const TInt2 & GetInt2(void) const
Get the variant data.
NCBI_NS_NCBI::CUnionBuffer< TId > m_Id
TId & SetId(void)
Select the variant.
const TInt1 & GetInt1(void) const
Get the variant data.
bool IsInt_delta(void) const
Check if variant Int_delta is selected.
const TInterval & GetInterval(void) const
Get the variant data.
NCBI_NS_NCBI::CUnionBuffer< TInt2 > m_Int2
const TBit & GetBit(void) const
Get the variant data.
bool IsInt1(void) const
Check if variant Int1 is selected.
void Select(E_Choice index, EResetVariant reset=eDoResetVariant)
Select the requested variant if needed.
NCBI_NS_NCBI::CUnionBuffer< TInt1 > m_Int1
NCBI_NS_NCBI::CUnionBuffer< TInt8 > m_Int8
bool IsBit_bvector(void) const
Check if variant Bit_bvector is selected.
TInt2 & SetInt2(void)
Select the variant.
NCBI_NS_NCBI::CUnionBuffer< TBytes > m_Bytes
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
bool IsReal(void) const
Check if variant Real is selected.
vector< CRef< CSeq_loc > > TLoc
NCBI_NS_NCBI::CUnionBuffer< TBytes > m_Bytes
NCBI_NS_NCBI::CUnionBuffer< TInt > m_Int
const TReal & GetReal(void) const
Get the variant data.
bool IsInt8(void) const
Check if variant Int8 is selected.
bool IsInt_scaled(void) const
Check if variant Int_scaled is selected.
NCBI_NS_NCBI::CUnionBuffer< TLoc > m_Loc
bool IsInt(void) const
Check if variant Int is selected.
NCBI_NS_NCBI::CUnionBuffer< TReal > m_Real
CSeqTable_multi_data_Base(const CSeqTable_multi_data_Base &)
bool IsBytes(void) const
Check if variant Bytes is selected.
const TLoc & GetLoc(void) const
Get the variant data.
TInt8 & SetInt8(void)
Select the variant.
vector< vector< char > * > TBytes
const TInt8 & GetInt8(void) const
Get the variant data.
virtual void ResetSelection(void)
Reset the selection (set it to e_not_set).
bool IsReal_scaled(void) const
Check if variant Real_scaled is selected.
bool IsLoc(void) const
Check if variant Loc is selected.
NCBI_NS_NCBI::CUnionBuffer< TBit > m_Bit
TInt1 & SetInt1(void)
Select the variant.
NCBI_NS_NCBI::CUnionBuffer< TInt1 > m_Int1
CScaled_real_multi_data TReal_scaled
TInt & SetInt(void)
Select the variant.
NCBI_NS_NCBI::CUnionBuffer< TInterval > m_Interval
NCBI_NS_NCBI::CUnionBuffer< TLoc > m_Loc
NCBI_NS_NCBI::CUnionBuffer< TInt2 > m_Int2
bool IsCommon_bytes(void) const
Check if variant Common_bytes is selected.
vector< CRef< CSeq_id > > TId
const TInt & GetInt(void) const
Get the variant data.
TInterval & SetInterval(void)
Select the variant.
void DoSelect(E_Choice index, CObjectMemoryPool *pool=0)
TBit & SetBit(void)
Select the variant.
NCBI_NS_NCBI::CUnionBuffer< TString > m_String
const TBytes & GetBytes(void) const
Get the variant data.
const TString & GetString(void) const
Get the variant data.
bool IsInt2(void) const
Check if variant Int2 is selected.
bool IsInterval(void) const
Check if variant Interval is selected.
NCBI_NS_NCBI::CUnionBuffer< TInterval > m_Interval
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
CSeqTable_multi_data_Base & operator=(const CSeqTable_multi_data_Base &)
vector< CRef< CSeq_interval > > TInterval
NCBI_NS_NCBI::CUnionBuffer< TString > m_String
E_Choice Which(void) const
Which variant is currently selected.
bool IsCommon_string(void) const
Check if variant Common_string is selected.
NCBI_NS_NCBI::CUnionBuffer< TBit > m_Bit
const TId & GetId(void) const
Get the variant data.
NCBI_NS_NCBI::CUnionBuffer< TId > m_Id
TBytes & SetBytes(void)
Select the variant.
@ e_Int8
a set of signed 8-byte integers
@ e_Int_scaled
scaled data (int/bit -> int)
@ e_Real
a set of reals, one per row
@ e_Int1
a set of signed 1-byte integers encoded as sequential octets
@ e_Loc
a set of locations, one per row
@ e_not_set
No variant selected.
@ e_Common_bytes
a set of byte arrays with small set of possible values
@ e_Int_delta
delta-encoded data (int/bit -> int)
@ e_Bytes
a set of byte arrays, one per row
@ e_String
a set of strings, one per row
@ e_Bit
a set of bits, one per row Most-significant bit in each octet comes first.
@ e_Int2
a set of signed 2-byte integers
@ e_Int
a set of 4-byte integers, one per row
@ e_Common_string
a set of string with small set of possible values
@ e_Real_scaled
scaled data (int/bit -> real)
@ e_Bit_bvector
a set of bit, represented as serialized bvector, see include/util/bitset/bm.h
@ e_not_set
int GetLoc(const string &acc, const string &pat, CSeq_loc &loc, CScope &scope)
Modified on Wed Sep 27 02:42:16 2023 by modify_doxy.py rev. 669887