1 #ifndef OBJECTS_BIBLIO___CITATION_BASE__HPP
2 #define OBJECTS_BIBLIO___CITATION_BASE__HPP
40 #ifndef BEGIN_objects_SCOPE
41 # define BEGIN_objects_SCOPE BEGIN_SCOPE(objects)
42 # define END_objects_SCOPE END_SCOPE(objects)
62 fLabel_Unique = 1 << 0,
63 fLabel_FlatNCBI = 1 << 1,
64 fLabel_FlatEMBL = 1 << 2,
65 fLabel_ISO_JTA = 1 << 3,
66 fLabel_NoBadCitGen = 1 << 4,
67 fLabel_NoUnpubAffil = 1 << 5,
68 fLabel_Consortia = 1 << 30
83 eLabel_MinVersion = eLabel_V1,
84 eLabel_DefaultVersion = eLabel_V1,
85 eLabel_MaxVersion = eLabel_V2
114 static string FixPages(
const string& orig_pages);
116 static string GetParenthesizedYear(
const CDate& date);
119 {
return s.find_first_not_of(
" \t\n\r") !=
NPOS; }
122 static void MaybeAddSpace(
string*
label);
126 static bool SWNC(
const string&
str,
const string& pfx)
133 static bool x_GetLabelV1(
string*
label,
140 const string* title1 = 0,
141 const string* title2 = 0,
142 const string* titleunique = 0,
143 const string* date = 0,
144 const string* volume = 0,
145 const string* issue = 0,
146 const string* pages = 0,
147 bool unpublished =
false);
@Auth_list.hpp User-defined methods of the data storage class.
Basic citation GetLabel interface, suitable both for actual citation objects such as CCit_* and conta...
virtual ~IAbstractCitation()
virtual bool GetLabel(string *label, TLabelFlags flags=0, ELabelVersion version=eLabel_DefaultVersion) const =0
Append a label to the specified string per the specified flags.
int TLabelFlags
binary OR of ELabelFlags
ELabelFlags
Flags for use by GetLabel methods.
GetLabel interface for actual citation objects, as opposed to mere containers such as CPub.
virtual bool GetLabelV2(string *label, TLabelFlags flags) const =0
virtual bool GetLabelV1(string *label, TLabelFlags flags) const =0
static bool HasText(const string &s)
static bool SWNC(const string &str, const string &pfx)
bool GetLabel(string *label, bool unique) const
static bool HasText(const string *s)
static void MaybeAddSpace(string *label)
Include a standard set of the NCBI C++ Toolkit most basic headers.
static const char * str(char *buf, int n)
string GetLabel(const CSeq_id &id)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static bool EndsWith(const CTempString str, const CTempString end, ECase use_case=eCase)
Check if a string ends with a specified suffix value.
static bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
@ eNocase
Case insensitive compare.
#define NCBI_BIBLIO_EXPORT
static const char label[]
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)