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

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: Textseq_id.hpp,v $
  4.  * PRODUCTION Revision 1000.0  2003/10/29 21:05:05  gouriano
  5.  * PRODUCTION PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.8
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. /* $Id: Textseq_id.hpp,v 1000.0 2003/10/29 21:05:05 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: Textseq_id.hpp,v $
  46.  * Revision 1000.0  2003/10/29 21:05:05  gouriano
  47.  * PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.8
  48.  *
  49.  * Revision 1.8  2003/02/06 22:23:29  vasilche
  50.  * Added CSeq_id::Assign(), CSeq_loc::Assign().
  51.  * Added int CSeq_id::Compare() (not safe).
  52.  * Added caching of CSeq_loc::GetTotalRange().
  53.  *
  54.  * Revision 1.7  2002/12/26 12:43:42  dicuccio
  55.  * Added Win32 export specifiers
  56.  *
  57.  * Revision 1.6  2001/08/31 16:00:36  clausen
  58.  * Added new constructors for FastA construction.
  59.  *
  60.  * Revision 1.5  2001/06/25 18:52:02  grichenk
  61.  * Prohibited copy constructor and assignment operator
  62.  *
  63.  * Revision 1.4  2000/12/08 22:18:41  ostell
  64.  * changed MakeFastString to AsFastaString and to use ostream instead of string
  65.  *
  66.  * Revision 1.3  2000/12/08 20:45:56  ostell
  67.  * added MakeFastaString()
  68.  *
  69.  * Revision 1.2  2000/11/30 21:53:39  ostell
  70.  * typo fixed
  71.  *
  72.  * Revision 1.1  2000/11/30 18:40:23  ostell
  73.  * added Textseq_id.Match
  74.  *
  75.  *
  76.  * ===========================================================================
  77.  */
  78. #ifndef OBJECTS_SEQLOC_TEXTSEQ_ID_HPP
  79. #define OBJECTS_SEQLOC_TEXTSEQ_ID_HPP
  80. // generated includes
  81. #include <objects/seqloc/Textseq_id_.hpp>
  82. // generated classes
  83. BEGIN_NCBI_SCOPE
  84. BEGIN_objects_SCOPE // namespace ncbi::objects::
  85. class NCBI_SEQLOC_EXPORT CTextseq_id : public CTextseq_id_Base
  86. {
  87.     typedef CTextseq_id_Base Tparent;
  88. public:
  89.     // 'ctors
  90.     CTextseq_id(void);
  91.     CTextseq_id(const string& acc,
  92.                 const string& name,
  93.                 const string& version,
  94.                 const string& release  = kEmptyStr,
  95.                 bool allow_dot_version = true);
  96.     CTextseq_id(const string& acc,
  97.                 const string& name,
  98.                 int           version  = 0,
  99.                 const string& release  = kEmptyStr,
  100.                 bool allow_dot_version = true);
  101.     virtual ~CTextseq_id(void);
  102.     // Comparison function
  103.     bool Match(const CTextseq_id& tsip2) const;
  104.     int Compare(const CTextseq_id& tsip2) const;
  105.     bool operator<(const CTextseq_id& tsip2) const;
  106.     // Format the contents FASTA string style
  107.     ostream& AsFastaString(ostream& s) const;
  108. private:
  109.     void x_Init(const string& acc,
  110.                 const string& name,
  111.                 int           version,
  112.                 const string& release,
  113.                 bool          is_nucore3);
  114.     // Prohibit copy constructor & assignment operator
  115.     CTextseq_id(const CTextseq_id&);
  116.     CTextseq_id& operator= (const CTextseq_id&);
  117. };
  118. /////////////////// CTextseq_id inline methods
  119. // constructor
  120. inline
  121. CTextseq_id::CTextseq_id(void)
  122. {
  123. }
  124. inline
  125. bool CTextseq_id::operator<(const CTextseq_id& tsip2) const
  126. {
  127.     return Compare(tsip2) < 0;
  128. }
  129. /////////////////// end of CTextseq_id inline methods
  130. END_objects_SCOPE // namespace ncbi::objects::
  131. END_NCBI_SCOPE
  132. #endif // OBJECTS_SEQLOC_TEXTSEQ_ID_HPP
  133. /* Original file checksum: lines: 85, chars: 2258, CRC32: fc9c35de */