📄 pub.cpp
字号:
/* * =========================================================================== * PRODUCTION $Log: Pub.cpp,v $ * PRODUCTION Revision 1000.3 2004/06/01 19:32:57 gouriano * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R6.7 * PRODUCTION * =========================================================================== *//* $Id: Pub.cpp,v 1000.3 2004/06/01 19:32:57 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 * 'pub.asn'. */#include <ncbi_pch.hpp>#include <objects/pub/Pub.hpp>#include <objects/pub/Pub_equiv.hpp>#include <objects/biblio/PubMedId.hpp>#include <objects/biblio/Cit_art.hpp>#include <objects/biblio/Cit_jour.hpp>#include <objects/biblio/Cit_book.hpp>#include <objects/biblio/Cit_proc.hpp>#include <objects/biblio/Cit_let.hpp>#include <objects/biblio/Cit_sub.hpp>#include <objects/biblio/Cit_pat.hpp>#include <objects/biblio/Id_pat.hpp>#include <objects/biblio/Cit_gen.hpp>#include <objects/medline/Medline_entry.hpp>// generated classesBEGIN_NCBI_SCOPEBEGIN_objects_SCOPE // namespace ncbi::objects::// destructorCPub::~CPub(void){}// Appends a label to "label"void CPub::GetLabel(string* label, ELabelType type, bool unique) const{ static const char* s_PubTypes[14] = { "Unknown", "Generic", "Submit", "Medline", "MUID", "Article", "Journal", "Book", "Proceedings", "Patent", "PatID", "Manuscript", "Equiv", "PMID" }; // Check that label exists if (!label) { return; } // Get the index into the s_PubTypes array corresponding to pub type int idx = static_cast<int>(Which()); idx = idx >= 0 && idx < 14 ? idx : 0; if (type == eType) { // Append pub type to label and return *label += s_PubTypes[idx]; return; } if (type == eBoth) { // Append pub type to label *label += string(s_PubTypes[idx]) + ": "; } switch (Which()) { case e_Muid: *label += "NLM" + NStr::IntToString(GetMuid()); break; case e_Pmid: *label += "PM" + NStr::IntToString(GetPmid().Get()); break; case e_Equiv: GetEquiv().GetLabel(label); break; case e_Medline: GetMedline().GetLabel(label, unique); break; case e_Article: GetArticle().GetLabel(label, unique); break; case e_Journal: GetJournal().GetLabel(label); break; case e_Book: GetBook().GetLabel(label); break; case e_Proc: GetProc().GetLabel(label); break; case e_Man: GetMan().GetLabel(label); break; case e_Sub: GetSub().GetLabel(label); break; case e_Patent: GetPatent().GetLabel(label); break; case e_Pat_id: { GetPat_id().GetLabel(label); break; } case e_Gen: GetGen().GetLabel(label, unique); break; default: break; }}END_objects_SCOPE // namespace ncbi::objects::END_NCBI_SCOPE/* * =========================================================================== * $Log: Pub.cpp,v $ * Revision 1000.3 2004/06/01 19:32:57 gouriano * PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R6.7 * * Revision 6.7 2004/05/19 17:24:52 gorelenk * Added include of PCH - ncbi_pch.hpp * * Revision 6.6 2004/02/24 15:53:48 grichenk * Redesigned GetLabel(), moved most functionality from pub to biblio * * Revision 6.5 2003/11/21 14:45:02 grichenk * Replaced runtime_error with CException * * Revision 6.4 2002/07/11 18:20:27 ucko * Move include of Pub.hpp to top and CVS log to bottom. * * Revision 6.3 2002/06/30 03:24:52 vakatov * Get rid of warnings caused by constless char* initialization * * Revision 6.2 2002/01/12 07:33:28 vakatov * Get rid of unused variables (in CATCH()) * * Revision 6.1 2002/01/10 19:38:00 clausen * Added GetLabel * * =========================================================================== *//* Original file checksum: lines: 61, chars: 1862, CRC32: d27bbf43 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -