Packed_seqint.hpp
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:4k
源码类别:

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: Packed_seqint.hpp,v $
  4.  * PRODUCTION Revision 1000.1  2004/04/12 17:24:01  gouriano
  5.  * PRODUCTION PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.6
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. /* $Id: Packed_seqint.hpp,v 1000.1 2004/04/12 17:24:01 gouriano Exp $
  10.  * ===========================================================================
  11.  *
  12.  *                            PUBLIC DOMAIN NOTICE
  13.  *               National Center for Biotechnology Information
  14.  *
  15.  *  This software/database is a "United States Government Work" under the
  16.  *  terms of the United States Copyright Act.  It was written as part of
  17.  *  the author's official duties as a United States Government employee and
  18.  *  thus cannot be copyrighted.  This software/database is freely available
  19.  *  to the public for use. The National Library of Medicine and the U.S.
  20.  *  Government have not placed any restriction on its use or reproduction.
  21.  *
  22.  *  Although all reasonable efforts have been taken to ensure the accuracy
  23.  *  and reliability of the software and data, the NLM and the U.S.
  24.  *  Government do not and cannot warrant the performance or results that
  25.  *  may be obtained by using this software or data. The NLM and the U.S.
  26.  *  Government disclaim all warranties, express or implied, including
  27.  *  warranties of performance, merchantability or fitness for any particular
  28.  *  purpose.
  29.  *
  30.  *  Please cite the author in any work or product based on this material.
  31.  *
  32.  * ===========================================================================
  33.  *
  34.  * Author:  .......
  35.  *
  36.  * File Description:
  37.  *   .......
  38.  *
  39.  * Remark:
  40.  *   This code was originally generated by application DATATOOL
  41.  *   using specifications from the ASN data definition file
  42.  *   'seqloc.asn'.
  43.  */
  44. #ifndef OBJECTS_SEQLOC_PACKED_SEQINT_HPP
  45. #define OBJECTS_SEQLOC_PACKED_SEQINT_HPP
  46. // generated includes
  47. #include <objects/seqloc/Packed_seqint_.hpp>
  48. #include <util/range.hpp>
  49. // generated classes
  50. BEGIN_NCBI_SCOPE
  51. BEGIN_objects_SCOPE // namespace ncbi::objects::
  52. class CSeq_id;
  53. class NCBI_SEQLOC_EXPORT CPacked_seqint : public CPacked_seqint_Base
  54. {
  55.     typedef CPacked_seqint_Base Tparent;
  56. public:
  57.     typedef CSeq_id                    TId;
  58.     typedef ENa_strand                 TStrand;
  59.     typedef vector< CRange<TSeqPos> >  TRanges;
  60.     // constructor
  61.     CPacked_seqint(void);
  62.     CPacked_seqint(TId& id, const TRanges& ivals, TStrand strand = eNa_strand_unknown);
  63.     // destructor
  64.     ~CPacked_seqint(void);
  65.     // get the length of the pieces
  66.     TSeqPos GetLength(void) const;
  67.     /// for convenience
  68.     void AddInterval(const CSeq_interval& ival);
  69.     void AddInterval(const CSeq_id& id, TSeqPos from, TSeqPos to,
  70.                      ENa_strand strand = eNa_strand_unknown);
  71.     void AddIntervals(const CPacked_seqint& ivals);
  72.     void AddIntervals(const Tdata& ivals);
  73. private:
  74.     // Prihibit copy constructor & assignment operator
  75.     CPacked_seqint(const CPacked_seqint&);
  76.     CPacked_seqint& operator= (const CPacked_seqint&);
  77. };
  78. /////////////////// CPacked_seqint inline methods
  79. // constructor
  80. inline
  81. CPacked_seqint::CPacked_seqint(void)
  82. {
  83. }
  84. /////////////////// end of CPacked_seqint inline methods
  85. END_objects_SCOPE // namespace ncbi::objects::
  86. END_NCBI_SCOPE
  87. /*
  88.  * ===========================================================================
  89.  *
  90.  * $Log: Packed_seqint.hpp,v $
  91.  * Revision 1000.1  2004/04/12 17:24:01  gouriano
  92.  * PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.6
  93.  *
  94.  * Revision 1.6  2004/01/28 17:14:55  shomrat
  95.  * Added methods to ease the construction of objects
  96.  *
  97.  * Revision 1.5  2003/08/11 14:39:00  ucko
  98.  * +AddInterval; CVS log to end
  99.  *
  100.  * Revision 1.4  2002/12/26 12:43:42  dicuccio
  101.  * Added Win32 export specifiers
  102.  *
  103.  * Revision 1.3  2002/05/03 21:28:04  ucko
  104.  * Introduce T(Signed)SeqPos.
  105.  *
  106.  * Revision 1.2  2001/06/25 18:52:01  grichenk
  107.  * Prohibited copy constructor and assignment operator
  108.  *
  109.  * Revision 1.1  2000/11/17 21:35:02  vasilche
  110.  * Added GetLength() method to CSeq_loc class.
  111.  *
  112.  *
  113.  * ===========================================================================
  114.  */
  115. #endif // OBJECTS_SEQLOC_PACKED_SEQINT_HPP