68 const string* titleunique = 0;
98 title, book,
journal, 0, 0, titleunique);
132 *
label +=
"Unpublished " + year;
137 if (title.size() < 3) {
146 *
label +=
" (Eds.);";
156 if (
HasText(volume) && *volume !=
"0") {
157 *
label +=
", Vol. " + *volume;
165 *
label +=
": " + pages;
179 *
label +=
" In press";
User-defined methods of the data storage class.
@Auth_list.hpp User-defined methods of the data storage class.
size_t GetNameCount() const
bool GetLabelV2(string *label, TLabelFlags flags) const override
static bool x_GetLabelV2(string *label, TLabelFlags flags, const CCit_book &book)
bool GetLabelV1(string *label, TLabelFlags flags) const override
const string & GetTitle(C_E::E_Choice type=C_E::e_not_set) const
If the internal list contains a title (of the specified type, if given), returns the corresponding st...
@ 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
@ fLabel_ISO_JTA
Only ISO jnl. title abbrevs. OK [V2].
@ fLabel_FlatNCBI
For GenBank or GenPept [V2].
@ fLabel_Unique
Append a unique tag [V1].
static string GetParenthesizedYear(const CDate &date)
static string FixPages(const string &orig_pages)
Canonicalize a range of page numbers, expanding Medline-style 125-35 -> 125-135, F124-34 -> F124-F134...
static bool HasText(const string &s)
static void NoteSup(string *label, const CImprint &imp)
static bool x_GetLabelV1(string *label, bool unique, const CAuth_list *authors, const CImprint *imprint, const CTitle *title, const CCit_book *book, const CCit_jour *journal, const string *title1=0, const string *title2=0, const string *titleunique=0, const string *date=0, const string *volume=0, const string *issue=0, const string *pages=0, bool unpublished=false)
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 void MaybeAddSpace(string *label)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static string & ToUpper(string &str)
Convert string to upper case – string& version.
static const char label[]
const TTitle & GetTitle(void) const
Get the Title member data.
const TAuthors & GetAuthors(void) const
Get the Authors member data.
const TBook & GetBook(void) const
Get the Book member data.
bool IsSetAuthors(void) const
authors (ANSI requires) Check if a value has been assigned to Authors data member.
const TJournal & GetJournal(void) const
Get the variant data.
const TVolume & GetVolume(void) const
Get the Volume member data.
const TPages & GetPages(void) const
Get the Pages member data.
const TFrom & GetFrom(void) const
Get the From member data.
bool IsSetTitle(void) const
title of paper (ANSI requires) Check if a value has been assigned to Title data member.
const TTitle & GetTitle(void) const
Get the Title member data.
bool CanGetPrepub(void) const
Check if it is safe to call GetPrepub method.
bool CanGetPages(void) const
Check if it is safe to call GetPages method.
TPrepub GetPrepub(void) const
Get the Prepub member data.
const TPub & GetPub(void) const
Get the Pub member data.
const TProc & GetProc(void) const
Get the variant data.
bool CanGetVolume(void) const
Check if it is safe to call GetVolume method.
bool CanGetPub(void) const
Check if it is safe to call GetPub method.
const TDate & GetDate(void) const
Get the Date member data.
const TAuthors & GetAuthors(void) const
Get the Authors member data.
const TImp & GetImp(void) const
Get the Imp member data.
const TBook & GetBook(void) const
Get the variant data.
@ e_not_set
No variant selected.
@ ePrepub_in_press
accepted, not published
@ ePrepub_submitted
submitted, not accepted
CRef< CPub > journal(ParserPtr pp, char *bptr, char *eptr, CRef< CAuth_list > &auth_list, CRef< CTitle::C_E > &title, bool has_muid, CRef< CCit_art > &cit_art, Int4 er)