NCBI C++ ToolKit
Sparse_align_.cpp
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  * File Description:
27  * This code was generated by application DATATOOL
28  * using the following specifications:
29  * 'seqalign.asn'.
30  *
31  * ATTENTION:
32  * Don't edit or commit this file into CVS as this file will
33  * be overridden (by DATATOOL) without warning!
34  * ===========================================================================
35  */
36 
37 // standard includes
38 #include <ncbi_pch.hpp>
39 #include <serial/serialimpl.hpp>
40 
41 // generated includes
46 
47 BEGIN_objects_SCOPE // namespace ncbi::objects::
48 
49 
50 // generated classes
51 
53 {
54  if ( !m_First_id ) {
55  m_First_id.Reset(new TFirst_id());
56  return;
57  }
58  (*m_First_id).Reset();
59 }
60 
62 {
63  m_First_id.Reset(&value);
64 }
65 
67 {
68  if ( !m_Second_id ) {
69  m_Second_id.Reset(new TSecond_id());
70  return;
71  }
72  (*m_Second_id).Reset();
73 }
74 
76 {
77  m_Second_id.Reset(&value);
78 }
79 
81 {
82  m_First_starts.clear();
83  m_set_State[0] &= ~0xc0;
84 }
85 
87 {
88  m_Second_starts.clear();
89  m_set_State[0] &= ~0x300;
90 }
91 
93 {
94  m_Lens.clear();
95  m_set_State[0] &= ~0xc00;
96 }
97 
99 {
100  m_Second_strands.clear();
101  m_set_State[0] &= ~0x3000;
102 }
103 
105 {
106  m_Seg_scores.clear();
107  m_set_State[0] &= ~0xc000;
108 }
109 
111 {
112  ResetFirst_id();
113  ResetSecond_id();
114  ResetNumseg();
117  ResetLens();
119  ResetSeg_scores();
120 }
121 
123 {
124  SET_CLASS_MODULE("NCBI-Seqalign");
125  ADD_NAMED_REF_MEMBER("first-id", m_First_id, CSeq_id);
126  ADD_NAMED_REF_MEMBER("second-id", m_Second_id, CSeq_id);
127  ADD_NAMED_STD_MEMBER("numseg", m_Numseg)->SetSetFlag(MEMBER_PTR(m_set_State[0]));
128  ADD_NAMED_MEMBER("first-starts", m_First_starts, STL_vector, (STD, (int)))->SetSetFlag(MEMBER_PTR(m_set_State[0]));
129  ADD_NAMED_MEMBER("second-starts", m_Second_starts, STL_vector, (STD, (int)))->SetSetFlag(MEMBER_PTR(m_set_State[0]));
130  ADD_NAMED_MEMBER("lens", m_Lens, STL_vector, (STD, (TSeqPos)))->SetSetFlag(MEMBER_PTR(m_set_State[0]));
131  ADD_NAMED_MEMBER("second-strands", m_Second_strands, STL_vector, (ENUM, (ENa_strand, ENa_strand)))->SetSetFlag(MEMBER_PTR(m_set_State[0]))->SetOptional();
132  ADD_NAMED_MEMBER("seg-scores", m_Seg_scores, STL_vector_set, (STL_CRef, (CLASS, (CScore))))->SetSetFlag(MEMBER_PTR(m_set_State[0]))->SetOptional();
133  info->RandomOrder();
134  info->CodeVersion(22400);
135  info->DataSpec(ncbi::EDataSpec::eASN);
136 }
138 
139 // constructor
141  : m_Numseg(0)
142 {
143  memset(m_set_State,0,sizeof(m_set_State));
144  if ( !IsAllocatedInPool() ) {
145  ResetFirst_id();
146  ResetSecond_id();
147  }
148 }
149 
150 // destructor
152 {
153 }
154 
155 
156 
157 END_objects_SCOPE // namespace ncbi::objects::
158 
160 
User-defined methods of the data storage class.
User-defined methods of the data storage class.
BEGIN_NAMED_BASE_CLASS_INFO("Sparse-align", CSparse_align)
Definition: Score.hpp:57
unsigned int TSeqPos
Type for sequence locations and lengths.
Definition: ncbimisc.hpp:875
#define MEMBER_PTR(MemberName)
Definition: serialimpl.hpp:284
#define ADD_NAMED_MEMBER(MemberAlias, MemberName, TypeMacro, TypeMacroArgs)
Definition: serialimpl.hpp:342
#define ADD_NAMED_REF_MEMBER(MemberAlias, MemberName, ClassName)
Definition: serialimpl.hpp:357
#define END_CLASS_INFO
Definition: serialimpl.hpp:456
#define ADD_NAMED_STD_MEMBER(MemberAlias, MemberName)
Definition: serialimpl.hpp:345
#define SET_CLASS_MODULE(ModuleName)
Definition: serialimpl.hpp:444
bool IsAllocatedInPool(void) const THROWS_NONE
Check if object is allocated in memory pool (not system heap)
Definition: ncbiobj.hpp:461
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
CRef< TSecond_id > m_Second_id
void ResetNumseg(void)
Reset Numseg data member.
void ResetSecond_starts(void)
Reset Second_starts data member.
vector< int > m_Second_starts
TSecond_id & SetSecond_id(void)
Assign a value to Second_id data member.
CRef< TFirst_id > m_First_id
virtual ~CSparse_align_Base(void)
vector< TSeqPos > m_Lens
void ResetSeg_scores(void)
Reset Seg_scores data member.
void ResetSecond_strands(void)
Reset Second_strands data member.
void ResetLens(void)
Reset Lens data member.
vector< CRef< CScore > > m_Seg_scores
vector< int > m_First_starts
vector< ENa_strand > m_Second_strands
TFirst_id & SetFirst_id(void)
Assign a value to First_id data member.
virtual void Reset(void)
Reset the whole object.
void ResetFirst_starts(void)
Reset First_starts data member.
void ResetFirst_id(void)
Reset First_id data member.
void ResetSecond_id(void)
Reset Second_id data member.
ENa_strand
strand of nucleic acid
Definition: Na_strand_.hpp:64
static MDB_envinfo info
Definition: mdb_load.c:37
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1227
Modified on Thu Jun 06 15:40:39 2024 by modify_doxy.py rev. 669887