NCBI C++ ToolKit
Seq_annot_.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 Seq_annot_.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/seq/seq.asn">seq.asn</a>
34 /// and additional tune-up parameters:
35 /// <a href="/IEB/ToolBox/CPP_DOC/lxr/source/src/objects/seq/seq.def">seq.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_SEQ_SEQ_ANNOT_BASE_HPP
42 #define OBJECTS_SEQ_SEQ_ANNOT_BASE_HPP
43 
44 // standard includes
45 #include <serial/serialbase.hpp>
46 
47 // generated includes
48 #include <list>
49 #include <string>
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 CAnnot_descr;
62 class CAnnot_id;
63 class CSeq_align;
64 class CSeq_feat;
65 class CSeq_graph;
66 class CSeq_id;
67 class CSeq_loc;
68 class CSeq_table;
69 
70 
71 // generated classes
72 
73 
74 /** @addtogroup dataspec_NCBI_Sequence
75  *
76  * @{
77  */
78 
79 /////////////////////////////////////////////////////////////////////////////
80 /// features in table form
81 ///
82 /// CSeq_annot_Base --
83 ///
84 
86 {
88 public:
89  // constructor
90  CSeq_annot_Base(void);
91  // destructor
92  virtual ~CSeq_annot_Base(void);
93 
94  // type info
96 
97  /// source of annotation
98  enum EDb {
99  eDb_genbank = 1,
100  eDb_embl = 2,
101  eDb_ddbj = 3,
102  eDb_pir = 4,
103  eDb_sp = 5,
104  eDb_bbone = 6,
105  eDb_pdb = 7,
106  eDb_other = 255
107  };
108 
109  /// Access to EDb's attributes (values, names) as defined in spec
110  static const NCBI_NS_NCBI::CEnumeratedTypeValues* ENUM_METHOD_NAME(EDb)(void);
111 
112  /////////////////////////////////////////////////////////////////////////////
113  ///
114  /// C_Data --
115  ///
116 
118  {
120  public:
121  // constructor
122  C_Data(void);
123  // destructor
124  ~C_Data(void);
125 
126  // type info
128 
129 
130  /// Choice variants.
131  enum E_Choice {
132  e_not_set = 0, ///< No variant selected
136  e_Ids, ///< used for communication between tools
137  e_Locs, ///< used for communication between tools
138  e_Seq_table
139  };
140  /// Maximum+1 value of the choice variant enumerator.
142  e_MaxChoice = 7 ///< == e_Seq_table+1
143  };
144 
145  /// Reset the whole object
146  void Reset(void);
147 
148  /// Reset the selection (set it to e_not_set).
149  void ResetSelection(void);
150 
151  /// Which variant is currently selected.
152  ///
153  /// @return
154  /// Choice state enumerator.
155  E_Choice Which(void) const;
156 
157  /// Verify selection, throw exception if it differs from the expected.
158  ///
159  /// @param index
160  /// Expected selection.
161  void CheckSelected(E_Choice index) const;
162 
163  /// Throw 'InvalidSelection' exception.
164  ///
165  /// @param index
166  /// Expected selection.
167  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
168 
169  /// Retrieve selection name (for diagnostic purposes).
170  ///
171  /// @param index
172  /// One of possible selection states.
173  /// @return
174  /// Name string.
175  static string SelectionName(E_Choice index);
176 
177  /// Select the requested variant if needed.
178  ///
179  /// @param index
180  /// New selection state.
181  /// @param reset
182  /// Flag that defines the resetting of the variant data. The data will
183  /// be reset if either the current selection differs from the new one,
184  /// or the flag is set to eDoResetVariant.
186  /// Select the requested variant if needed,
187  /// allocating CObject variants from memory pool.
188  void Select(E_Choice index,
189  EResetVariant reset,
190  CObjectMemoryPool* pool);
191 
192  // types
193  typedef list< CRef< CSeq_feat > > TFtable;
194  typedef list< CRef< CSeq_align > > TAlign;
195  typedef list< CRef< CSeq_graph > > TGraph;
196  typedef list< CRef< CSeq_id > > TIds;
197  typedef list< CRef< CSeq_loc > > TLocs;
199 
200  // getters
201  // setters
202 
203 
204  /// Check if variant Ftable is selected.
205  ///
206  /// Ftable type is defined as 'typedef list< CRef< CSeq_feat > > TFtable'.
207  /// @return
208  /// - true, if the variant is selected.
209  /// - false, otherwise.
210  bool IsFtable(void) const;
211 
212  /// Get the variant data.
213  ///
214  /// @return
215  /// Reference to the data.
216  const TFtable& GetFtable(void) const;
217 
218  /// Select the variant.
219  ///
220  /// @return
221  /// Reference to the variant data.
222  TFtable& SetFtable(void);
223 
224 
225  /// Check if variant Align is selected.
226  ///
227  /// Align type is defined as 'typedef list< CRef< CSeq_align > > TAlign'.
228  /// @return
229  /// - true, if the variant is selected.
230  /// - false, otherwise.
231  bool IsAlign(void) const;
232 
233  /// Get the variant data.
234  ///
235  /// @return
236  /// Reference to the data.
237  const TAlign& GetAlign(void) const;
238 
239  /// Select the variant.
240  ///
241  /// @return
242  /// Reference to the variant data.
243  TAlign& SetAlign(void);
244 
245 
246  /// Check if variant Graph is selected.
247  ///
248  /// Graph type is defined as 'typedef list< CRef< CSeq_graph > > TGraph'.
249  /// @return
250  /// - true, if the variant is selected.
251  /// - false, otherwise.
252  bool IsGraph(void) const;
253 
254  /// Get the variant data.
255  ///
256  /// @return
257  /// Reference to the data.
258  const TGraph& GetGraph(void) const;
259 
260  /// Select the variant.
261  ///
262  /// @return
263  /// Reference to the variant data.
264  TGraph& SetGraph(void);
265 
266 
267  /// Check if variant Ids is selected.
268  ///
269  /// Ids type is defined as 'typedef list< CRef< CSeq_id > > TIds'.
270  /// @return
271  /// - true, if the variant is selected.
272  /// - false, otherwise.
273  bool IsIds(void) const;
274 
275  /// Get the variant data.
276  ///
277  /// @return
278  /// Reference to the data.
279  const TIds& GetIds(void) const;
280 
281  /// Select the variant.
282  ///
283  /// @return
284  /// Reference to the variant data.
285  TIds& SetIds(void);
286 
287 
288  /// Check if variant Locs is selected.
289  ///
290  /// Locs type is defined as 'typedef list< CRef< CSeq_loc > > TLocs'.
291  /// @return
292  /// - true, if the variant is selected.
293  /// - false, otherwise.
294  bool IsLocs(void) const;
295 
296  /// Get the variant data.
297  ///
298  /// @return
299  /// Reference to the data.
300  const TLocs& GetLocs(void) const;
301 
302  /// Select the variant.
303  ///
304  /// @return
305  /// Reference to the variant data.
306  TLocs& SetLocs(void);
307 
308 
309  /// Check if variant Seq_table is selected.
310  ///
311  /// Seq_table type is defined as 'typedef CSeq_table TSeq_table'.
312  /// @return
313  /// - true, if the variant is selected.
314  /// - false, otherwise.
315  bool IsSeq_table(void) const;
316 
317  /// Get the variant data.
318  ///
319  /// @return
320  /// Reference to the data.
321  const TSeq_table& GetSeq_table(void) const;
322 
323  /// Select the variant.
324  ///
325  /// @return
326  /// Reference to the variant data.
327  TSeq_table& SetSeq_table(void);
328  /// Select the variant and set its data.
329  ///
330  /// @param value
331  /// Reference to the data.
332  void SetSeq_table(TSeq_table& value);
333 
334 
335  private:
336  // copy constructor and assignment operator
337  C_Data(const C_Data& );
339  // choice state
341  // helper methods
342  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
343 
344  static const char* const sm_SelectionNames[];
345  // data
346  union {
347  NCBI_NS_NCBI::CUnionBuffer<TFtable> m_Ftable;
348  NCBI_NS_NCBI::CUnionBuffer<TAlign> m_Align;
349  NCBI_NS_NCBI::CUnionBuffer<TGraph> m_Graph;
350  NCBI_NS_NCBI::CUnionBuffer<TIds> m_Ids;
351  NCBI_NS_NCBI::CUnionBuffer<TLocs> m_Locs;
352  NCBI_NS_NCBI::CSerialObject *m_object;
353  };
354  };
355  // types
356  typedef list< CRef< CAnnot_id > > TId;
357  typedef int TDb;
358  typedef string TName;
360  typedef C_Data TData;
361 
362  // member index
363  enum class E_memberIndex {
364  e__allMandatory = 0,
365  e_id,
366  e_db,
367  e_name,
368  e_desc,
369  e_data
370  };
372 
373  // getters
374  // setters
375 
376  /// Check if a value has been assigned to Id data member.
377  ///
378  /// Data member Id is optional;
379  /// its type is defined as 'typedef list< CRef< CAnnot_id > > TId'
380  /// @return
381  /// - true, if a value has been assigned.
382  /// - false, otherwise.
383  bool IsSetId(void) const;
384 
385  /// Check if it is safe to call GetId method.
386  ///
387  /// @return
388  /// - true, if the data member is getatable.
389  /// - false, otherwise.
390  bool CanGetId(void) const;
391 
392  /// Reset Id data member.
393  void ResetId(void);
394 
395  /// Get the Id member data.
396  ///
397  /// @return
398  /// Reference to the member data.
399  const TId& GetId(void) const;
400 
401  /// Assign a value to Id data member.
402  ///
403  /// @return
404  /// Reference to the data value.
405  TId& SetId(void);
406 
407  /// Check if a value has been assigned to Db data member.
408  ///
409  /// Data member Db is optional;
410  /// its type is defined as 'typedef int TDb'
411  /// @return
412  /// - true, if a value has been assigned.
413  /// - false, otherwise.
414  bool IsSetDb(void) const;
415 
416  /// Check if it is safe to call GetDb method.
417  ///
418  /// @return
419  /// - true, if the data member is getatable.
420  /// - false, otherwise.
421  bool CanGetDb(void) const;
422 
423  /// Reset Db data member.
424  void ResetDb(void);
425 
426  /// Get the Db member data.
427  ///
428  /// @return
429  /// Copy of the member data.
430  TDb GetDb(void) const;
431 
432  /// Assign a value to Db data member.
433  ///
434  /// @param value
435  /// Value to assign
436  void SetDb(TDb value);
437 
438  /// Assign a value to Db data member.
439  ///
440  /// @return
441  /// Reference to the data value.
442  TDb& SetDb(void);
443 
444  /// source if "other" above
445  /// Check if a value has been assigned to Name data member.
446  ///
447  /// Data member Name is optional;
448  /// its type is defined as 'typedef string TName'
449  /// @return
450  /// - true, if a value has been assigned.
451  /// - false, otherwise.
452  bool IsSetName(void) const;
453 
454  /// Check if it is safe to call GetName method.
455  ///
456  /// @return
457  /// - true, if the data member is getatable.
458  /// - false, otherwise.
459  bool CanGetName(void) const;
460 
461  /// Reset Name data member.
462  void ResetName(void);
463 
464  /// Get the Name member data.
465  ///
466  /// @return
467  /// Reference to the member data.
468  const TName& GetName(void) const;
469 
470  /// Assign a value to Name data member.
471  ///
472  /// @param value
473  /// Value to assign
474  void SetName(const TName& value);
475  void SetName(TName&& value);
476 
477  /// Assign a value to Name data member.
478  ///
479  /// @return
480  /// Reference to the data value.
481  TName& SetName(void);
482 
483  /// used only for stand alone Seq-annots
484  /// Check if a value has been assigned to Desc data member.
485  ///
486  /// Data member Desc is optional;
487  /// its type is defined as 'typedef CAnnot_descr TDesc'
488  /// @return
489  /// - true, if a value has been assigned.
490  /// - false, otherwise.
491  bool IsSetDesc(void) const;
492 
493  /// Check if it is safe to call GetDesc method.
494  ///
495  /// @return
496  /// - true, if the data member is getatable.
497  /// - false, otherwise.
498  bool CanGetDesc(void) const;
499 
500  /// Reset Desc data member.
501  void ResetDesc(void);
502 
503  /// Get the Desc member data.
504  ///
505  /// @return
506  /// Reference to the member data.
507  const TDesc& GetDesc(void) const;
508 
509  /// Assign a value to Desc data member.
510  ///
511  /// @param value
512  /// Reference to value.
513  void SetDesc(TDesc& value);
514 
515  /// Assign a value to Desc data member.
516  ///
517  /// @return
518  /// Reference to the data value.
519  TDesc& SetDesc(void);
520 
521  /// Check if a value has been assigned to Data data member.
522  ///
523  /// Data member Data is mandatory;
524  /// its type is defined as 'typedef C_Data TData'
525  /// @return
526  /// - true, if a value has been assigned.
527  /// - false, otherwise.
528  bool IsSetData(void) const;
529 
530  /// Check if it is safe to call GetData method.
531  ///
532  /// @return
533  /// - true, if the data member is getatable.
534  /// - false, otherwise.
535  bool CanGetData(void) const;
536 
537  /// Reset Data data member.
538  void ResetData(void);
539 
540  /// Get the Data member data.
541  ///
542  /// @return
543  /// Reference to the member data.
544  const TData& GetData(void) const;
545 
546  /// Assign a value to Data data member.
547  ///
548  /// @param value
549  /// Reference to value.
550  void SetData(TData& value);
551 
552  /// Assign a value to Data data member.
553  ///
554  /// @return
555  /// Reference to the data value.
556  TData& SetData(void);
557 
558  /// Reset the whole object
559  virtual void Reset(void);
560 
561 
562 private:
563  // Prohibit copy constructor and assignment operator
566 
567  // data
568  Uint4 m_set_State[1];
569  list< CRef< CAnnot_id > > m_Id;
570  int m_Db;
571  string m_Name;
574 };
575 
576 /* @} */
577 
578 
579 
580 
581 
582 ///////////////////////////////////////////////////////////
583 ///////////////////// inline methods //////////////////////
584 ///////////////////////////////////////////////////////////
585 inline
587 {
588  return m_choice;
589 }
590 
591 inline
593 {
594  if ( m_choice != index )
595  ThrowInvalidSelection(index);
596 }
597 
598 inline
599 void CSeq_annot_Base::C_Data::Select(E_Choice index, NCBI_NS_NCBI::EResetVariant reset, NCBI_NS_NCBI::CObjectMemoryPool* pool)
600 {
601  if ( reset == NCBI_NS_NCBI::eDoResetVariant || m_choice != index ) {
602  if ( m_choice != e_not_set )
603  ResetSelection();
604  DoSelect(index, pool);
605  }
606 }
607 
608 inline
610 {
611  Select(index, reset, 0);
612 }
613 
614 inline
616 {
617  return m_choice == e_Ftable;
618 }
619 
620 inline
622 {
623  CheckSelected(e_Ftable);
624  return *m_Ftable;
625 }
626 
627 inline
629 {
630  Select(e_Ftable, NCBI_NS_NCBI::eDoNotResetVariant);
631  return *m_Ftable;
632 }
633 
634 inline
636 {
637  return m_choice == e_Align;
638 }
639 
640 inline
642 {
643  CheckSelected(e_Align);
644  return *m_Align;
645 }
646 
647 inline
649 {
650  Select(e_Align, NCBI_NS_NCBI::eDoNotResetVariant);
651  return *m_Align;
652 }
653 
654 inline
656 {
657  return m_choice == e_Graph;
658 }
659 
660 inline
662 {
663  CheckSelected(e_Graph);
664  return *m_Graph;
665 }
666 
667 inline
669 {
670  Select(e_Graph, NCBI_NS_NCBI::eDoNotResetVariant);
671  return *m_Graph;
672 }
673 
674 inline
676 {
677  return m_choice == e_Ids;
678 }
679 
680 inline
682 {
683  CheckSelected(e_Ids);
684  return *m_Ids;
685 }
686 
687 inline
689 {
690  Select(e_Ids, NCBI_NS_NCBI::eDoNotResetVariant);
691  return *m_Ids;
692 }
693 
694 inline
696 {
697  return m_choice == e_Locs;
698 }
699 
700 inline
702 {
703  CheckSelected(e_Locs);
704  return *m_Locs;
705 }
706 
707 inline
709 {
710  Select(e_Locs, NCBI_NS_NCBI::eDoNotResetVariant);
711  return *m_Locs;
712 }
713 
714 inline
716 {
717  return m_choice == e_Seq_table;
718 }
719 
720 inline
721 bool CSeq_annot_Base::IsSetId(void) const
722 {
723  return ((m_set_State[0] & 0x3) != 0);
724 }
725 
726 inline
728 {
729  return true;
730 }
731 
732 inline
734 {
735  return m_Id;
736 }
737 
738 inline
740 {
741  m_set_State[0] |= 0x1;
742  return m_Id;
743 }
744 
745 inline
746 bool CSeq_annot_Base::IsSetDb(void) const
747 {
748  return ((m_set_State[0] & 0xc) != 0);
749 }
750 
751 inline
753 {
754  return IsSetDb();
755 }
756 
757 inline
759 {
760  m_Db = (EDb)(0);
761  m_set_State[0] &= ~0xc;
762 }
763 
764 inline
766 {
767  if (!CanGetDb()) {
768  ThrowUnassigned(1);
769  }
770  return m_Db;
771 }
772 
773 inline
775 {
776  m_Db = value;
777  m_set_State[0] |= 0xc;
778 }
779 
780 inline
782 {
783 #ifdef _DEBUG
784  if (!IsSetDb()) {
785  memset(&m_Db,UnassignedByte(),sizeof(m_Db));
786  }
787 #endif
788  m_set_State[0] |= 0x4;
789  return m_Db;
790 }
791 
792 inline
794 {
795  return ((m_set_State[0] & 0x30) != 0);
796 }
797 
798 inline
800 {
801  return IsSetName();
802 }
803 
804 inline
806 {
807  if (!CanGetName()) {
808  ThrowUnassigned(2);
809  }
810  return m_Name;
811 }
812 
813 inline
815 {
816  m_Name = value;
817  m_set_State[0] |= 0x30;
818 }
819 
820 inline
822 {
823  m_Name = std::forward<CSeq_annot_Base::TName>(value);
824  m_set_State[0] |= 0x30;
825 }
826 
827 inline
829 {
830 #ifdef _DEBUG
831  if (!IsSetName()) {
833  }
834 #endif
835  m_set_State[0] |= 0x10;
836  return m_Name;
837 }
838 
839 inline
841 {
842  return m_Desc.NotEmpty();
843 }
844 
845 inline
847 {
848  return IsSetDesc();
849 }
850 
851 inline
853 {
854  if (!CanGetDesc()) {
855  ThrowUnassigned(3);
856  }
857  return (*m_Desc);
858 }
859 
860 inline
862 {
863  return m_Data.NotEmpty();
864 }
865 
866 inline
868 {
869  return true;
870 }
871 
872 inline
874 {
875  if ( !m_Data ) {
876  const_cast<CSeq_annot_Base*>(this)->ResetData();
877  }
878  return (*m_Data);
879 }
880 
881 inline
883 {
884  if ( !m_Data ) {
885  ResetData();
886  }
887  return (*m_Data);
888 }
889 
890 ///////////////////////////////////////////////////////////
891 ////////////////// end of inline methods //////////////////
892 ///////////////////////////////////////////////////////////
893 
894 
895 
896 
897 
898 END_objects_SCOPE // namespace ncbi::objects::
899 
901 
902 
903 #endif // OBJECTS_SEQ_SEQ_ANNOT_BASE_HPP
CAnnot_descr –.
Definition: Annot_descr.hpp:66
CAnnot_id –.
Definition: Annot_id.hpp:66
CRef –.
Definition: ncbiobj.hpp:618
features in table form
Definition: Seq_annot_.hpp:86
namespace ncbi::objects::
Definition: Seq_feat.hpp:58
Base class for all serializable objects.
Definition: serialbase.hpp:150
static char UnassignedByte(void)
Definition: serialbase.hpp:181
void ThrowUnassigned(TMemberIndex index) const
EResetVariant
Definition: serialbase.hpp:76
#define ENUM_METHOD_NAME(EnumName)
Definition: serialbase.hpp:994
static string UnassignedString(void)
Definition: serialbase.hpp:175
@ 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,...
bool NotEmpty(void) const THROWS_NONE
Check if CRef is not empty – pointing to an object and has a non-null value.
Definition: ncbiobj.hpp:726
uint32_t Uint4
4-byte (32-bit) unsigned integer
Definition: ncbitype.h:103
#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:825
TAlign & SetAlign(void)
Select the variant.
Definition: Seq_annot_.hpp:648
list< CRef< CAnnot_id > > m_Id
Definition: Seq_annot_.hpp:569
TName & SetName(void)
Assign a value to Name data member.
Definition: Seq_annot_.hpp:828
bool IsAlign(void) const
Check if variant Align is selected.
Definition: Seq_annot_.hpp:635
void Select(E_Choice index, EResetVariant reset=eDoResetVariant)
Select the requested variant if needed.
E_ChoiceStopper
Maximum+1 value of the choice variant enumerator.
Definition: Seq_annot_.hpp:141
bool CanGetId(void) const
Check if it is safe to call GetId method.
Definition: Seq_annot_.hpp:727
list< CRef< CSeq_id > > TIds
Definition: Seq_annot_.hpp:196
const TGraph & GetGraph(void) const
Get the variant data.
Definition: Seq_annot_.hpp:661
const TLocs & GetLocs(void) const
Get the variant data.
Definition: Seq_annot_.hpp:701
EDb
source of annotation
Definition: Seq_annot_.hpp:98
list< CRef< CSeq_graph > > TGraph
Definition: Seq_annot_.hpp:195
void ResetDb(void)
Reset Db data member.
Definition: Seq_annot_.hpp:758
TFtable & SetFtable(void)
Select the variant.
Definition: Seq_annot_.hpp:628
const TName & GetName(void) const
Get the Name member data.
Definition: Seq_annot_.hpp:805
list< CRef< CAnnot_id > > TId
Definition: Seq_annot_.hpp:356
bool IsSetName(void) const
source if "other" above Check if a value has been assigned to Name data member.
Definition: Seq_annot_.hpp:793
Tparent::CMemberIndex< E_memberIndex, 6 > TmemberIndex
Definition: Seq_annot_.hpp:371
bool IsSetData(void) const
Check if a value has been assigned to Data data member.
Definition: Seq_annot_.hpp:861
list< CRef< CSeq_align > > TAlign
Definition: Seq_annot_.hpp:194
void ResetData(void)
Reset Data data member.
Definition: Seq_annot_.cpp:235
const TIds & GetIds(void) const
Get the variant data.
Definition: Seq_annot_.hpp:681
CSerialObject Tparent
Definition: Seq_annot_.hpp:87
TDb & SetDb(void)
Assign a value to Db data member.
Definition: Seq_annot_.hpp:781
CRef< TDesc > m_Desc
Definition: Seq_annot_.hpp:572
E_Choice
Choice variants.
Definition: Seq_annot_.hpp:131
bool IsSetDb(void) const
Check if a value has been assigned to Db data member.
Definition: Seq_annot_.hpp:746
const TDesc & GetDesc(void) const
Get the Desc member data.
Definition: Seq_annot_.hpp:852
bool CanGetDesc(void) const
Check if it is safe to call GetDesc method.
Definition: Seq_annot_.hpp:846
bool IsSetDesc(void) const
used only for stand alone Seq-annots Check if a value has been assigned to Desc data member.
Definition: Seq_annot_.hpp:840
NCBI_NS_NCBI::CUnionBuffer< TAlign > m_Align
Definition: Seq_annot_.hpp:348
Uint4 m_set_State[1]
Definition: Seq_annot_.hpp:568
CAnnot_descr TDesc
Definition: Seq_annot_.hpp:359
const TAlign & GetAlign(void) const
Get the variant data.
Definition: Seq_annot_.hpp:641
bool IsSetId(void) const
Check if a value has been assigned to Id data member.
Definition: Seq_annot_.hpp:721
TDb GetDb(void) const
Get the Db member data.
Definition: Seq_annot_.hpp:765
bool IsGraph(void) const
Check if variant Graph is selected.
Definition: Seq_annot_.hpp:655
TGraph & SetGraph(void)
Select the variant.
Definition: Seq_annot_.hpp:668
const TId & GetId(void) const
Get the Id member data.
Definition: Seq_annot_.hpp:733
list< CRef< CSeq_loc > > TLocs
Definition: Seq_annot_.hpp:197
const TFtable & GetFtable(void) const
Get the variant data.
Definition: Seq_annot_.hpp:621
NCBI_NS_NCBI::CUnionBuffer< TGraph > m_Graph
Definition: Seq_annot_.hpp:349
list< CRef< CSeq_feat > > TFtable
Definition: Seq_annot_.hpp:193
bool IsFtable(void) const
Check if variant Ftable is selected.
Definition: Seq_annot_.hpp:615
const TData & GetData(void) const
Get the Data member data.
Definition: Seq_annot_.hpp:873
TLocs & SetLocs(void)
Select the variant.
Definition: Seq_annot_.hpp:708
NCBI_NS_NCBI::CUnionBuffer< TIds > m_Ids
Definition: Seq_annot_.hpp:350
TData & SetData(void)
Assign a value to Data data member.
Definition: Seq_annot_.hpp:882
NCBI_NS_NCBI::CUnionBuffer< TLocs > m_Locs
Definition: Seq_annot_.hpp:351
void Select(E_Choice index, EResetVariant reset, CObjectMemoryPool *pool)
Select the requested variant if needed, allocating CObject variants from memory pool.
bool CanGetDb(void) const
Check if it is safe to call GetDb method.
Definition: Seq_annot_.hpp:752
TId & SetId(void)
Assign a value to Id data member.
Definition: Seq_annot_.hpp:739
C_Data & operator=(const C_Data &)
CRef< TData > m_Data
Definition: Seq_annot_.hpp:573
bool IsSeq_table(void) const
Check if variant Seq_table is selected.
Definition: Seq_annot_.hpp:715
TIds & SetIds(void)
Select the variant.
Definition: Seq_annot_.hpp:688
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
Definition: Seq_annot_.hpp:592
bool IsIds(void) const
Check if variant Ids is selected.
Definition: Seq_annot_.hpp:675
bool CanGetName(void) const
Check if it is safe to call GetName method.
Definition: Seq_annot_.hpp:799
bool CanGetData(void) const
Check if it is safe to call GetData method.
Definition: Seq_annot_.hpp:867
C_Data(const C_Data &)
E_Choice Which(void) const
Which variant is currently selected.
Definition: Seq_annot_.hpp:586
NCBI_NS_NCBI::CUnionBuffer< TFtable > m_Ftable
Definition: Seq_annot_.hpp:347
CSeq_annot_Base(const CSeq_annot_Base &)
NCBI_NS_NCBI::CSerialObject * m_object
Definition: Seq_annot_.hpp:352
bool IsLocs(void) const
Check if variant Locs is selected.
Definition: Seq_annot_.hpp:695
CSeq_annot_Base & operator=(const CSeq_annot_Base &)
@ e_Ids
used for communication between tools
Definition: Seq_annot_.hpp:136
@ e_Locs
used for communication between tools
Definition: Seq_annot_.hpp:137
@ e_not_set
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1227
static bool GetIds(const T &d, set< string > &labels, const string name="", bool detect=false, bool found=false)
Modified on Mon May 13 04:35:33 2024 by modify_doxy.py rev. 669887