57 static const char* sfxs[] = {
"2nd",
"3rd",
"4th",
"5th",
"6th",
"II",
"III",
"IV",
"Jr.",
"Sr.",
"V",
"VI"};
73 if (pos == string::npos) {
77 while (npos != string::npos) {
82 string suffix =
last.substr(pos + 1);
104 if (!suffix.empty()) {
107 suffix.resize(suffix.length() - 1);
bool ExtractSuffixFromLastName()
static const TSuffixes & GetStandardSuffixes(void)
Get a list of NCBI's standard suffixes.
static void FixSuffix(string &suffix)
~CName_std(void)
destructor
static DLIST_TYPE *DLIST_NAME() last(DLIST_LIST_TYPE *list)
#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 IsBlank(const CTempString str, SIZE_TYPE pos=0)
Check if a string is blank (has no text).
static SIZE_TYPE Find(const CTempString str, const CTempString pattern, ECase use_case=eCase, EDirection direction=eForwardSearch, SIZE_TYPE occurrence=0)
Find the pattern in the string.
static bool EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive equality of a substring with another string.
static bool Equal(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2, ECase use_case=eCase)
Test for equality of a substring with another string.
static string & ReplaceInPlace(string &src, const string &search, const string &replace, SIZE_TYPE start_pos=0, SIZE_TYPE max_replace=0, SIZE_TYPE *num_replace=0)
Replace occurrences of a substring within a string.
bool IsSetSuffix(void) const
Jr, Sr, III Check if a value has been assigned to Suffix data member.
bool IsSetLast(void) const
Check if a value has been assigned to Last data member.
const TSuffix & GetSuffix(void) const
Get the Suffix member data.
TSuffix & SetSuffix(void)
Assign a value to Suffix data member.
TLast & SetLast(void)
Assign a value to Last data member.
#define DEFINE_STATIC_ARRAY_MAP_WITH_COPY(Type, Var, Array)