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

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: Packed_seqpnt.hpp,v $
  4.  * PRODUCTION Revision 1000.1  2004/04/12 17:24:03  gouriano
  5.  * PRODUCTION PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.5
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. /* $Id: Packed_seqpnt.hpp,v 1000.1 2004/04/12 17:24:03 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.  * ---------------------------------------------------------------------------
  45.  * $Log: Packed_seqpnt.hpp,v $
  46.  * Revision 1000.1  2004/04/12 17:24:03  gouriano
  47.  * PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.5
  48.  *
  49.  * Revision 1.5  2004/01/28 17:15:09  shomrat
  50.  * Added methods to ease the construction of objects
  51.  *
  52.  * Revision 1.4  2002/12/26 12:43:42  dicuccio
  53.  * Added Win32 export specifiers
  54.  *
  55.  * Revision 1.3  2002/06/07 11:19:37  clausen
  56.  * Added related function comment
  57.  *
  58.  * Revision 1.2  2002/06/06 20:46:16  clausen
  59.  * Moved IsValid to objects/util/sequence.hpp
  60.  *
  61.  * Revision 1.1  2002/01/10 19:15:00  clausen
  62.  * Added IsValid
  63.  *
  64.  *
  65.  * ===========================================================================
  66.  */
  67. #ifndef OBJECTS_SEQLOC_PACKED_SEQPNT_HPP
  68. #define OBJECTS_SEQLOC_PACKED_SEQPNT_HPP
  69. // generated includes
  70. #include <objects/seqloc/Packed_seqpnt_.hpp>
  71. // generated classes
  72. BEGIN_NCBI_SCOPE
  73. BEGIN_objects_SCOPE // namespace ncbi::objects::
  74. class NCBI_SEQLOC_EXPORT CPacked_seqpnt : public CPacked_seqpnt_Base
  75. {
  76.     typedef CPacked_seqpnt_Base Tparent;
  77. public:
  78.     //
  79.     // See CPacked_seqpnt related function in util/sequence.hpp:
  80.     //
  81.     //   bool IsValid(const CPacked_seqpnt&, CScope*);
  82.     //
  83.     // constructor
  84.     CPacked_seqpnt(void);
  85.     CPacked_seqpnt(TId& id, const TPoints& points, TStrand strand = eNa_strand_unknown);
  86.     // destructor
  87.     ~CPacked_seqpnt(void);
  88.     // Add a point to the collection. 
  89.     void AddPoint(TSeqPos point);
  90.     void AddPoints(const TPoints& points);
  91.     
  92. private:
  93.     // Prohibit copy constructor and assignment operator
  94.     CPacked_seqpnt(const CPacked_seqpnt& value);
  95.     CPacked_seqpnt& operator=(const CPacked_seqpnt& value);
  96. };
  97. /////////////////// CPacked_seqpnt inline methods
  98. // constructor
  99. inline
  100. CPacked_seqpnt::CPacked_seqpnt(void)
  101. {
  102. }
  103. inline
  104. CPacked_seqpnt::CPacked_seqpnt(TId& id, const TPoints& points, TStrand strand)
  105. {
  106.     SetId(id);
  107.     copy(points.begin(), points.end(), back_inserter(SetPoints()));
  108.     if ( strand != eNa_strand_unknown ) {
  109.         SetStrand(strand);
  110.     }
  111. }
  112. inline
  113. void CPacked_seqpnt::AddPoint(TSeqPos point)
  114. {
  115.     SetPoints().push_back(point);
  116. }
  117. inline
  118. void CPacked_seqpnt::AddPoints(const TPoints& points)
  119. {
  120.     copy(points.begin(), points.end(), back_inserter(SetPoints()));
  121. }
  122. /////////////////// end of CPacked_seqpnt inline methods
  123. END_objects_SCOPE // namespace ncbi::objects::
  124. END_NCBI_SCOPE
  125. #endif // OBJECTS_SEQLOC_PACKED_SEQPNT_HPP
  126. /* Original file checksum: lines: 90, chars: 2468, CRC32: e995f3e6 */