NCBI C++ ToolKit
GC_SequenceStats_.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 GC_SequenceStats_.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/genomecoll/genome_collection.asn">genome_collection.asn</a>
34 /// and additional tune-up parameters:
35 /// <a href="/IEB/ToolBox/CPP_DOC/lxr/source/src/objects/genomecoll/genome_collection.def">genome_collection.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_GENOMECOLL_GC_SEQUENCESTATS_BASE_HPP
42 #define OBJECTS_GENOMECOLL_GC_SEQUENCESTATS_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 CGC_Scaf_stats;
61 
62 
63 // generated classes
64 
65 
66 /** @addtogroup dataspec_NCBI_GenomeCollection
67  *
68  * @{
69  */
70 
71 /////////////////////////////////////////////////////////////////////////////
72 /// Stats of complex objects
73 /// Used at assembly and chromosome levels
74 ///
75 /// CGC_SequenceStats_Base --
76 ///
77 
79 {
81 public:
82  // constructor
84  // destructor
85  virtual ~CGC_SequenceStats_Base(void);
86 
87  // type info
89 
90  // types
91  typedef list< CRef< CGC_Scaf_stats > > TAll_scaf;
92  typedef list< CRef< CGC_Scaf_stats > > TOrdered_scaf;
93  typedef list< CRef< CGC_Scaf_stats > > TUnordered_scaf;
94  typedef list< CRef< CGC_Scaf_stats > > TUnplaced_scaf;
95  typedef list< CRef< CGC_Scaf_stats > > TAligned_scaf;
96  typedef list< CRef< CGC_Scaf_stats > > TUnaligned_scaf;
97 
98  // member index
99  enum class E_memberIndex {
100  e__allMandatory = 0,
101  e_all_scaf,
102  e_ordered_scaf,
103  e_unordered_scaf,
104  e_unplaced_scaf,
105  e_aligned_scaf,
106  e_unaligned_scaf
107  };
109 
110  // getters
111  // setters
112 
113  /// Check if a value has been assigned to All_scaf data member.
114  ///
115  /// Data member All_scaf is mandatory;
116  /// its type is defined as 'typedef list< CRef< CGC_Scaf_stats > > TAll_scaf'
117  /// @return
118  /// - true, if a value has been assigned.
119  /// - false, otherwise.
120  bool IsSetAll_scaf(void) const;
121 
122  /// Check if it is safe to call GetAll_scaf method.
123  ///
124  /// @return
125  /// - true, if the data member is getatable.
126  /// - false, otherwise.
127  bool CanGetAll_scaf(void) const;
128 
129  /// Reset All_scaf data member.
130  void ResetAll_scaf(void);
131 
132  /// Get the All_scaf member data.
133  ///
134  /// @return
135  /// Reference to the member data.
136  const TAll_scaf& GetAll_scaf(void) const;
137 
138  /// Assign a value to All_scaf data member.
139  ///
140  /// @return
141  /// Reference to the data value.
142  TAll_scaf& SetAll_scaf(void);
143 
144  /// Check if a value has been assigned to Ordered_scaf data member.
145  ///
146  /// Data member Ordered_scaf is mandatory;
147  /// its type is defined as 'typedef list< CRef< CGC_Scaf_stats > > TOrdered_scaf'
148  /// @return
149  /// - true, if a value has been assigned.
150  /// - false, otherwise.
151  bool IsSetOrdered_scaf(void) const;
152 
153  /// Check if it is safe to call GetOrdered_scaf method.
154  ///
155  /// @return
156  /// - true, if the data member is getatable.
157  /// - false, otherwise.
158  bool CanGetOrdered_scaf(void) const;
159 
160  /// Reset Ordered_scaf data member.
161  void ResetOrdered_scaf(void);
162 
163  /// Get the Ordered_scaf member data.
164  ///
165  /// @return
166  /// Reference to the member data.
167  const TOrdered_scaf& GetOrdered_scaf(void) const;
168 
169  /// Assign a value to Ordered_scaf data member.
170  ///
171  /// @return
172  /// Reference to the data value.
173  TOrdered_scaf& SetOrdered_scaf(void);
174 
175  ///
176  /// Check if a value has been assigned to Unordered_scaf data member.
177  ///
178  /// Data member Unordered_scaf is mandatory;
179  /// its type is defined as 'typedef list< CRef< CGC_Scaf_stats > > TUnordered_scaf'
180  /// @return
181  /// - true, if a value has been assigned.
182  /// - false, otherwise.
183  bool IsSetUnordered_scaf(void) const;
184 
185  /// Check if it is safe to call GetUnordered_scaf method.
186  ///
187  /// @return
188  /// - true, if the data member is getatable.
189  /// - false, otherwise.
190  bool CanGetUnordered_scaf(void) const;
191 
192  /// Reset Unordered_scaf data member.
193  void ResetUnordered_scaf(void);
194 
195  /// Get the Unordered_scaf member data.
196  ///
197  /// @return
198  /// Reference to the member data.
199  const TUnordered_scaf& GetUnordered_scaf(void) const;
200 
201  /// Assign a value to Unordered_scaf data member.
202  ///
203  /// @return
204  /// Reference to the data value.
205  TUnordered_scaf& SetUnordered_scaf(void);
206 
207  /// unplaced at full assembly level
208  /// Check if a value has been assigned to Unplaced_scaf data member.
209  ///
210  /// Data member Unplaced_scaf is optional;
211  /// its type is defined as 'typedef list< CRef< CGC_Scaf_stats > > TUnplaced_scaf'
212  /// @return
213  /// - true, if a value has been assigned.
214  /// - false, otherwise.
215  bool IsSetUnplaced_scaf(void) const;
216 
217  /// Check if it is safe to call GetUnplaced_scaf method.
218  ///
219  /// @return
220  /// - true, if the data member is getatable.
221  /// - false, otherwise.
222  bool CanGetUnplaced_scaf(void) const;
223 
224  /// Reset Unplaced_scaf data member.
225  void ResetUnplaced_scaf(void);
226 
227  /// Get the Unplaced_scaf member data.
228  ///
229  /// @return
230  /// Reference to the member data.
231  const TUnplaced_scaf& GetUnplaced_scaf(void) const;
232 
233  /// Assign a value to Unplaced_scaf data member.
234  ///
235  /// @return
236  /// Reference to the data value.
237  TUnplaced_scaf& SetUnplaced_scaf(void);
238 
239  /// aligned at full assembly level
240  /// Check if a value has been assigned to Aligned_scaf data member.
241  ///
242  /// Data member Aligned_scaf is optional;
243  /// its type is defined as 'typedef list< CRef< CGC_Scaf_stats > > TAligned_scaf'
244  /// @return
245  /// - true, if a value has been assigned.
246  /// - false, otherwise.
247  bool IsSetAligned_scaf(void) const;
248 
249  /// Check if it is safe to call GetAligned_scaf method.
250  ///
251  /// @return
252  /// - true, if the data member is getatable.
253  /// - false, otherwise.
254  bool CanGetAligned_scaf(void) const;
255 
256  /// Reset Aligned_scaf data member.
257  void ResetAligned_scaf(void);
258 
259  /// Get the Aligned_scaf member data.
260  ///
261  /// @return
262  /// Reference to the member data.
263  const TAligned_scaf& GetAligned_scaf(void) const;
264 
265  /// Assign a value to Aligned_scaf data member.
266  ///
267  /// @return
268  /// Reference to the data value.
269  TAligned_scaf& SetAligned_scaf(void);
270 
271  /// unaligned at full assembly level
272  /// Check if a value has been assigned to Unaligned_scaf data member.
273  ///
274  /// Data member Unaligned_scaf is optional;
275  /// its type is defined as 'typedef list< CRef< CGC_Scaf_stats > > TUnaligned_scaf'
276  /// @return
277  /// - true, if a value has been assigned.
278  /// - false, otherwise.
279  bool IsSetUnaligned_scaf(void) const;
280 
281  /// Check if it is safe to call GetUnaligned_scaf method.
282  ///
283  /// @return
284  /// - true, if the data member is getatable.
285  /// - false, otherwise.
286  bool CanGetUnaligned_scaf(void) const;
287 
288  /// Reset Unaligned_scaf data member.
289  void ResetUnaligned_scaf(void);
290 
291  /// Get the Unaligned_scaf member data.
292  ///
293  /// @return
294  /// Reference to the member data.
295  const TUnaligned_scaf& GetUnaligned_scaf(void) const;
296 
297  /// Assign a value to Unaligned_scaf data member.
298  ///
299  /// @return
300  /// Reference to the data value.
301  TUnaligned_scaf& SetUnaligned_scaf(void);
302 
303  /// Reset the whole object
304  virtual void Reset(void);
305 
306 
307 private:
308  // Prohibit copy constructor and assignment operator
311 
312  // data
313  Uint4 m_set_State[1];
314  list< CRef< CGC_Scaf_stats > > m_All_scaf;
315  list< CRef< CGC_Scaf_stats > > m_Ordered_scaf;
316  list< CRef< CGC_Scaf_stats > > m_Unordered_scaf;
317  list< CRef< CGC_Scaf_stats > > m_Unplaced_scaf;
318  list< CRef< CGC_Scaf_stats > > m_Aligned_scaf;
319  list< CRef< CGC_Scaf_stats > > m_Unaligned_scaf;
320 };
321 
322 /* @} */
323 
324 
325 
326 
327 
328 ///////////////////////////////////////////////////////////
329 ///////////////////// inline methods //////////////////////
330 ///////////////////////////////////////////////////////////
331 inline
333 {
334  return ((m_set_State[0] & 0x3) != 0);
335 }
336 
337 inline
339 {
340  return true;
341 }
342 
343 inline
345 {
346  return m_All_scaf;
347 }
348 
349 inline
351 {
352  m_set_State[0] |= 0x1;
353  return m_All_scaf;
354 }
355 
356 inline
358 {
359  return ((m_set_State[0] & 0xc) != 0);
360 }
361 
362 inline
364 {
365  return true;
366 }
367 
368 inline
370 {
371  return m_Ordered_scaf;
372 }
373 
374 inline
376 {
377  m_set_State[0] |= 0x4;
378  return m_Ordered_scaf;
379 }
380 
381 inline
383 {
384  return ((m_set_State[0] & 0x30) != 0);
385 }
386 
387 inline
389 {
390  return true;
391 }
392 
393 inline
395 {
396  return m_Unordered_scaf;
397 }
398 
399 inline
401 {
402  m_set_State[0] |= 0x10;
403  return m_Unordered_scaf;
404 }
405 
406 inline
408 {
409  return ((m_set_State[0] & 0xc0) != 0);
410 }
411 
412 inline
414 {
415  return true;
416 }
417 
418 inline
420 {
421  return m_Unplaced_scaf;
422 }
423 
424 inline
426 {
427  m_set_State[0] |= 0x40;
428  return m_Unplaced_scaf;
429 }
430 
431 inline
433 {
434  return ((m_set_State[0] & 0x300) != 0);
435 }
436 
437 inline
439 {
440  return true;
441 }
442 
443 inline
445 {
446  return m_Aligned_scaf;
447 }
448 
449 inline
451 {
452  m_set_State[0] |= 0x100;
453  return m_Aligned_scaf;
454 }
455 
456 inline
458 {
459  return ((m_set_State[0] & 0xc00) != 0);
460 }
461 
462 inline
464 {
465  return true;
466 }
467 
468 inline
470 {
471  return m_Unaligned_scaf;
472 }
473 
474 inline
476 {
477  m_set_State[0] |= 0x400;
478  return m_Unaligned_scaf;
479 }
480 
481 ///////////////////////////////////////////////////////////
482 ////////////////// end of inline methods //////////////////
483 ///////////////////////////////////////////////////////////
484 
485 
486 
487 
488 
489 END_objects_SCOPE // namespace ncbi::objects::
490 
492 
493 
494 #endif // OBJECTS_GENOMECOLL_GC_SEQUENCESTATS_BASE_HPP
CGC_Scaf_stats –.
Stats of complex objects Used at assembly and chromosome levels.
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_GENOME_COLLECTION_EXPORT
Definition: ncbi_export.h:528
const TAll_scaf & GetAll_scaf(void) const
Get the All_scaf member data.
const TUnordered_scaf & GetUnordered_scaf(void) const
Get the Unordered_scaf member data.
bool IsSetUnaligned_scaf(void) const
unaligned at full assembly level Check if a value has been assigned to Unaligned_scaf data member.
bool IsSetUnordered_scaf(void) const
Check if a value has been assigned to Unordered_scaf data member.
list< CRef< CGC_Scaf_stats > > TUnplaced_scaf
list< CRef< CGC_Scaf_stats > > TOrdered_scaf
bool CanGetUnaligned_scaf(void) const
Check if it is safe to call GetUnaligned_scaf method.
list< CRef< CGC_Scaf_stats > > TAll_scaf
Tparent::CMemberIndex< E_memberIndex, 7 > TmemberIndex
bool CanGetAligned_scaf(void) const
Check if it is safe to call GetAligned_scaf method.
bool IsSetUnplaced_scaf(void) const
unplaced at full assembly level Check if a value has been assigned to Unplaced_scaf data member.
list< CRef< CGC_Scaf_stats > > TUnaligned_scaf
list< CRef< CGC_Scaf_stats > > m_Unaligned_scaf
const TAligned_scaf & GetAligned_scaf(void) const
Get the Aligned_scaf member data.
TOrdered_scaf & SetOrdered_scaf(void)
Assign a value to Ordered_scaf data member.
bool IsSetAligned_scaf(void) const
aligned at full assembly level Check if a value has been assigned to Aligned_scaf data member.
list< CRef< CGC_Scaf_stats > > TUnordered_scaf
bool CanGetUnplaced_scaf(void) const
Check if it is safe to call GetUnplaced_scaf method.
bool IsSetAll_scaf(void) const
Check if a value has been assigned to All_scaf data member.
TAligned_scaf & SetAligned_scaf(void)
Assign a value to Aligned_scaf data member.
TAll_scaf & SetAll_scaf(void)
Assign a value to All_scaf data member.
list< CRef< CGC_Scaf_stats > > TAligned_scaf
list< CRef< CGC_Scaf_stats > > m_Unplaced_scaf
CGC_SequenceStats_Base(const CGC_SequenceStats_Base &)
TUnaligned_scaf & SetUnaligned_scaf(void)
Assign a value to Unaligned_scaf data member.
bool IsSetOrdered_scaf(void) const
Check if a value has been assigned to Ordered_scaf data member.
list< CRef< CGC_Scaf_stats > > m_Unordered_scaf
const TUnplaced_scaf & GetUnplaced_scaf(void) const
Get the Unplaced_scaf member data.
list< CRef< CGC_Scaf_stats > > m_Aligned_scaf
const TOrdered_scaf & GetOrdered_scaf(void) const
Get the Ordered_scaf member data.
bool CanGetAll_scaf(void) const
Check if it is safe to call GetAll_scaf method.
const TUnaligned_scaf & GetUnaligned_scaf(void) const
Get the Unaligned_scaf member data.
bool CanGetOrdered_scaf(void) const
Check if it is safe to call GetOrdered_scaf method.
TUnordered_scaf & SetUnordered_scaf(void)
Assign a value to Unordered_scaf data member.
TUnplaced_scaf & SetUnplaced_scaf(void)
Assign a value to Unplaced_scaf data member.
list< CRef< CGC_Scaf_stats > > m_All_scaf
list< CRef< CGC_Scaf_stats > > m_Ordered_scaf
CGC_SequenceStats_Base & operator=(const CGC_SequenceStats_Base &)
bool CanGetUnordered_scaf(void) const
Check if it is safe to call GetUnordered_scaf method.
Modified on Wed Dec 06 07:13:22 2023 by modify_doxy.py rev. 669887