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

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: Seq_entry.hpp,v $
  4.  * PRODUCTION Revision 1000.0  2003/10/29 21:05:15  gouriano
  5.  * PRODUCTION PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.17
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. /* $Id: Seq_entry.hpp,v 1000.0 2003/10/29 21:05:15 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.  *   'seqset.asn'.
  43.  */
  44. #ifndef OBJECTS_SEQSET_SEQ_ENTRY_HPP
  45. #define OBJECTS_SEQSET_SEQ_ENTRY_HPP
  46. // generated includes
  47. #include <objects/seqset/Seq_entry_.hpp>
  48. // generated classes
  49. BEGIN_NCBI_SCOPE
  50. BEGIN_objects_SCOPE // namespace ncbi::objects::
  51. class CSeq_loc;
  52. class NCBI_SEQSET_EXPORT CSeq_entry : public CSeq_entry_Base, public CSerialUserOp
  53. {
  54.     typedef CSeq_entry_Base Tparent;
  55. public:
  56.     // constructor
  57.     CSeq_entry(void);
  58.     // destructor
  59.     ~CSeq_entry(void);
  60.     // Manage Seq-entry tree structure
  61.     // recursive update of parent Seq-entries (will not change parent of this)
  62.     void Parentize(void);
  63.     // non-recursive update of direct childrent parents (will not change parent of this)
  64.     void ParentizeOneLevel(void);
  65.     // reset parent entry to NULL
  66.     void ResetParentEntry(void);
  67.     // get parent of this.
  68.     // NULL means that either this is top level Seq-entry,
  69.     // or Parentize() was never called.
  70.     CSeq_entry* GetParentEntry(void) const;
  71. protected:
  72.     // From CSerialUserOp
  73.     virtual void UserOp_Assign(const CSerialUserOp& source);
  74.     virtual bool UserOp_Equals(const CSerialUserOp& object) const;
  75. private:
  76.     // Prohibit copy constructor and assignment operator
  77.     CSeq_entry(const CSeq_entry& value);
  78.     CSeq_entry& operator= (const CSeq_entry& value);
  79.     // Upper-level Seq-entry
  80.     void SetParentEntry(CSeq_entry* entry);
  81.     CSeq_entry* m_ParentEntry;
  82. };
  83. /////////////////// CSeq_entry inline methods
  84. // constructor
  85. inline
  86. CSeq_entry::CSeq_entry(void)
  87.     : m_ParentEntry(0)
  88. {
  89. }
  90. inline
  91. CSeq_entry* CSeq_entry::GetParentEntry(void) const
  92. {
  93.     return m_ParentEntry;
  94. }
  95. /////////////////// end of CSeq_entry inline methods
  96. END_objects_SCOPE // namespace ncbi::objects::
  97. END_NCBI_SCOPE
  98. /*
  99.  * ===========================================================================
  100.  *
  101.  * $Log: Seq_entry.hpp,v $
  102.  * Revision 1000.0  2003/10/29 21:05:15  gouriano
  103.  * PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.17
  104.  *
  105.  * Revision 1.17  2003/06/04 17:25:18  ucko
  106.  * Move FASTA reader to objtools/readers.
  107.  *
  108.  * Revision 1.16  2003/05/23 21:12:42  ucko
  109.  * Predeclare CSeq_loc for ReadFasta.
  110.  *
  111.  * Revision 1.15  2003/05/23 20:28:11  ucko
  112.  * Give ReadFasta an optional argument for reporting lowercase
  113.  * characters' location.
  114.  *
  115.  * Revision 1.14  2003/05/16 13:31:20  kuznets
  116.  * Fixed comments, added _dllexport.
  117.  *
  118.  * Revision 1.13  2003/05/15 18:50:15  kuznets
  119.  * Implemented ReadFastaFileMap function. Function reads multientry FASTA
  120.  * file filling SFastaFileMap structure(seq_id, sequence offset, description)
  121.  *
  122.  * Revision 1.12  2003/05/09 16:08:06  ucko
  123.  * Rename fReadFasta_Redund to fReadFasta_AllSeqIds.
  124.  *
  125.  * Revision 1.11  2003/05/09 15:47:11  ucko
  126.  * +fReadFasta_{Redund,NoSeqData} (suggested by Michel Dumontier)
  127.  *
  128.  * Revision 1.10  2003/04/24 16:14:12  vasilche
  129.  * Fixed Parentize().
  130.  *
  131.  * Revision 1.9  2002/12/26 12:44:06  dicuccio
  132.  * Added Win32 export specifiers
  133.  *
  134.  * Revision 1.8  2002/10/29 22:08:55  ucko
  135.  * +fReadFasta_OneSeq
  136.  *
  137.  * Revision 1.7  2002/10/23 19:23:08  ucko
  138.  * Move the FASTA reader from objects/util/sequence.?pp to
  139.  * objects/seqset/Seq_entry.?pp because it doesn't need the OM.
  140.  * Move the CVS log to the end of the file per current practice.
  141.  *
  142.  * Revision 1.6  2002/05/22 14:03:36  grichenk
  143.  * CSerialUserOp -- added prefix UserOp_ to Assign() and Equals()
  144.  *
  145.  * Revision 1.5  2001/07/25 19:11:11  grichenk
  146.  * Equals() and Assign() re-declared as protected
  147.  *
  148.  * Revision 1.4  2001/07/16 16:22:45  grichenk
  149.  * Added CSerialUserOp class to create Assign() and Equals() methods for
  150.  * user-defind classes.
  151.  * Added SerialAssign<>() and SerialEquals<>() functions.
  152.  *
  153.  * Revision 1.3  2001/06/25 18:52:03  grichenk
  154.  * Prohibited copy constructor and assignment operator
  155.  *
  156.  * Revision 1.2  2001/06/21 19:47:37  grichenk
  157.  * Copy constructor and operator=() moved to "private" section
  158.  *
  159.  * Revision 1.1  2001/06/13 14:51:18  grichenk
  160.  * Initial revision - Seq-entry tree structure support
  161.  *
  162.  * ===========================================================================
  163.  */
  164. #endif // OBJECTS_SEQSET_SEQ_ENTRY_HPP
  165. /* Original file checksum: lines: 85, chars: 2245, CRC32: 986b11b7 */