NCBI C++ ToolKit
SeqFeatData_.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 SeqFeatData_.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/seqfeat/seqfeat.asn">seqfeat.asn</a>
34 /// and additional tune-up parameters:
35 /// <a href="/IEB/ToolBox/CPP_DOC/lxr/source/src/objects/seqfeat/seqfeat.def">seqfeat.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_SEQFEAT_SEQFEATDATA_BASE_HPP
42 #define OBJECTS_SEQFEAT_SEQFEATDATA_BASE_HPP
43 
44 // standard includes
45 #include <serial/serialbase.hpp>
46 
47 // generated includes
48 #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 CBioSource;
62 class CCdregion;
63 class CClone_ref;
64 class CGene_ref;
65 class CImp_feat;
66 class CNumbering;
67 class COrg_ref;
68 class CProt_ref;
69 class CPubdesc;
70 class CRNA_ref;
71 class CRsite_ref;
72 class CSeq_loc;
73 class CTxinit;
74 class CUser_object;
75 class CVariation_ref;
76 
77 
78 // generated classes
79 
80 
81 /** @addtogroup dataspec_NCBI_Seqfeat
82  *
83  * @{
84  */
85 
86 /////////////////////////////////////////////////////////////////////////////
87 ///
88 /// CSeqFeatData_Base --
89 ///
90 
92 {
94 public:
95  // constructor
96  CSeqFeatData_Base(void);
97  // destructor
98  virtual ~CSeqFeatData_Base(void);
99 
100  // type info
102 
103  enum EBond {
104  eBond_disulfide = 1,
105  eBond_thiolester = 2,
106  eBond_xlink = 3,
107  eBond_thioether = 4,
108  eBond_other = 255
109  };
110 
111  /// Access to EBond's attributes (values, names) as defined in spec
112  static const NCBI_NS_NCBI::CEnumeratedTypeValues* ENUM_METHOD_NAME(EBond)(void);
113 
114  enum ESite {
115  eSite_active = 1,
116  eSite_binding = 2,
117  eSite_cleavage = 3,
118  eSite_inhibit = 4,
119  eSite_modified = 5,
120  eSite_glycosylation = 6,
121  eSite_myristoylation = 7,
122  eSite_mutagenized = 8,
123  eSite_metal_binding = 9,
124  eSite_phosphorylation = 10,
125  eSite_acetylation = 11,
126  eSite_amidation = 12,
127  eSite_methylation = 13,
128  eSite_hydroxylation = 14,
129  eSite_sulfatation = 15,
130  eSite_oxidative_deamination = 16,
131  eSite_pyrrolidone_carboxylic_acid = 17,
132  eSite_gamma_carboxyglutamic_acid = 18,
133  eSite_blocked = 19,
134  eSite_lipid_binding = 20,
135  eSite_np_binding = 21,
136  eSite_dna_binding = 22,
137  eSite_signal_peptide = 23,
138  eSite_transit_peptide = 24,
139  eSite_transmembrane_region = 25,
140  eSite_nitrosylation = 26,
141  eSite_other = 255
142  };
143 
144  /// Access to ESite's attributes (values, names) as defined in spec
145  static const NCBI_NS_NCBI::CEnumeratedTypeValues* ENUM_METHOD_NAME(ESite)(void);
146 
147  /// protein secondary structure
148  enum EPsec_str {
149  ePsec_str_helix = 1, ///< any helix
150  ePsec_str_sheet = 2, ///< beta sheet
151  ePsec_str_turn = 3 ///< beta or gamma turn
152  };
153 
154  /// Access to EPsec_str's attributes (values, names) as defined in spec
155  static const NCBI_NS_NCBI::CEnumeratedTypeValues* ENUM_METHOD_NAME(EPsec_str)(void);
156 
157 
158  /// Choice variants.
159  enum E_Choice {
160  e_not_set = 0, ///< No variant selected
166  e_Pub, ///< publication applies to this seq
167  e_Seq, ///< to annotate origin from another seq
169  e_Region, ///< named region (globin locus)
170  e_Comment, ///< just a comment
173  e_Rsite, ///< restriction site (for maps really)
174  e_User, ///< user defined structure
175  e_Txinit, ///< transcription initiation
176  e_Num, ///< a numbering system
178  e_Non_std_residue, ///< non-standard residue here in seq
179  e_Het, ///< cofactor, prosthetic grp, etc, bound to seq
182  e_Variation
183  };
184  /// Maximum+1 value of the choice variant enumerator.
186  e_MaxChoice = 23 ///< == e_Variation+1
187  };
188 
189  /// Reset the whole object
190  virtual void Reset(void);
191 
192  /// Reset the selection (set it to e_not_set).
193  virtual void ResetSelection(void);
194 
195  /// Which variant is currently selected.
196  ///
197  /// @return
198  /// Choice state enumerator.
199  E_Choice Which(void) const;
200 
201  /// Verify selection, throw exception if it differs from the expected.
202  ///
203  /// @param index
204  /// Expected selection.
205  void CheckSelected(E_Choice index) const;
206 
207  /// Throw 'InvalidSelection' exception.
208  ///
209  /// @param index
210  /// Expected selection.
211  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
212 
213  /// Retrieve selection name (for diagnostic purposes).
214  ///
215  /// @param index
216  /// One of possible selection states.
217  /// @return
218  /// Name string.
219  static string SelectionName(E_Choice index);
220 
221  /// Select the requested variant if needed.
222  ///
223  /// @param index
224  /// New selection state.
225  /// @param reset
226  /// Flag that defines the resetting of the variant data. The data will
227  /// be reset if either the current selection differs from the new one,
228  /// or the flag is set to eDoResetVariant.
230  /// Select the requested variant if needed,
231  /// allocating CObject variants from memory pool.
232  void Select(E_Choice index,
233  EResetVariant reset,
234  CObjectMemoryPool* pool);
235 
236  // types
237  typedef CGene_ref TGene;
238  typedef COrg_ref TOrg;
240  typedef CProt_ref TProt;
241  typedef CRNA_ref TRna;
242  typedef CPubdesc TPub;
243  typedef CSeq_loc TSeq;
244  typedef CImp_feat TImp;
245  typedef string TRegion;
246  typedef EBond TBond;
247  typedef ESite TSite;
250  typedef CTxinit TTxinit;
251  typedef CNumbering TNum;
253  typedef string TNon_std_residue;
254  typedef CHeterogen THet;
258 
259  // getters
260  // setters
261 
262 
263  /// Check if variant Gene is selected.
264  ///
265  /// Gene type is defined as 'typedef CGene_ref TGene'.
266  /// @return
267  /// - true, if the variant is selected.
268  /// - false, otherwise.
269  bool IsGene(void) const;
270 
271  /// Get the variant data.
272  ///
273  /// @return
274  /// Reference to the data.
275  const TGene& GetGene(void) const;
276 
277  /// Select the variant.
278  ///
279  /// @return
280  /// Reference to the variant data.
281  TGene& SetGene(void);
282  /// Select the variant and set its data.
283  ///
284  /// @param value
285  /// Reference to the data.
286  void SetGene(TGene& value);
287 
288 
289  /// Check if variant Org is selected.
290  ///
291  /// Org type is defined as 'typedef COrg_ref TOrg'.
292  /// @return
293  /// - true, if the variant is selected.
294  /// - false, otherwise.
295  bool IsOrg(void) const;
296 
297  /// Get the variant data.
298  ///
299  /// @return
300  /// Reference to the data.
301  const TOrg& GetOrg(void) const;
302 
303  /// Select the variant.
304  ///
305  /// @return
306  /// Reference to the variant data.
307  TOrg& SetOrg(void);
308  /// Select the variant and set its data.
309  ///
310  /// @param value
311  /// Reference to the data.
312  void SetOrg(TOrg& value);
313 
314 
315  /// Check if variant Cdregion is selected.
316  ///
317  /// Cdregion type is defined as 'typedef CCdregion TCdregion'.
318  /// @return
319  /// - true, if the variant is selected.
320  /// - false, otherwise.
321  bool IsCdregion(void) const;
322 
323  /// Get the variant data.
324  ///
325  /// @return
326  /// Reference to the data.
327  const TCdregion& GetCdregion(void) const;
328 
329  /// Select the variant.
330  ///
331  /// @return
332  /// Reference to the variant data.
333  TCdregion& SetCdregion(void);
334  /// Select the variant and set its data.
335  ///
336  /// @param value
337  /// Reference to the data.
338  void SetCdregion(TCdregion& value);
339 
340 
341  /// Check if variant Prot is selected.
342  ///
343  /// Prot type is defined as 'typedef CProt_ref TProt'.
344  /// @return
345  /// - true, if the variant is selected.
346  /// - false, otherwise.
347  bool IsProt(void) const;
348 
349  /// Get the variant data.
350  ///
351  /// @return
352  /// Reference to the data.
353  const TProt& GetProt(void) const;
354 
355  /// Select the variant.
356  ///
357  /// @return
358  /// Reference to the variant data.
359  TProt& SetProt(void);
360  /// Select the variant and set its data.
361  ///
362  /// @param value
363  /// Reference to the data.
364  void SetProt(TProt& value);
365 
366 
367  /// Check if variant Rna is selected.
368  ///
369  /// Rna type is defined as 'typedef CRNA_ref TRna'.
370  /// @return
371  /// - true, if the variant is selected.
372  /// - false, otherwise.
373  bool IsRna(void) const;
374 
375  /// Get the variant data.
376  ///
377  /// @return
378  /// Reference to the data.
379  const TRna& GetRna(void) const;
380 
381  /// Select the variant.
382  ///
383  /// @return
384  /// Reference to the variant data.
385  TRna& SetRna(void);
386  /// Select the variant and set its data.
387  ///
388  /// @param value
389  /// Reference to the data.
390  void SetRna(TRna& value);
391 
392 
393  /// Check if variant Pub is selected.
394  ///
395  /// Pub type is defined as 'typedef CPubdesc TPub'.
396  /// @return
397  /// - true, if the variant is selected.
398  /// - false, otherwise.
399  bool IsPub(void) const;
400 
401  /// Get the variant data.
402  ///
403  /// @return
404  /// Reference to the data.
405  const TPub& GetPub(void) const;
406 
407  /// Select the variant.
408  ///
409  /// @return
410  /// Reference to the variant data.
411  TPub& SetPub(void);
412  /// Select the variant and set its data.
413  ///
414  /// @param value
415  /// Reference to the data.
416  void SetPub(TPub& value);
417 
418 
419  /// Check if variant Seq is selected.
420  ///
421  /// Seq type is defined as 'typedef CSeq_loc TSeq'.
422  /// @return
423  /// - true, if the variant is selected.
424  /// - false, otherwise.
425  bool IsSeq(void) const;
426 
427  /// Get the variant data.
428  ///
429  /// @return
430  /// Reference to the data.
431  const TSeq& GetSeq(void) const;
432 
433  /// Select the variant.
434  ///
435  /// @return
436  /// Reference to the variant data.
437  TSeq& SetSeq(void);
438  /// Select the variant and set its data.
439  ///
440  /// @param value
441  /// Reference to the data.
442  void SetSeq(TSeq& value);
443 
444 
445  /// Check if variant Imp is selected.
446  ///
447  /// Imp type is defined as 'typedef CImp_feat TImp'.
448  /// @return
449  /// - true, if the variant is selected.
450  /// - false, otherwise.
451  bool IsImp(void) const;
452 
453  /// Get the variant data.
454  ///
455  /// @return
456  /// Reference to the data.
457  const TImp& GetImp(void) const;
458 
459  /// Select the variant.
460  ///
461  /// @return
462  /// Reference to the variant data.
463  TImp& SetImp(void);
464  /// Select the variant and set its data.
465  ///
466  /// @param value
467  /// Reference to the data.
468  void SetImp(TImp& value);
469 
470 
471  /// Check if variant Region is selected.
472  ///
473  /// Region type is defined as 'typedef string TRegion'.
474  /// @return
475  /// - true, if the variant is selected.
476  /// - false, otherwise.
477  bool IsRegion(void) const;
478 
479  /// Get the variant data.
480  ///
481  /// @return
482  /// Reference to the data.
483  const TRegion& GetRegion(void) const;
484 
485  /// Select the variant.
486  ///
487  /// @return
488  /// Reference to the variant data.
489  TRegion& SetRegion(void);
490 
491  /// Select the variant and set its data.
492  ///
493  /// @param value
494  /// Variant data.
495  void SetRegion(const TRegion& value);
496 
497 
498  /// Check if variant Comment is selected.
499  ///
500  /// @return
501  /// - true, if the variant is selected.
502  /// - false, otherwise.
503  bool IsComment(void) const;
504 
505  /// Select the variant.
506  void SetComment(void);
507 
508 
509  /// Check if variant Bond is selected.
510  ///
511  /// Bond type is defined as 'typedef EBond TBond'.
512  /// @return
513  /// - true, if the variant is selected.
514  /// - false, otherwise.
515  bool IsBond(void) const;
516 
517  /// Get the variant data.
518  ///
519  /// @return
520  /// Copy of the variant data.
521  TBond GetBond(void) const;
522 
523  /// Select the variant.
524  ///
525  /// @return
526  /// Reference to the variant data.
527  TBond& SetBond(void);
528 
529  /// Select the variant and set its data.
530  ///
531  /// @param value
532  /// Variant data.
533  void SetBond(TBond value);
534 
535 
536  /// Check if variant Site is selected.
537  ///
538  /// Site type is defined as 'typedef ESite TSite'.
539  /// @return
540  /// - true, if the variant is selected.
541  /// - false, otherwise.
542  bool IsSite(void) const;
543 
544  /// Get the variant data.
545  ///
546  /// @return
547  /// Copy of the variant data.
548  TSite GetSite(void) const;
549 
550  /// Select the variant.
551  ///
552  /// @return
553  /// Reference to the variant data.
554  TSite& SetSite(void);
555 
556  /// Select the variant and set its data.
557  ///
558  /// @param value
559  /// Variant data.
560  void SetSite(TSite value);
561 
562 
563  /// Check if variant Rsite is selected.
564  ///
565  /// Rsite type is defined as 'typedef CRsite_ref TRsite'.
566  /// @return
567  /// - true, if the variant is selected.
568  /// - false, otherwise.
569  bool IsRsite(void) const;
570 
571  /// Get the variant data.
572  ///
573  /// @return
574  /// Reference to the data.
575  const TRsite& GetRsite(void) const;
576 
577  /// Select the variant.
578  ///
579  /// @return
580  /// Reference to the variant data.
581  TRsite& SetRsite(void);
582  /// Select the variant and set its data.
583  ///
584  /// @param value
585  /// Reference to the data.
586  void SetRsite(TRsite& value);
587 
588 
589  /// Check if variant User is selected.
590  ///
591  /// User type is defined as 'typedef CUser_object TUser'.
592  /// @return
593  /// - true, if the variant is selected.
594  /// - false, otherwise.
595  bool IsUser(void) const;
596 
597  /// Get the variant data.
598  ///
599  /// @return
600  /// Reference to the data.
601  const TUser& GetUser(void) const;
602 
603  /// Select the variant.
604  ///
605  /// @return
606  /// Reference to the variant data.
607  TUser& SetUser(void);
608  /// Select the variant and set its data.
609  ///
610  /// @param value
611  /// Reference to the data.
612  void SetUser(TUser& value);
613 
614 
615  /// Check if variant Txinit is selected.
616  ///
617  /// Txinit type is defined as 'typedef CTxinit TTxinit'.
618  /// @return
619  /// - true, if the variant is selected.
620  /// - false, otherwise.
621  bool IsTxinit(void) const;
622 
623  /// Get the variant data.
624  ///
625  /// @return
626  /// Reference to the data.
627  const TTxinit& GetTxinit(void) const;
628 
629  /// Select the variant.
630  ///
631  /// @return
632  /// Reference to the variant data.
633  TTxinit& SetTxinit(void);
634  /// Select the variant and set its data.
635  ///
636  /// @param value
637  /// Reference to the data.
638  void SetTxinit(TTxinit& value);
639 
640 
641  /// Check if variant Num is selected.
642  ///
643  /// Num type is defined as 'typedef CNumbering TNum'.
644  /// @return
645  /// - true, if the variant is selected.
646  /// - false, otherwise.
647  bool IsNum(void) const;
648 
649  /// Get the variant data.
650  ///
651  /// @return
652  /// Reference to the data.
653  const TNum& GetNum(void) const;
654 
655  /// Select the variant.
656  ///
657  /// @return
658  /// Reference to the variant data.
659  TNum& SetNum(void);
660  /// Select the variant and set its data.
661  ///
662  /// @param value
663  /// Reference to the data.
664  void SetNum(TNum& value);
665 
666 
667  /// Check if variant Psec_str is selected.
668  ///
669  /// Psec_str type is defined as 'typedef EPsec_str TPsec_str'.
670  /// @return
671  /// - true, if the variant is selected.
672  /// - false, otherwise.
673  bool IsPsec_str(void) const;
674 
675  /// Get the variant data.
676  ///
677  /// @return
678  /// Copy of the variant data.
679  TPsec_str GetPsec_str(void) const;
680 
681  /// Select the variant.
682  ///
683  /// @return
684  /// Reference to the variant data.
685  TPsec_str& SetPsec_str(void);
686 
687  /// Select the variant and set its data.
688  ///
689  /// @param value
690  /// Variant data.
691  void SetPsec_str(TPsec_str value);
692 
693 
694  /// Check if variant Non_std_residue is selected.
695  ///
696  /// Non_std_residue type is defined as 'typedef string TNon_std_residue'.
697  /// @return
698  /// - true, if the variant is selected.
699  /// - false, otherwise.
700  bool IsNon_std_residue(void) const;
701 
702  /// Get the variant data.
703  ///
704  /// @return
705  /// Reference to the data.
706  const TNon_std_residue& GetNon_std_residue(void) const;
707 
708  /// Select the variant.
709  ///
710  /// @return
711  /// Reference to the variant data.
712  TNon_std_residue& SetNon_std_residue(void);
713 
714  /// Select the variant and set its data.
715  ///
716  /// @param value
717  /// Variant data.
718  void SetNon_std_residue(const TNon_std_residue& value);
719 
720 
721  /// Check if variant Het is selected.
722  ///
723  /// Het type is defined as 'typedef CHeterogen THet'.
724  /// @return
725  /// - true, if the variant is selected.
726  /// - false, otherwise.
727  bool IsHet(void) const;
728 
729  /// Get the variant data.
730  ///
731  /// @return
732  /// Reference to the data.
733  const THet& GetHet(void) const;
734 
735  /// Select the variant.
736  ///
737  /// @return
738  /// Reference to the variant data.
739  THet& SetHet(void);
740 
741  /// Select the variant and set its data.
742  ///
743  /// @param value
744  /// Variant data.
745  void SetHet(const THet& value);
746 
747 
748  /// Check if variant Biosrc is selected.
749  ///
750  /// Biosrc type is defined as 'typedef CBioSource TBiosrc'.
751  /// @return
752  /// - true, if the variant is selected.
753  /// - false, otherwise.
754  bool IsBiosrc(void) const;
755 
756  /// Get the variant data.
757  ///
758  /// @return
759  /// Reference to the data.
760  const TBiosrc& GetBiosrc(void) const;
761 
762  /// Select the variant.
763  ///
764  /// @return
765  /// Reference to the variant data.
766  TBiosrc& SetBiosrc(void);
767  /// Select the variant and set its data.
768  ///
769  /// @param value
770  /// Reference to the data.
771  void SetBiosrc(TBiosrc& value);
772 
773 
774  /// Check if variant Clone is selected.
775  ///
776  /// Clone type is defined as 'typedef CClone_ref TClone'.
777  /// @return
778  /// - true, if the variant is selected.
779  /// - false, otherwise.
780  bool IsClone(void) const;
781 
782  /// Get the variant data.
783  ///
784  /// @return
785  /// Reference to the data.
786  const TClone& GetClone(void) const;
787 
788  /// Select the variant.
789  ///
790  /// @return
791  /// Reference to the variant data.
792  TClone& SetClone(void);
793  /// Select the variant and set its data.
794  ///
795  /// @param value
796  /// Reference to the data.
797  void SetClone(TClone& value);
798 
799 
800  /// Check if variant Variation is selected.
801  ///
802  /// Variation type is defined as 'typedef CVariation_ref TVariation'.
803  /// @return
804  /// - true, if the variant is selected.
805  /// - false, otherwise.
806  bool IsVariation(void) const;
807 
808  /// Get the variant data.
809  ///
810  /// @return
811  /// Reference to the data.
812  const TVariation& GetVariation(void) const;
813 
814  /// Select the variant.
815  ///
816  /// @return
817  /// Reference to the variant data.
818  TVariation& SetVariation(void);
819  /// Select the variant and set its data.
820  ///
821  /// @param value
822  /// Reference to the data.
823  void SetVariation(TVariation& value);
824 
825 
826 private:
827  // copy constructor and assignment operator
830  // choice state
832  // helper methods
833  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
834 
835  static const char* const sm_SelectionNames[];
836  // data
837  union {
841  NCBI_NS_NCBI::CUnionBuffer<THet> m_Het;
842  NCBI_NS_NCBI::CUnionBuffer<NCBI_NS_STD::string> m_string;
843  NCBI_NS_NCBI::CSerialObject *m_object;
844  };
845 };
846 
847 /* @} */
848 
849 
850 
851 
852 
853 ///////////////////////////////////////////////////////////
854 ///////////////////// inline methods //////////////////////
855 ///////////////////////////////////////////////////////////
856 inline
858 {
859  return m_choice;
860 }
861 
862 inline
864 {
865  if ( m_choice != index )
866  ThrowInvalidSelection(index);
867 }
868 
869 inline
870 void CSeqFeatData_Base::Select(E_Choice index, NCBI_NS_NCBI::EResetVariant reset, NCBI_NS_NCBI::CObjectMemoryPool* pool)
871 {
872  if ( reset == NCBI_NS_NCBI::eDoResetVariant || m_choice != index ) {
873  if ( m_choice != e_not_set )
874  ResetSelection();
875  DoSelect(index, pool);
876  }
877 }
878 
879 inline
880 void CSeqFeatData_Base::Select(E_Choice index, NCBI_NS_NCBI::EResetVariant reset)
881 {
882  Select(index, reset, 0);
883 }
884 
885 inline
887 {
888  return m_choice == e_Gene;
889 }
890 
891 inline
892 bool CSeqFeatData_Base::IsOrg(void) const
893 {
894  return m_choice == e_Org;
895 }
896 
897 inline
899 {
900  return m_choice == e_Cdregion;
901 }
902 
903 inline
905 {
906  return m_choice == e_Prot;
907 }
908 
909 inline
910 bool CSeqFeatData_Base::IsRna(void) const
911 {
912  return m_choice == e_Rna;
913 }
914 
915 inline
916 bool CSeqFeatData_Base::IsPub(void) const
917 {
918  return m_choice == e_Pub;
919 }
920 
921 inline
922 bool CSeqFeatData_Base::IsSeq(void) const
923 {
924  return m_choice == e_Seq;
925 }
926 
927 inline
928 bool CSeqFeatData_Base::IsImp(void) const
929 {
930  return m_choice == e_Imp;
931 }
932 
933 inline
935 {
936  return m_choice == e_Region;
937 }
938 
939 inline
941 {
943  return *m_string;
944 }
945 
946 inline
948 {
950  return *m_string;
951 }
952 
953 inline
955 {
956  return m_choice == e_Comment;
957 }
958 
959 inline
961 {
963 }
964 
965 inline
967 {
968  return m_choice == e_Bond;
969 }
970 
971 inline
973 {
975  return m_Bond;
976 }
977 
978 inline
980 {
982  return m_Bond;
983 }
984 
985 inline
987 {
989  m_Bond = value;
990 }
991 
992 inline
994 {
995  return m_choice == e_Site;
996 }
997 
998 inline
1000 {
1002  return m_Site;
1003 }
1004 
1005 inline
1007 {
1009  return m_Site;
1010 }
1011 
1012 inline
1014 {
1016  m_Site = value;
1017 }
1018 
1019 inline
1021 {
1022  return m_choice == e_Rsite;
1023 }
1024 
1025 inline
1027 {
1028  return m_choice == e_User;
1029 }
1030 
1031 inline
1033 {
1034  return m_choice == e_Txinit;
1035 }
1036 
1037 inline
1039 {
1040  return m_choice == e_Num;
1041 }
1042 
1043 inline
1045 {
1046  return m_choice == e_Psec_str;
1047 }
1048 
1049 inline
1051 {
1053  return m_Psec_str;
1054 }
1055 
1056 inline
1058 {
1060  return m_Psec_str;
1061 }
1062 
1063 inline
1065 {
1067  m_Psec_str = value;
1068 }
1069 
1070 inline
1072 {
1073  return m_choice == e_Non_std_residue;
1074 }
1075 
1076 inline
1078 {
1080  return *m_string;
1081 }
1082 
1083 inline
1085 {
1087  return *m_string;
1088 }
1089 
1090 inline
1092 {
1093  return m_choice == e_Het;
1094 }
1095 
1096 inline
1098 {
1100  return *m_Het;
1101 }
1102 
1103 inline
1105 {
1107  return *m_Het;
1108 }
1109 
1110 inline
1112 {
1113  return m_choice == e_Biosrc;
1114 }
1115 
1116 inline
1118 {
1119  return m_choice == e_Clone;
1120 }
1121 
1122 inline
1124 {
1125  return m_choice == e_Variation;
1126 }
1127 
1128 ///////////////////////////////////////////////////////////
1129 ////////////////// end of inline methods //////////////////
1130 ///////////////////////////////////////////////////////////
1131 
1132 
1133 
1134 
1135 
1136 END_objects_SCOPE // namespace ncbi::objects::
1137 
1139 
1140 
1141 #endif // OBJECTS_SEQFEAT_SEQFEATDATA_BASE_HPP
User-defined methods of the data storage class.
CCdregion –.
Definition: Cdregion.hpp:66
CClone_ref –.
Definition: Clone_ref.hpp:66
CHeterogen –.
Definition: Heterogen.hpp:66
@Imp_feat.hpp User-defined methods of the data storage class.
Definition: Imp_feat.hpp:54
CNumbering –.
Definition: Numbering.hpp:66
@Pubdesc.hpp User-defined methods of the data storage class.
Definition: Pubdesc.hpp:54
@RNA_ref.hpp User-defined methods of the data storage class.
Definition: RNA_ref.hpp:54
CRsite_ref –.
Definition: Rsite_ref.hpp:66
CSeqFeatData_Base –.
Base class for all serializable objects.
Definition: serialbase.hpp:150
CTxinit –.
Definition: Txinit.hpp:66
char value[7]
Definition: config.c:431
EResetVariant
Definition: serialbase.hpp:76
#define ENUM_METHOD_NAME(EnumName)
Definition: serialbase.hpp:994
@ eDoResetVariant
Definition: serialbase.hpp:77
@ eDoNotResetVariant
Definition: serialbase.hpp:78
#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_SEQFEAT_EXPORT
Definition: ncbi_export.h:767
TPsec_str & SetPsec_str(void)
Select the variant.
EPsec_str
protein secondary structure
E_Choice Which(void) const
Which variant is currently selected.
TPsec_str GetPsec_str(void) const
Get the variant data.
CSerialObject Tparent
bool IsBond(void) const
Check if variant Bond is selected.
void DoSelect(E_Choice index, CObjectMemoryPool *pool=0)
bool IsProt(void) const
Check if variant Prot is selected.
bool IsUser(void) const
Check if variant User is selected.
bool IsRsite(void) const
Check if variant Rsite is selected.
CVariation_ref TVariation
bool IsSeq(void) const
Check if variant Seq is selected.
bool IsCdregion(void) const
Check if variant Cdregion is selected.
bool IsImp(void) const
Check if variant Imp is selected.
const TRegion & GetRegion(void) const
Get the variant data.
void Select(E_Choice index, EResetVariant reset, CObjectMemoryPool *pool)
Select the requested variant if needed, allocating CObject variants from memory pool.
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
NCBI_NS_NCBI::CUnionBuffer< NCBI_NS_STD::string > m_string
CUser_object TUser
E_Choice
Choice variants.
TBond GetBond(void) const
Get the variant data.
bool IsGene(void) const
Check if variant Gene is selected.
CSeqFeatData_Base(const CSeqFeatData_Base &)
TRegion & SetRegion(void)
Select the variant.
bool IsPub(void) const
Check if variant Pub is selected.
TSite & SetSite(void)
Select the variant.
NCBI_NS_NCBI::CUnionBuffer< THet > m_Het
bool IsNum(void) const
Check if variant Num is selected.
bool IsPsec_str(void) const
Check if variant Psec_str is selected.
bool IsHet(void) const
Check if variant Het is selected.
CSeqFeatData_Base & operator=(const CSeqFeatData_Base &)
NCBI_NS_NCBI::CSerialObject * m_object
bool IsClone(void) const
Check if variant Clone is selected.
void SetComment(void)
Select the variant.
bool IsBiosrc(void) const
Check if variant Biosrc is selected.
bool IsVariation(void) const
Check if variant Variation is selected.
TSite GetSite(void) const
Get the variant data.
NCBI_NS_NCBI::CUnionBuffer< THet > m_Het
const TNon_std_residue & GetNon_std_residue(void) const
Get the variant data.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
bool IsSite(void) const
Check if variant Site is selected.
TBond & SetBond(void)
Select the variant.
NCBI_NS_NCBI::CUnionBuffer< NCBI_NS_STD::string > m_string
bool IsComment(void) const
Check if variant Comment is selected.
THet & SetHet(void)
Select the variant.
bool IsNon_std_residue(void) const
Check if variant Non_std_residue is selected.
bool IsOrg(void) const
Check if variant Org is selected.
E_ChoiceStopper
Maximum+1 value of the choice variant enumerator.
bool IsTxinit(void) const
Check if variant Txinit is selected.
bool IsRna(void) const
Check if variant Rna is selected.
const THet & GetHet(void) const
Get the variant data.
TNon_std_residue & SetNon_std_residue(void)
Select the variant.
bool IsRegion(void) const
Check if variant Region is selected.
virtual void ResetSelection(void)
Reset the selection (set it to e_not_set).
void Select(E_Choice index, EResetVariant reset=eDoResetVariant)
Select the requested variant if needed.
@ e_Het
cofactor, prosthetic grp, etc, bound to seq
@ e_not_set
No variant selected.
@ e_Region
named region (globin locus)
@ e_Seq
to annotate origin from another seq
@ e_Txinit
transcription initiation
@ e_Num
a numbering system
@ e_Pub
publication applies to this seq
@ e_User
user defined structure
@ e_Rsite
restriction site (for maps really)
@ e_Comment
just a comment
@ e_Non_std_residue
non-standard residue here in seq
@ e_not_set
Modified on Mon Sep 25 00:49:31 2023 by modify_doxy.py rev. 669887