validerror_descr.cpp

来自「ncbi源码」· C++ 代码 · 共 198 行

CPP
198
字号
/* * =========================================================================== * PRODUCTION $Log: validerror_descr.cpp,v $ * PRODUCTION Revision 1000.1  2004/06/01 19:48:00  gouriano * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.7 * PRODUCTION * =========================================================================== *//*  $Id: validerror_descr.cpp,v 1000.1 2004/06/01 19:48:00 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:  Jonathan Kans, Clifford Clausen, Aaron Ucko...... * * File Description: *   validation of seq_descr *   ....... * */#include <ncbi_pch.hpp>#include <corelib/ncbistd.hpp>#include "validatorp.hpp"#include <serial/iterator.hpp>#include <objects/seq/Seqdesc.hpp>#include <objects/seq/Seq_descr.hpp>BEGIN_NCBI_SCOPEBEGIN_SCOPE(objects)BEGIN_SCOPE(validator)CValidError_descr::CValidError_descr(CValidError_imp& imp) :    CValidError_base(imp){}CValidError_descr::~CValidError_descr(void){}void CValidError_descr::ValidateSeqDescr(const CSeq_descr& descr){    size_t  num_sources = 0,            num_titles = 0;    CConstRef<CSeqdesc> last_source,                        last_title;    ITERATE ( CSeq_descr::Tdata, dt, descr.Get() ) {        const CSeqdesc& desc = **dt;        switch ( desc.Which() ) {        case CSeqdesc::e_Mol_type:        case CSeqdesc::e_Modif:        case CSeqdesc::e_Method:            // obsolete            break;        case CSeqdesc::e_Name:            break;        case CSeqdesc::e_Title:            num_titles++;            last_title = &desc;            break;                case CSeqdesc::e_Comment:            break;        case CSeqdesc::e_Num:            break;        case CSeqdesc::e_Maploc:            break;        case CSeqdesc::e_Pir:            break;        case CSeqdesc::e_Genbank:            break;        case CSeqdesc::e_Pub:            break;        case CSeqdesc::e_Region:            break;        case CSeqdesc::e_User:            break;        case CSeqdesc::e_Sp:            break;        case CSeqdesc::e_Dbxref:            break;        case CSeqdesc::e_Embl:            break;        case CSeqdesc::e_Create_date:            break;        case CSeqdesc::e_Update_date:            break;        case CSeqdesc::e_Prf:            break;        case CSeqdesc::e_Pdb:            break;        case CSeqdesc::e_Het:            break;        case CSeqdesc::e_Source:            num_sources++;            last_source = &desc;            break;        case CSeqdesc::e_Org:            break;        case CSeqdesc::e_Molinfo:            break;        default:            break;        }    }    if ( num_sources > 1 ) {        PostErr(eDiag_Error, eErr_SEQ_DESCR_MultipleBioSources,            "Undesired multiple source descriptors (reporting last one)", *last_source);    }    if ( num_titles > 1 ) {        PostErr(eDiag_Error, eErr_SEQ_DESCR_MultipleTitles,            "Multiple Title blocks (reporting last one)", *last_title);    }}END_SCOPE(validator)END_SCOPE(objects)END_NCBI_SCOPE/** ===========================================================================** $Log: validerror_descr.cpp,v $* Revision 1000.1  2004/06/01 19:48:00  gouriano* PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.7** Revision 1.7  2004/05/21 21:42:56  gorelenk* Added PCH ncbi_pch.hpp** Revision 1.6  2003/06/16 21:17:44  shomrat* Changed error messages** Revision 1.5  2003/03/31 14:40:19  shomrat* $id: -> $id$** Revision 1.4  2003/03/11 16:04:09  kuznets* iterate -> ITERATE** Revision 1.3  2003/02/12 17:58:05  shomrat* Addition of descriptor types in switch statement for future use** Revision 1.2  2002/12/24 16:53:43  shomrat* Changes to include directives** Revision 1.1  2002/12/23 20:16:26  shomrat* Initial submission after splitting former implementation*** ===========================================================================*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?