NCBI C++ ToolKit
Seq_point.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: Seq_point.hpp 33815 2007-05-04 17:18:18Z kazimird $
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  * Author: .......
27  *
28  * File Description:
29  * .......
30  *
31  * Remark:
32  * This code was originally generated by application DATATOOL
33  * using specifications from the ASN data definition file
34  * 'seqloc.asn'.
35  */
36 
37 #ifndef OBJECTS_SEQLOC_SEQ_POINT_HPP
38 #define OBJECTS_SEQLOC_SEQ_POINT_HPP
39 
40 
41 // generated includes
43 
44 // generated classes
45 
47 
48 BEGIN_objects_SCOPE // namespace ncbi::objects::
49 
51 {
53 public:
54  // constructor
55  CSeq_point(void);
56  CSeq_point(TId& id, TPoint point, TStrand strand = eNa_strand_unknown);
57 
58  // destructor
59  ~CSeq_point(void);
60 
61  // check start or stop end of location for e_Lim fuzz
62  bool IsPartialStart(ESeqLocExtremes ext) const;
63  bool IsPartialStop (ESeqLocExtremes ext) const;
64 
65  // set / remove e_Lim fuzz on start or stop end
66  void SetPartialStart(bool val, ESeqLocExtremes ext);
67  void SetPartialStop (bool val, ESeqLocExtremes ext);
68 
69  /// check if parts of the seq-loc are missing
70  bool IsTruncatedStart(ESeqLocExtremes ext) const;
71  bool IsTruncatedStop (ESeqLocExtremes ext) const;
72 
73  /// set / remove e_Lim fuzz on start or stop
74  /// (tl/tr - indicating removed parts of the seq-loc)
75  void SetTruncatedStart(bool val, ESeqLocExtremes ext);
76  void SetTruncatedStop (bool val, ESeqLocExtremes ext);
77 
78  // is location the space left (5') / right (3') of point
79  bool IsLeftOf (void) const;
80  bool IsRightOf(void) const;
81 
82  // set location to be the space left (5') / right (3') of position
83  void SetLeftOf (bool val);
84  void SetRightOf(bool val);
85 
86  // Flip the strand (e.g. plus to minus)
87  void FlipStrand(void);
88 
89 private:
90  // Prohibit copy constructor and assignment operator
93 
94  bool x_IsMinusStrand(void) const;
95 };
96 
97 
98 
99 /////////////////// CSeq_point inline methods
100 
101 // constructor
102 inline
104 {
105 }
106 
107 
108 inline
110 {
111  SetPoint(point);
112  SetId(id);
113  if ( strand != eNa_strand_unknown ) {
114  SetStrand(strand);
115  }
116 }
117 
118 
119 /////////////////// end of CSeq_point inline methods
120 
121 
122 END_objects_SCOPE // namespace ncbi::objects::
123 
125 
126 
127 #endif // OBJECTS_SEQLOC_SEQ_POINT_HPP
128 /* Original file checksum: lines: 90, chars: 2400, CRC32: 5b2ee1f6 */
ESeqLocExtremes
Used to determine the meaning of a location's Start/Stop positions.
Definition: Na_strand.hpp:61
Data storage class.
CSeq_point_Base –.
Definition: Seq_point_.hpp:78
CSeq_point(void)
Definition: Seq_point.hpp:103
CSeq_point_Base Tparent
Definition: Seq_point.hpp:52
CSeq_point & operator=(const CSeq_point &value)
CSeq_point(const CSeq_point &value)
#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_SEQLOC_EXPORT
Definition: ncbi_export.h:776
TStrand & SetStrand(void)
Assign a value to Strand data member.
Definition: Seq_point_.hpp:366
ENa_strand
strand of nucleic acid
Definition: Na_strand_.hpp:64
TId & SetId(void)
Assign a value to Id data member.
Definition: Seq_point_.hpp:399
TPoint & SetPoint(void)
Assign a value to Point data member.
Definition: Seq_point_.hpp:319
@ eNa_strand_unknown
Definition: Na_strand_.hpp:65
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1227
Modified on Sat Apr 20 12:15:19 2024 by modify_doxy.py rev. 669887