NCBI C++ ToolKit
Medline_entry.cpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: Medline_entry.cpp 72031 2016-04-12 18:56:44Z grichenk $
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
6  *
7  * This software/database is a "United States Government Work" under the
8  * terms of the United States Copyright Act. It was written as part of
9  * the author's official duties as a United States Government employee and
10  * thus cannot be copyrighted. This software/database is freely available
11  * to the public for use. The National Library of Medicine and the U.S.
12  * Government have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  * Author: .......
27  *
28  * File Description:
29  * .......
30  *
31  * Remark:
32  * This code was originally generated by application DATATOOL
33  * using specifications from the ASN data definition file
34  * 'medline.asn'.
35  */
36 
37 // standard includes
38 
39 // generated includes
40 #include <ncbi_pch.hpp>
43 
44 // generated classes
45 
47 
48 BEGIN_objects_SCOPE // namespace ncbi::objects::
49 
50 // destructor
52 {
53 }
54 
55 
57 {
58  // Add Medline specific label, then treat as cit-art
59  if ( IsSetPmid() ) {
60  *label += "PM" + NStr::NumericToString(GetPmid().Get());
61  }
62  else if ( IsSetUid() ) {
63  *label += "NLM" + NStr::NumericToString(GetUid());
64  }
65  else {
66  *label += "No Medline found";
67  }
68  *label += " ";
69  // GetCit().GetLabelV1(label, flags);
71  return true;
72 }
73 
74 
76 {
77  return GetCit().GetLabel(label, flags, eLabel_V2);
78 }
79 
80 
81 END_objects_SCOPE // namespace ncbi::objects::
82 
84 
85 /* Original file checksum: lines: 61, chars: 1900, CRC32: 7e2163ea */
bool GetLabelV1(string *label, TLabelFlags flags) const override
~CMedline_entry(void)
bool GetLabelV2(string *label, TLabelFlags flags) const override
@ eLabel_V1
Traditional GetLabel semantics, modeled on the C Toolkit's PubLabelUnique.
@ eLabel_V2
New implementation, in line with GenBank/GenPept REFERENCE JOURNAL fields and the like.
int TLabelFlags
binary OR of ELabelFlags
bool GetLabel(string *label, TLabelFlags flags=0, ELabelVersion version=eLabel_DefaultVersion) const override
Append a label to the specified string per the specified flags.
static uch flags
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
static enable_if< is_arithmetic< TNumeric >::value||is_convertible< TNumeric, Int8 >::value, string >::type NumericToString(TNumeric value, TNumToStringFlags flags=0, int base=10)
Convert numeric value to string.
Definition: ncbistr.hpp:673
static const char label[]
const TCit & GetCit(void) const
Get the Cit member data.
TUid GetUid(void) const
Get the Uid member data.
bool IsSetPmid(void) const
MEDLINE records may include the PubMedId Check if a value has been assigned to Pmid data member.
const TPmid & GetPmid(void) const
Get the Pmid member data.
bool IsSetUid(void) const
MEDLINE UID, sometimes not yet available if from PubMed Check if a value has been assigned to Uid dat...
const TYPE & Get(const CNamedParameterList *param)
Modified on Sat Dec 09 04:47:02 2023 by modify_doxy.py rev. 669887