NCBI C++ ToolKit
CDD_Reply_Get_Blob_Id_.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 CDD_Reply_Get_Blob_Id_.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/objtools/data_loaders/cdd/cdd_access/cdd_access.asn">cdd_access.asn</a>
34 /// and additional tune-up parameters:
35 /// <a href="/IEB/ToolBox/CPP_DOC/lxr/source/src/objtools/data_loaders/cdd/cdd_access/cdd_access.def">cdd_access.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 OBJTOOLS_DATA_LOADERS_CDD_CDD_ACCESS_CDD_REPLY_GET_BLOB_ID_BASE_HPP
42 #define OBJTOOLS_DATA_LOADERS_CDD_CDD_ACCESS_CDD_REPLY_GET_BLOB_ID_BASE_HPP
43 
44 // standard includes
45 #include <serial/serialbase.hpp>
46 
47 // generated includes
48 #include <list>
49 
51 
52 #ifndef BEGIN_objects_SCOPE
53 # define BEGIN_objects_SCOPE BEGIN_SCOPE(objects)
54 # define END_objects_SCOPE END_SCOPE(objects)
55 #endif
56 BEGIN_objects_SCOPE // namespace ncbi::objects::
57 
58 
59 // forward declarations
60 class CCDD_Feat_type;
61 class CID2_Blob_Id;
62 class CSeq_id;
63 
64 
65 // generated classes
66 
67 
68 /** @addtogroup dataspec_NCBI_CDDAccess
69  *
70  * @{
71  */
72 
73 /////////////////////////////////////////////////////////////////////////////
74 /// Reply to get-blob-id request.
75 ///
76 /// CCDD_Reply_Get_Blob_Id_Base --
77 ///
78 
80 {
82 public:
83  // constructor
85  // destructor
86  virtual ~CCDD_Reply_Get_Blob_Id_Base(void);
87 
88  // type info
90 
91  // types
92  typedef CSeq_id TSeq_id;
94  typedef list< CRef< CCDD_Feat_type > > TFeat_types;
95 
96  // member index
97  enum class E_memberIndex {
98  e__allMandatory = 0,
99  e_seq_id,
100  e_blob_id,
101  e_feat_types
102  };
104 
105  // getters
106  // setters
107 
108  /// seq-id used in the CDD annotation
109  /// Check if a value has been assigned to Seq_id data member.
110  ///
111  /// Data member Seq_id is mandatory;
112  /// its type is defined as 'typedef CSeq_id TSeq_id'
113  /// @return
114  /// - true, if a value has been assigned.
115  /// - false, otherwise.
116  bool IsSetSeq_id(void) const;
117 
118  /// Check if it is safe to call GetSeq_id method.
119  ///
120  /// @return
121  /// - true, if the data member is getatable.
122  /// - false, otherwise.
123  bool CanGetSeq_id(void) const;
124 
125  /// Reset Seq_id data member.
126  void ResetSeq_id(void);
127 
128  /// Get the Seq_id member data.
129  ///
130  /// @return
131  /// Reference to the member data.
132  const TSeq_id& GetSeq_id(void) const;
133 
134  /// Assign a value to Seq_id data member.
135  ///
136  /// @param value
137  /// Reference to value.
138  void SetSeq_id(TSeq_id& value);
139 
140  /// Assign a value to Seq_id data member.
141  ///
142  /// @return
143  /// Reference to the data value.
144  TSeq_id& SetSeq_id(void);
145 
146  /// resulting blob-id
147  /// Check if a value has been assigned to Blob_id data member.
148  ///
149  /// Data member Blob_id is mandatory;
150  /// its type is defined as 'typedef CID2_Blob_Id TBlob_id'
151  /// @return
152  /// - true, if a value has been assigned.
153  /// - false, otherwise.
154  bool IsSetBlob_id(void) const;
155 
156  /// Check if it is safe to call GetBlob_id method.
157  ///
158  /// @return
159  /// - true, if the data member is getatable.
160  /// - false, otherwise.
161  bool CanGetBlob_id(void) const;
162 
163  /// Reset Blob_id data member.
164  void ResetBlob_id(void);
165 
166  /// Get the Blob_id member data.
167  ///
168  /// @return
169  /// Reference to the member data.
170  const TBlob_id& GetBlob_id(void) const;
171 
172  /// Assign a value to Blob_id data member.
173  ///
174  /// @param value
175  /// Reference to value.
176  void SetBlob_id(TBlob_id& value);
177 
178  /// Assign a value to Blob_id data member.
179  ///
180  /// @return
181  /// Reference to the data value.
182  TBlob_id& SetBlob_id(void);
183 
184  /// types and subtypes of features in the blob
185  /// Check if a value has been assigned to Feat_types data member.
186  ///
187  /// Data member Feat_types is optional;
188  /// its type is defined as 'typedef list< CRef< CCDD_Feat_type > > TFeat_types'
189  /// @return
190  /// - true, if a value has been assigned.
191  /// - false, otherwise.
192  bool IsSetFeat_types(void) const;
193 
194  /// Check if it is safe to call GetFeat_types method.
195  ///
196  /// @return
197  /// - true, if the data member is getatable.
198  /// - false, otherwise.
199  bool CanGetFeat_types(void) const;
200 
201  /// Reset Feat_types data member.
202  void ResetFeat_types(void);
203 
204  /// Get the Feat_types member data.
205  ///
206  /// @return
207  /// Reference to the member data.
208  const TFeat_types& GetFeat_types(void) const;
209 
210  /// Assign a value to Feat_types data member.
211  ///
212  /// @return
213  /// Reference to the data value.
214  TFeat_types& SetFeat_types(void);
215 
216  /// Reset the whole object
217  virtual void Reset(void);
218 
219 
220 private:
221  // Prohibit copy constructor and assignment operator
224 
225  // data
226  Uint4 m_set_State[1];
229  list< CRef< CCDD_Feat_type > > m_Feat_types;
230 };
231 
232 /* @} */
233 
234 
235 
236 
237 
238 ///////////////////////////////////////////////////////////
239 ///////////////////// inline methods //////////////////////
240 ///////////////////////////////////////////////////////////
241 inline
243 {
244  return m_Seq_id.NotEmpty();
245 }
246 
247 inline
249 {
250  return true;
251 }
252 
253 inline
255 {
256  if ( !m_Seq_id ) {
257  const_cast<CCDD_Reply_Get_Blob_Id_Base*>(this)->ResetSeq_id();
258  }
259  return (*m_Seq_id);
260 }
261 
262 inline
264 {
265  if ( !m_Seq_id ) {
266  ResetSeq_id();
267  }
268  return (*m_Seq_id);
269 }
270 
271 inline
273 {
274  return m_Blob_id.NotEmpty();
275 }
276 
277 inline
279 {
280  return true;
281 }
282 
283 inline
285 {
286  if ( !m_Blob_id ) {
287  const_cast<CCDD_Reply_Get_Blob_Id_Base*>(this)->ResetBlob_id();
288  }
289  return (*m_Blob_id);
290 }
291 
292 inline
294 {
295  if ( !m_Blob_id ) {
296  ResetBlob_id();
297  }
298  return (*m_Blob_id);
299 }
300 
301 inline
303 {
304  return ((m_set_State[0] & 0x30) != 0);
305 }
306 
307 inline
309 {
310  return true;
311 }
312 
313 inline
315 {
316  return m_Feat_types;
317 }
318 
319 inline
321 {
322  m_set_State[0] |= 0x10;
323  return m_Feat_types;
324 }
325 
326 ///////////////////////////////////////////////////////////
327 ////////////////// end of inline methods //////////////////
328 ///////////////////////////////////////////////////////////
329 
330 
331 
332 
333 
334 END_objects_SCOPE // namespace ncbi::objects::
335 
337 
338 
339 #endif // OBJTOOLS_DATA_LOADERS_CDD_CDD_ACCESS_CDD_REPLY_GET_BLOB_ID_BASE_HPP
CCDD_Feat_type –.
Reply to get-blob-id request.
CID2_Blob_Id –.
Definition: ID2_Blob_Id.hpp:66
CRef –.
Definition: ncbiobj.hpp:618
Base class for all serializable objects.
Definition: serialbase.hpp:150
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_CDD_ACCESS_EXPORT
Definition: ncbi_export.h:1505
const TFeat_types & GetFeat_types(void) const
Get the Feat_types member data.
CCDD_Reply_Get_Blob_Id_Base(const CCDD_Reply_Get_Blob_Id_Base &)
bool IsSetSeq_id(void) const
seq-id used in the CDD annotation Check if a value has been assigned to Seq_id data member.
bool CanGetSeq_id(void) const
Check if it is safe to call GetSeq_id method.
void ResetSeq_id(void)
Reset Seq_id data member.
void ResetBlob_id(void)
Reset Blob_id data member.
bool CanGetBlob_id(void) const
Check if it is safe to call GetBlob_id method.
const TBlob_id & GetBlob_id(void) const
Get the Blob_id member data.
bool CanGetFeat_types(void) const
Check if it is safe to call GetFeat_types method.
bool IsSetBlob_id(void) const
resulting blob-id Check if a value has been assigned to Blob_id data member.
Tparent::CMemberIndex< E_memberIndex, 4 > TmemberIndex
TSeq_id & SetSeq_id(void)
Assign a value to Seq_id data member.
list< CRef< CCDD_Feat_type > > m_Feat_types
TBlob_id & SetBlob_id(void)
Assign a value to Blob_id data member.
TFeat_types & SetFeat_types(void)
Assign a value to Feat_types data member.
list< CRef< CCDD_Feat_type > > TFeat_types
const TSeq_id & GetSeq_id(void) const
Get the Seq_id member data.
CCDD_Reply_Get_Blob_Id_Base & operator=(const CCDD_Reply_Get_Blob_Id_Base &)
bool IsSetFeat_types(void) const
types and subtypes of features in the blob Check if a value has been assigned to Feat_types data memb...
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1227
Modified on Tue May 07 08:14:15 2024 by modify_doxy.py rev. 669887