1 /* $Id: Sparse_seg.hpp 205909 2010-09-23 12:14:41Z vasilche $ 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: Kamen Todorov 27 * 28 * File Description: 29 * Sparse-seg 30 * 31 */ 32 33 /// @file Sparse_seg.hpp 34 /// User-defined methods of the data storage class. 35 /// 36 /// This file was originally generated by application DATATOOL 37 /// using the following specifications: 38 /// 'seqalign.asn'. 39 /// 40 /// New methods or data members can be added to it if needed. 41 /// See also: Sparse_seg_.hpp 42 43 44 #ifndef OBJECTS_SEQALIGN_SPARSE_SEG_HPP 45 #define OBJECTS_SEQALIGN_SPARSE_SEG_HPP 46 47 48 #include <objects/seqalign/Sparse_seg_.hpp> 49 #include <objects/seqalign/seqalign_exception.hpp> 50 51 52 BEGIN_NCBI_SCOPE 53 54 BEGIN_objects_SCOPE // namespace ncbi::objects:: 55 56 ///////////////////////////////////////////////////////////////////////////// 57 class NCBI_SEQALIGN_EXPORT CSparse_seg : public CSparse_seg_Base 58 { 59 typedef CSparse_seg_Base Tparent; 60 public: 61 // constructor 62 CSparse_seg(void); 63 // destructor 64 ~CSparse_seg(void); 65 66 /// types 67 typedef int TDim; 68 69 /// Validators 70 void Validate (bool full_test = false) const; 71 TDim CheckNumRows(void) const; 72 73 74 // GetSeqRange 75 CRange<TSeqPos> GetSeqRange(TDim row) const; 76 TSeqPos GetSeqStart(TDim row) const; 77 TSeqPos GetSeqStop(TDim row) const; 78 79 // Get Seq_id (the first one if segments have different strands). 80 const CSeq_id& GetSeq_id(TDim row) const; 81 82 // Get strand (the first one if segments have different strands). 83 ENa_strand GetSeqStrand(TDim row) const; 84 85 private: 86 // Prohibit copy constructor and assignment operator 87 CSparse_seg(const CSparse_seg& value); 88 CSparse_seg& operator=(const CSparse_seg& value); 89 90 }; 91 92 /////////////////// CSparse_seg inline methods 93 94 // constructor 95 inline CSparse_seg(void)96CSparse_seg::CSparse_seg(void) 97 { 98 } 99 100 101 /////////////////// end of CSparse_seg inline methods 102 103 104 END_objects_SCOPE // namespace ncbi::objects:: 105 106 END_NCBI_SCOPE 107 108 109 #endif // OBJECTS_SEQALIGN_SPARSE_SEG_HPP 110 /* Original file checksum: lines: 86, chars: 2441, CRC32: 95d9afeb */ 111