📄 packed_seqint.cpp
字号:
/* * =========================================================================== * PRODUCTION $Log: Packed_seqint.cpp,v $ * PRODUCTION Revision 1000.2 2004/06/01 19:34:20 gouriano * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R6.6 * PRODUCTION * =========================================================================== *//* $Id: Packed_seqint.cpp,v 1000.2 2004/06/01 19:34:20 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'. */// standard includes// generated includes#include <ncbi_pch.hpp>#include <objects/seqloc/Packed_seqint.hpp>#include <objects/seqloc/Seq_id.hpp>#include <objects/seqloc/Seq_interval.hpp>#include <corelib/ncbiutil.hpp>// generated classesBEGIN_NCBI_SCOPEBEGIN_objects_SCOPE // namespace ncbi::objects::// constructorCPacked_seqint::CPacked_seqint(TId& id, const TRanges& ivals, TStrand strand){ ITERATE(TRanges, ival, ivals) { AddInterval(id, ival->GetFrom(), ival->GetTo(), strand); }}// destructorCPacked_seqint::~CPacked_seqint(void){}// length calculatorTSeqPos CPacked_seqint::GetLength(void) const{ TSeqPos length = 0; ITERATE ( Tdata, i, Get() ) { length += (**i).GetLength(); } return length;}void CPacked_seqint::AddInterval(const CSeq_interval& ival){ CRef<CSeq_interval> new_ival(new CSeq_interval); new_ival->Assign(ival); Set().push_back(new_ival);}void CPacked_seqint::AddInterval(const CSeq_id& id, TSeqPos from, TSeqPos to, ENa_strand strand){ CSeq_interval ival; ival.SetFrom(from); ival.SetTo(to); ival.SetId().Assign(id); if (strand != eNa_strand_unknown) { ival.SetStrand(strand); } AddInterval(ival);}void CPacked_seqint::AddIntervals(const CPacked_seqint& ivals){ AddIntervals(ivals.Get());}void CPacked_seqint::AddIntervals(const Tdata& ivals){ copy(ivals.begin(), ivals.end(), back_inserter(Set()));}END_objects_SCOPE // namespace ncbi::objects::END_NCBI_SCOPE/* * =========================================================================== * * $Log: Packed_seqint.cpp,v $ * Revision 1000.2 2004/06/01 19:34:20 gouriano * PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R6.6 * * Revision 6.6 2004/05/19 17:26:25 gorelenk * Added include of PCH - ncbi_pch.hpp * * Revision 6.5 2004/01/28 17:18:01 shomrat * Added methods to ease the construction of objects * * Revision 6.4 2003/08/11 14:39:13 ucko * +AddInterval; CVS log to end * * Revision 6.3 2003/03/11 15:55:44 kuznets * iterate -> ITERATE * * Revision 6.2 2002/05/03 21:28:17 ucko * Introduce T(Signed)SeqPos. * * Revision 6.1 2000/11/17 21:35:09 vasilche * Added GetLength() method to CSeq_loc class. * * =========================================================================== */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -