📄 seq_interval.hpp
字号:
/* * =========================================================================== * PRODUCTION $Log: Seq_interval.hpp,v $ * PRODUCTION Revision 1000.2 2004/06/01 19:30:51 gouriano * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.13 * PRODUCTION * =========================================================================== *//* $Id: Seq_interval.hpp,v 1000.2 2004/06/01 19:30:51 gouriano Exp $ * =========================================================================== * * PUBLIC DOMAIN NOTICE * National Center for Biotechnology Information * * This software/database is a "United States Government Work" under the * terms of the United States Copyright Act. It was written as part of * the author's official duties as a United States Government employee and * thus cannot be copyrighted. This software/database is freely available * to the public for use. The National Library of Medicine and the U.S. * Government have not placed any restriction on its use or reproduction. * * Although all reasonable efforts have been taken to ensure the accuracy * and reliability of the software and data, the NLM and the U.S. * Government do not and cannot warrant the performance or results that * may be obtained by using this software or data. The NLM and the U.S. * Government disclaim all warranties, express or implied, including * warranties of performance, merchantability or fitness for any particular * purpose. * * Please cite the author in any work or product based on this material. * * =========================================================================== * * Author: ....... * * File Description: * ....... * * Remark: * This code was originally generated by application DATATOOL * using specifications from the ASN data definition file * 'seqloc.asn'. * * --------------------------------------------------------------------------- * $Log: Seq_interval.hpp,v $ * Revision 1000.2 2004/06/01 19:30:51 gouriano * PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.13 * * Revision 1.13 2004/05/06 16:54:41 shomrat * Added methods to set partial left and right * * Revision 1.12 2004/01/28 17:15:26 shomrat * Added methods to ease the construction of objects * * Revision 1.11 2003/01/24 20:12:18 vasilche * Reverted CSeq_interval::GetLength() fix for negative strands. * * Revision 1.10 2002/12/26 12:43:42 dicuccio * Added Win32 export specifiers * * Revision 1.9 2002/12/19 20:11:02 grichenk * Fixed GetLength() for minus strand * * Revision 1.8 2002/09/12 21:13:51 kans * IsPartialLeft and IsPartialRight are const * * Revision 1.7 2002/09/12 20:29:55 kans * added member functions IsPartialLeft and IsPartialRight * * Revision 1.6 2002/06/07 11:24:24 clausen * Added related function comment * * Revision 1.5 2002/06/06 20:48:38 clausen * Moved IsValid to objects/util/sequence.hpp * * Revision 1.4 2002/05/03 21:28:04 ucko * Introduce T(Signed)SeqPos. * * Revision 1.3 2002/01/10 18:22:59 clausen * Added IsValid * * Revision 1.2 2001/06/25 18:52:02 grichenk * Prohibited copy constructor and assignment operator * * Revision 1.1 2000/11/17 21:35:02 vasilche * Added GetLength() method to CSeq_loc class. * * * =========================================================================== */#ifndef OBJECTS_SEQLOC_SEQ_INTERVAL_HPP#define OBJECTS_SEQLOC_SEQ_INTERVAL_HPP// generated includes#include <objects/seqloc/Seq_interval_.hpp>// generated classesBEGIN_NCBI_SCOPEBEGIN_objects_SCOPE // namespace ncbi::objects::class NCBI_SEQLOC_EXPORT CSeq_interval : public CSeq_interval_Base{ typedef CSeq_interval_Base Tparent;public: // See also related function in util/sequence.hpp: // // bool IsValid(const CSeq_interval&, CScope*) // // constructor CSeq_interval(void); CSeq_interval(TId& id, TFrom from, TTo to, TStrand strand = eNa_strand_unknown); // destructor ~CSeq_interval(void); // Get the length of the interval TSeqPos GetLength(void) const; // check left (5') or right (3') end of location for e_Lim fuzz bool IsPartialLeft (void) const; bool IsPartialRight (void) const; // set / remove e_Lim fuzz on left (5') or right (3') end void SetPartialLeft (bool val); void SetPartialRight(bool val); private: // Prohibit copy constructor & assignment operator CSeq_interval(const CSeq_interval&); CSeq_interval& operator= (const CSeq_interval&); bool x_IsMinusStrand(void) const;};/////////////////// CSeq_interval inline methods// constructorinlineCSeq_interval::CSeq_interval(void){}inlineCSeq_interval::CSeq_interval(TId& id, TFrom from, TTo to, TStrand strand){ SetId(id); SetFrom(from); SetTo(to); if ( strand != eNa_strand_unknown ) { SetStrand(strand); }}// length returninlineTSeqPos CSeq_interval::GetLength(void) const{ return ((GetTo() - GetFrom()) + 1);}/////////////////// end of CSeq_interval inline methodsEND_objects_SCOPE // namespace ncbi::objects::END_NCBI_SCOPE#endif // OBJECTS_SEQLOC_SEQ_INTERVAL_HPP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -