- /*
- * ===========================================================================
- * PRODUCTION $Log: Patent_seq_id.cpp,v $
- * PRODUCTION Revision 1000.1 2004/06/01 19:34:26 gouriano
- * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R6.9
- * PRODUCTION
- * ===========================================================================
- */
- /* $Id: Patent_seq_id.cpp,v 1000.1 2004/06/01 19:34:26 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: Patent_seq_id.cpp,v $
- * Revision 1000.1 2004/06/01 19:34:26 gouriano
- * PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R6.9
- *
- * Revision 6.9 2004/05/19 17:26:25 gorelenk
- * Added include of PCH - ncbi_pch.hpp
- *
- * Revision 6.8 2003/02/06 22:23:29 vasilche
- * Added CSeq_id::Assign(), CSeq_loc::Assign().
- * Added int CSeq_id::Compare() (not safe).
- * Added caching of CSeq_loc::GetTotalRange().
- *
- * Revision 6.7 2001/08/31 16:03:58 clausen
- * Removed upper casing.
- *
- * Revision 6.6 2000/12/29 18:11:41 ostell
- * added Upcase
- *
- * Revision 6.5 2000/12/26 17:28:55 vasilche
- * Simplified and formatted code.
- *
- * Revision 6.4 2000/12/08 22:19:45 ostell
- * changed MakeFastString to AsFastaString and to use ostream instead of string
- *
- * Revision 6.3 2000/12/08 20:45:15 ostell
- * added MakeFastaString()
- *
- * Revision 6.2 2000/11/30 21:56:25 ostell
- * added Match()
- *
- * Revision 6.1 2000/11/30 18:39:27 ostell
- * added Textseq_id.Match
- *
- * ===========================================================================
- */
- #include <ncbi_pch.hpp>
- #include <objects/seqloc/Patent_seq_id.hpp>
- #include <objects/biblio/Id_pat.hpp>
- BEGIN_NCBI_SCOPE
- BEGIN_objects_SCOPE // namespace ncbi::objects::
- // destructor
- CPatent_seq_id::~CPatent_seq_id(void)
- {
- return;
- }
- // comparison function
- bool CPatent_seq_id::Match(const CPatent_seq_id& psip2) const
- {
- return GetSeqid() == psip2.GetSeqid() && GetCit().Match(psip2.GetCit());
- }
- int CPatent_seq_id::Compare(const CPatent_seq_id& psip2) const
- {
- int ret = GetSeqid() - psip2.GetSeqid();
- if ( ret == 0 ) {
- ret = GetCit().Match(psip2.GetCit())? 0: this < &psip2? -1: 1;
- }
- return ret;
- }
- // format a FASTA style string
- ostream& CPatent_seq_id::AsFastaString(ostream& s) const
- {
- const CId_pat& idp = GetCit();
- s << idp.GetCountry() << '|'; // no Upcase per Ostell - Karl 7/2001
- if ( idp.GetId().IsNumber() ) {
- s << idp.GetId().GetNumber();
- } else {
- s << idp.GetId().GetApp_number();
- }
- s << '|' << GetSeqid();
- return s;
- }
- END_objects_SCOPE // namespace ncbi::objects::
- END_NCBI_SCOPE