,
94 "to the EMBL/DDBJ/GenBank databases",
95 "to the DDBJ/GenBank/EMBL databases",
96 "to the DDBJ/EMBL/GenBank databases",
97 "to the GenBank/DDBJ/EMBL databases",
98 "to the GenBank/EMBL/DDBJ databases",
105 "Publication Status: Online-Only",
106 "Publication Status : Online-Only",
107 "Publication_Status: Online-Only",
108 "Publication_Status : Online-Only",
109 "Publication-Status: Online-Only",
110 "Publication-Status : Online-Only",
112 "Publication Status: Available-Online",
113 "Publication Status : Available-Online",
114 "Publication_Status: Available-Online",
115 "Publication_Status : Available-Online",
116 "Publication-Status: Available-Online",
117 "Publication-Status : Available-Online",
118 "Publication Status: Available-Online prior to print",
119 "Publication Status : Available-Online prior to print",
120 "Publication_Status: Available-Online prior to print",
121 "Publication_Status : Available-Online prior to print",
122 "Publication-Status: Available-Online prior to print",
123 "Publication-Status : Available-Online prior to print",
130 for(
size_tpos = 0; pos < comment.size();) {
131pos = comment.find(
"; ", pos);
132 if(pos == string::npos)
137 for(
size_t i= pos;
i< comment.size(); ++
i) {
138 charc = comment[
i];
139 if(c ==
' '|| c ==
';')
145comment.erase(pos,
n);
167 const char*
months[12] = {
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"};
170 for(cal = 0; cal < 12; cal++) {
178 if(year < 1900 || year > 1994) {
210 if(
b< e &&
str[e - 1] ==
';')
212 while(
b< e && (
str[
b] ==
'\"'||
str[
b] ==
'\''))
214 while(
b< e && (
str[e - 1] ==
'\"'||
str[e - 1] ==
'\''))
248 for(p += 8; *p ==
' ';)
277 for(q = p; *q !=
' '&& *q !=
'\0';)
297 for(p += 7; *p ==
' ';)
331 while(*q ==
' '|| *q ==
'\t')
333 for(
r= q; *
r>=
'0'&& *
r<=
'9';)
336 if(
r== q || *
r!=
'\0')
341 if(*p !=
' '&& *p !=
'\t'&& *p !=
','&& *p !=
';'&& *p !=
'.')
344 while(*p ==
' '|| *p ==
'\t'|| *p ==
','|| *p ==
';'|| *p ==
'.') {
349 if(*p !=
' '&& *p !=
'\t'&& *p !=
','&& *p !=
';'&& *p !=
'.')
419 for(s = bptr +
len; *s ==
' ';)
423 for(country = s, q = s;
isalpha((
int)*s) || *s ==
' '; s++)
438 for(
number= s, q = s;
isdigit((
int)*s) != 0 || *s ==
','; s++)
453 for(
type= s; *s !=
' '&& *s !=
'/'&& *s !=
'\0';)
467 for(app = s, q = s; *s >=
'0'&& *s <=
'9';)
469 if(*s !=
'\0'&& *s !=
','&& *s !=
'.'&& *s !=
' '&& *s !=
';'&&
475}
else if(*s !=
'\0')
476 for(*s++ =
'\0'; *s ==
' ';)
484 if(std_date.
Empty()) {
500cit_pat->SetCountry(country);
501cit_pat->SetNumber(
msg);
503cit_pat->SetDoc_type(
type?
type:
"");
504cit_pat->SetDate_issue().SetStd(*std_date);
505cit_pat->SetTitle(title.
Empty() ?
"": title->GetName());
508 CAuth_list& pat_auth_list = cit_pat->SetAuthors();
509pat_auth_list.
SetNames().SetStr().push_back(
"");
511cit_pat->SetAuthors(*auth_list);
517 if(s < eptr && *s !=
'\0')
525ibp->
psip->SetCit().SetCountry(country);
526ibp->
psip->SetCit().SetId().SetNumber(
msg);
529ibp->
psip->SetCit().SetDoc_type(
type);
547 if(! parts || *parts ==
'\0')
550 for(p = parts,
i= 0, j = 0; *p !=
'\0'; p++) {
556 if(j >
i||
i- j > 1)
560 if(*p !=
'\0'||
i< 2)
566 for(p = start + 1; *p ==
' ';)
571 for(q = end - 1; *q ==
' '&& q > p;)
599 if(! bptr || ! eptr)
602parts =
StringSave(string_view(bptr, eptr - bptr));
604 for(p = parts; *p !=
'\0'; p++)
629 for(p = q; *p ==
' ';)
631 for(q = p; *q !=
'\0'&& *q !=
' ';)
637 for(p = q; *p ==
' ';)
639 for(q = p; *q !=
'\0';)
642 for(q--; *q ==
' ';)
653(issue_str[0] ==
'P'|| issue_str[0] ==
'p') && (issue_str[1] ==
'T'|| issue_str[1] ==
't') &&
654issue_str[2] ==
'\0') {
661 for(p = parts; *p ==
' ';)
663 for(q = p; *q !=
'\0'&& *q !=
' ';)
669 for(p = q; *p ==
' ';)
671 for(q = p; *q !=
'\0';)
674 for(q--; *q ==
' ';)
700 char* tit =
nullptr;
701 char* volume =
nullptr;
702 char* pages =
nullptr;
731end_volume =
nullptr;
734unique_ptr<char[]> pBuf(
new char[
len+ 1]);
735 char*
buf= pBuf.get();
738 while(eptr >
buf&& (*eptr ==
' '|| *eptr ==
'\t'|| *eptr ==
'.'))
743 for(s = eptr - 1; s >
buf&& *s !=
'(';)
750 for(s--; s >=
buf&&
isspace((
int)*s) != 0;)
755 if(
buf[0] ==
'G'&&
buf[1] ==
'3')
759 for(
i= 0; ss <= year; ss++) {
762 else if(*ss ==
')')
764 else if(*ss >=
'0'&& *ss <=
'9'&&
i== 0)
768 for(s = end_pages; s >=
buf&& *s != symbol;)
786 for(s = end_pages; s >=
buf&& *s != symbol;)
792 if(*s == symbol && ss != year) {
796 for(pages = s + 1;
isspace(*pages) != 0;)
799 if(end_volume > ss) {
801 if(*end_tit ==
'(')
838 else if(
i== -1 && is_er > 0) {
846 if(!
get_parts(volume, end_volume, imp)) {
867 if(date.
Empty()) {
879 for(
char* aux = end_tit - 1; aux > tit && *aux !=
'.'&& *aux !=
')'&& !
isalnum(*aux); --aux)
883 journal.SetTitle().Set().push_back(journal_title);
889 if((is_er & 01) == 01) {
913cit_art->
SetTitle().Set().push_back(title);
938 for(s = bptr; *s !=
'\0'&& *s !=
'(';)
945 if(s < eptr && *s !=
'\0'&& auth_list.
NotEmpty())
948cit_gen->SetCit(
string(bptr,
str+ 1));
952cit_gen->SetAuthors(*auth_list);
955cit_gen->SetTitle(title);
981 boolIS_AUTH =
false;
1010cit_book.
SetImp().SetPrepub(pre);
1016 for(s = tbptr + 4; *s ==
' ';)
1018 for(bptr = s; *s !=
';'&& *s !=
'('&& *s !=
'\0';)
1026}
else if(*s ==
';')
1029 while(*tit ==
' '|| *tit ==
';'|| *tit ==
'\n')
1032 if(IS_AUTH && *bptr !=
'\0') {
1034 get_auth(bptr, ref_fmt, jour, book_auth_list);
1048 for(ss = tit; *ss !=
'\0';)
1050 for(s = ss; *s !=
':'&& s != tit;)
1058book_title->SetName(
"");
1059 if(*tit !=
'\0') {
1062cit_book.
SetImp().SetVolume(volume);
1068 for(pages = s; *s !=
'\0'&& *s !=
','&& *s !=
';';)
1073 while(*pages ==
' ')
1085 stringnew_title = book_title->GetName();
1088book_title->SetName(new_title);
1093 for(press = s; *s !=
'('&& *s !=
'\0';)
1101 if(date.
Empty()) {
1111cit_book.
SetImp().SetDate(*date);
1114cit_book.
SetTitle().Set().push_back(book_title);
1117cit_art->
SetTitle().Set().push_back(title);
1146book.
SetImp().SetPrepub(pre);
1149 for(s = bptr; *s !=
'\0'&& *s !=
'(';)
1155book.
SetImp().SetDate(*date);
1171book.
SetTitle().Set().push_back(title);
1176empty_title->SetName(
"");
1177book.
SetTitle().Set().push_back(empty_title);
1201 for(bptr += 5;
isspace(*bptr) != 0;)
1205 for(s = bptr; *s !=
'\0'&& *s !=
'(';)
1216cit_book->
SetImp().SetPrepub(pre);
1220cit_book->
SetImp().SetDate(*date);
1223 for(s = bptr; *s !=
'\0'&& *s !=
'.';)
1227book_title->SetName(
string(bptr, s));
1228cit_book->
SetTitle().Set().push_back(book_title);
1264 for(s = bptr; *s !=
'('&& *s !=
'\0';)
1277 isdigit((
int)*(s + 1)) == 0) {
1283date->
SetStd(*std_date);
1299 for(s += 8; *s !=
'\0'&& *s !=
':';)
1302 if(*s !=
'\0'&& *(s + 1) !=
'\0') {
1312 for(s += l_str; *s ==
' '|| *s ==
'.';)
1321 if(*s !=
'\0'&& auth_list.
NotEmpty()) {
1362 for(s = bptr; *s !=
'('&& *s !=
'\0';)
1370 if(std_date.
Empty())
1374date->
SetStd(*std_date);
1386 const Char* s = title->GetName().c_str();
1387 size_tl_str =
StringLen(
"Published by");
1388 if(
StringEquN(s,
"Published by", l_str)) {
1423 for(p++; *p ==
' '|| *p ==
'\t';)
1425 for(q = p; *p >=
'0'&& *p <=
'9';)
1427 for(
r= p; *p ==
' '|| *p ==
'\t'|| *p ==
')';)
1429 if(*p ==
'\n'|| *p ==
'\0') {
1436 for(q--; *q ==
' '|| *q ==
'\t'|| *q ==
'(';)
1446cit_gen->SetCit(bptr);
1448cit_gen->SetAuthors(*auth_list);
1449cit_gen->SetTitle(title->GetName());
1452cit_gen->SetDate().SetStd().SetYear(year);
1469 const Char* title_str = title.
Empty() ?
nullptr: title->GetName().c_str();
1478 while(*nearend ==
' '|| *nearend ==
'\t'|| *nearend ==
'.')
1485*(nearend + 1) =
'\0';
1491 if(pre == 0 && *end ==
'('&&
isdigit(*(end + 1)) != 0) {
1492 for(nearend = end - 1; nearend > bptr && *nearend !=
' ';)
1496*(nearend + 1) =
'\0';
1501 if(my_len >= 6 && *p ==
'(') {
1512 const Char* title_str = title.
Empty() ?
nullptr: title->GetName().c_str();
1519 if(article.
Empty())
1528 if(cit_let.
Empty()) {
1537 if(cit_sub.
Empty()) {
1548 if(cit_sub.
Empty()) {
1564 if(cit_pat.
Empty()) {
1578 if(book.
Empty()) {
1588 if(cit_gen.
Empty()) {
1599 if(cit_gen.
Empty()) {
1613 if(new_art.
Empty()) {
1614 if(! all_zeros && !
fta_StartsWith(bptr,
"(er)"sv) && er == 0)
1629 if(! pchStart || ! pchCurrent || pchStart >= pchCurrent)
1632 for(pchCurrent--; pchCurrent >= pchStart; pchCurrent--) {
1633 if(
isspace((
int)*pchCurrent) != 0)
1635 if(*pchCurrent ==
';')
1636 return(pchCurrent);
1646 if(!
str|| *
str==
'\0')
1662 char* pchNumber =
nullptr;
1677pchNumber = end + 1;
1680pchNumber = end + 1;
1690 for(p = comm; *p ==
' '|| *p ==
'\t'|| *p ==
'\n';)
1701 if(! entry || xil.empty())
1704 for(
const auto& xip : xil) {
1705 if(xip.subtags.empty())
1710 for(
const auto& xipqual : xip.subtags) {
1718quals.push_back(qual);
1725 if(doi.empty() && agricola.empty())
1731 if(! agricola.empty()) {
1733 id->SetOther().SetDb(
"AGRICOLA");
1734 id->SetOther().SetTag().SetStr(agricola);
1736cit_art.
SetIds().Set().push_front(
id);
1739 if(! doi.empty()) {
1741 id->SetDoi().Set(doi);
1743cit_art.
SetIds().Set().push_front(
id);
1787 if(p &&
isdigit((
int)*p) != 0) {
1788desc->SetPub().Set().push_back(
get_num(p));
1817 if(! q || q[1] !=
'\0') {
1825 for(q = p; *q ==
' '|| *q ==
'.'|| *q ==
',';)
1839 for(q = p; *q ==
' '|| *q ==
'.'|| *q ==
',';)
1856*p !=
'\0'&& *p !=
';') {
1858 if(! title.empty()) {
1873 if(*p ==
'\0'|| *p ==
';') {
1888desc->SetComment(comm);
1896 if(cit_art.
Empty())
1903desc->SetPub().Set().push_back(pub);
1910 for(
const auto& xip : dbp.
GetXmlData()) {
1917 for(
const auto& xref : xrefs) {
1918 if(! xref->IsSetQual())
1922agricola = xref->GetVal();
1924doi = xref->GetVal();
1929 if(pub_ref.
Empty()) {
1937desc->SetPub().Set().push_back(pub_ref);
1958p = dbp.
mBuf.
ptr+ col_data;
1962 if(*p >=
'0'&& *p <=
'9')
1963desc->SetPub().Set().push_back(
get_num(p));
1977 if(*p < '0' || *p >
'9')
1987desc->SetPub().Set().push_back(
get_num(p));
2001 for(q = p; *q ==
' '|| *q ==
'.'|| *q ==
',';)
2014 for(q = p; *q ==
' '|| *q ==
'.'|| *q ==
',';)
2028*p !=
'\0'&& *p !=
';') {
2030 if(! title.empty()) {
2045 if(*p ==
'\0'|| *p ==
';') {
2059desc->SetComment(comm);
2074desc->SetPub().Set().push_back(pub);
2079 if(pub_ref.
Empty()) {
2087desc->SetPub().Set().push_back(pub_ref);
2115p = dbp.
mBuf.
ptr+ col_data;
2116 while((*p < '0' || *p >
'9') && dbp.
mBuf.
len> 0)
2118 if(*p >=
'0'&& *p <=
'9')
2119desc->SetPub().Set().push_back(
get_num(p));
2153desc->SetPub().Set().push_back(pub);
2166 for(q = p; *q ==
' '|| *q ==
'.'|| *q ==
',';)
2182 for(q = p; *q ==
' '|| *q ==
'.'|| *q ==
',';)
2195 if(*p !=
'\0'&& *p !=
';') {
2197 if(! title.empty()) {
2212 if(*p ==
'\0'|| *p ==
';') {
2229desc->SetPub().Set().push_back(pub);
2234 if(pub_ref.
Empty()) {
2244desc->SetPub().Set().push_back(pub_ref);
2252 for(TPubList::iterator pub = pubs.begin(); pub != pubs.end(); ++pub) {
2253TPubList::iterator next_pub = pub;
2254 for(++next_pub; next_pub != pubs.end(); ++next_pub) {
2255 if((*next_pub)->Which() > (*pub)->Which())
2258 if((*next_pub)->Which() == (*pub)->Which()) {
2259 if(! (*pub)->IsMuid() || (*pub)->GetMuid() >= (*next_pub)->GetMuid())
2263pub->Swap(*next_pub);
2271 static const size_tMAX_LAST_NAME_LEN = 30;
2279 if(! author->IsSetName() || ! author->GetName().IsName())
2282 const CName_std& name = author->GetName().GetName();
2294 FtaErrPost(sev,
ERR_REFERENCE_LongAuthorName,
"Last name of author exceeds 30 characters in length. A format error in the reference data might have caused the author name to be parsed incorrectly. Name is \"{}\".", name.
GetLast());
2327}
else if(pub.
IsSub())
2329 if(! soft_report) {
2350 else if(pub.
IsProc()) {
2374 for(
const auto& cur_pub : pub.
GetEquiv().
Get()) {
2387 for(
auto& pub : pub_equiv.
Set()) {
2389muid = pub->GetMuid();
2391pmid = pub->GetPmid().Get();
2392 else if(pub->IsArticle() && ! cit_art)
2393cit_art = &pub->SetArticle();
2401 id->SetMedline().Set(muid);
2402cit_art->
SetIds().Set().push_front(
id);
2407 id->SetPubmed().Set(pmid);
2408cit_art->
SetIds().Set().push_front(
id);
2423 boolsoft_report =
false;
2426 boolno_auth =
false;
2429soft_report =
true;
2434desc =
sp_refs(pp, dbp, col_data);
2436desc =
XMLRefs(pp, dbp, no_auth, rej);
2438desc =
gb_refs_common(pp, dbp, col_data,
true,
nullptr, no_auth);
2440desc =
embl_refs(pp, dbp, col_data, no_auth);
2442 if(desc && desc->IsSetComment()) {
2460 if(desc.
NotEmpty() && desc->IsSetPub()) {
2463 for(
const auto& pub : desc->GetPub().Get()) {
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
char * StringRStr(char *where, const char *what)
string tata_save(string_view t)
void ShrinkSpaces(char *line)
@Affil.hpp User-defined methods of the data storage class.
@Auth_list.hpp User-defined methods of the data storage class.
@Gb_qual.hpp User-defined methods of the data storage class.
@Name_std.hpp User-defined methods of the data storage class.
@Pubdesc.hpp User-defined methods of the data storage class.
const TXmlIndexList & GetXmlData() const
struct DataBlk::@1166 mBuf
#define ERR_FORMAT_MultiplePatRefs
#define ERR_REFERENCE_Illegalreference
#define ERR_REFERENCE_InvalidInPress
#define ERR_REFERENCE_GsdbRefDropped
#define ERR_REFERENCE_Fail_to_parse
#define ERR_REFERENCE_LongAuthorName
#define ERR_REFERENCE_NoContactInfo
#define ERR_REFERENCE_MissingAuthors
#define ERR_REFERENCE_UnusualBookFormat
#define ERR_REFERENCE_Thesis
#define ERR_REFERENCE_IllegalDate
#define ERR_REFERENCE_InvalidMuid
#define INSDREFERENCE_REMARK
unique_ptr< string > XMLFindTagValue(const char *entry, const TXmlIndexList &xil, Int4 tag)
#define INSDREFERENCE_PUBMED
unique_ptr< string > XMLGetTagValue(const char *entry, const XmlIndex &xip)
#define INSDREFERENCE_AUTHORS
#define INSDREFERENCE_XREF
unique_ptr< string > XMLConcatSubTags(const char *entry, const TXmlIndexList &xil, Int4 tag, Char sep)
#define INSDREFERENCE_TITLE
#define INSDREFERENCE_JOURNAL
#define INSDREFERENCE_MEDLINE
#define INSDREFERENCE_CONSORTIUM
#define INSDREFERENCE_REFERENCE
std::list< CRef< objects::CPub > > TPubList
forward_list< XmlIndex > TXmlIndexList
int fta_atoi(string_view sv)
bool fta_StartsWith(const char *s1, string_view s2)
bool StringEquNI(const char *s1, const char *s2, size_t n)
bool StringEquN(const char *s1, const char *s2, size_t n)
void StringCpy(char *d, const char *s)
size_t StringLen(const char *s)
char * StringRChr(char *s, const char c)
#define FtaErrPost(sev, level,...)
CRef< CCit_art > FetchPubPmId(TEntrezId pmid)
static const char * str(char *buf, int n)
SStrictId_Entrez::TId TEntrezId
TEntrezId type for entrez ids which require the same strictness as TGi.
#define ENTREZ_ID_FROM(T, value)
void Reset(void)
Reset reference object.
bool NotEmpty(void) const THROWS_NONE
Check if CRef is not empty â pointing to an object and has a non-null value.
bool Empty(void) const THROWS_NONE
Check if CRef is empty â not pointing to any object, which means having a null value.
int16_t Int2
2-byte (16-bit) signed integer
int32_t Int4
4-byte (32-bit) signed integer
char Char
Alias for char.
uint16_t Uint2
2-byte (16-bit) unsigned integer
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static int StringToInt(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to int.
static bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
static string Sanitize(CTempString str, TSS_Flags flags=fSS_print)
Sanitize a string, allowing only specified classes of characters.
static bool EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive equality of a substring with another string.
@ fAllowTrailingSymbols
Ignore trailing non-numerics characters.
@ eNocase
Case insensitive compare.
bool IsProc(void) const
Check if variant Proc is selected.
bool IsSetVolume(void) const
Check if a value has been assigned to Volume data member.
const TAuthors & GetAuthors(void) const
Get the Authors member data.
const TPart_supi & GetPart_supi(void) const
Get the Part_supi member data.
const TCit & GetCit(void) const
Get the Cit member data.
void SetPages(const TPages &value)
Assign a value to Pages data member.
void SetIds(TIds &value)
Assign a value to Ids data member.
const TBook & GetBook(void) const
Get the Book member data.
bool IsSetAuthors(void) const
Check if a value has been assigned to Authors data member.
bool IsSetAuthors(void) const
authors (ANSI requires) Check if a value has been assigned to Authors data member.
void SetTitle(TTitle &value)
Assign a value to Title data member.
void SetDate(TDate &value)
Assign a value to Date data member.
bool IsSetPrepub(void) const
Check if a value has been assigned to Prepub data member.
const TFrom & GetFrom(void) const
Get the From member data.
bool IsSetApplicants(void) const
Applicants Check if a value has been assigned to Applicants data member.
const TAuthors & GetAuthors(void) const
Get the Authors member data.
bool IsSetAssignees(void) const
Assignees Check if a value has been assigned to Assignees data member.
void SetIssue(const TIssue &value)
Assign a value to Issue data member.
void SetTitle(TTitle &value)
Assign a value to Title data member.
const TAuthors & GetAuthors(void) const
Get the Authors member data.
void SetFrom(TFrom &value)
Assign a value to From data member.
const TIssue & GetIssue(void) const
Get the Issue member data.
void SetAffil(TAffil &value)
Assign a value to Affil data member.
bool IsSetFrom(void) const
Check if a value has been assigned to From data member.
void SetAuthors(TAuthors &value)
Assign a value to Authors data member.
void SetSerial_number(TSerial_number value)
Assign a value to Serial_number data member.
bool IsSetAuthors(void) const
not necessarily authors of the paper Check if a value has been assigned to Authors data member.
void ResetPart_supi(void)
Reset Part_supi data member.
TPrepub GetPrepub(void) const
Get the Prepub member data.
void SetAuthors(TAuthors &value)
Assign a value to Authors data member.
void ResetPrepub(void)
Reset Prepub data member.
const TProc & GetProc(void) const
Get the variant data.
void SetImp(TImp &value)
Assign a value to Imp data member.
TStr & SetStr(void)
Select the variant.
bool IsSetNames(void) const
Check if a value has been assigned to Names data member.
bool IsSetAuthors(void) const
author/inventor Check if a value has been assigned to Authors data member.
void SetVolume(const TVolume &value)
Assign a value to Volume data member.
void SetNames(TNames &value)
Assign a value to Names data member.
bool IsSetIssue(void) const
Check if a value has been assigned to Issue data member.
void SetAuthors(TAuthors &value)
Assign a value to Authors data member.
const TAuthors & GetAuthors(void) const
Get the Authors member data.
void SetDate(TDate &value)
Assign a value to Date data member.
const TApplicants & GetApplicants(void) const
Get the Applicants member data.
bool IsSetDate(void) const
date of publication Check if a value has been assigned to Date data member.
EPrepub
for prepublication citations
bool IsBook(void) const
Check if variant Book is selected.
void SetPubstatus(TPubstatus value)
Assign a value to Pubstatus data member.
bool IsSetAuthors(void) const
authors Check if a value has been assigned to Authors data member.
void SetMedium(TMedium value)
Assign a value to Medium data member.
bool IsSetBook(void) const
citation to meeting Check if a value has been assigned to Book data member.
const TNames & GetNames(void) const
Get the Names member data.
bool IsSetCit(void) const
same fields as a book Check if a value has been assigned to Cit data member.
const TStd & GetStd(void) const
Get the variant data.
void SetPart_sup(const TPart_sup &value)
Assign a value to Part_sup data member.
EMedium
medium of submission
void SetPrepub(TPrepub value)
Assign a value to Prepub data member.
bool IsSetPart_supi(void) const
part/sup on issue Check if a value has been assigned to Part_supi data member.
const TAuthors & GetAuthors(void) const
Get the Authors member data.
const TAssignees & GetAssignees(void) const
Get the Assignees member data.
const TImp & GetImp(void) const
Get the Imp member data.
bool IsSetPages(void) const
Check if a value has been assigned to Pages data member.
void SetPart_supi(const TPart_supi &value)
Assign a value to Part_supi data member.
bool IsStd(void) const
Check if variant Std is selected.
const TBook & GetBook(void) const
Get the variant data.
@ ePubStatus_aheadofprint
epublish, but will be followed by print
@ ePubStatus_epublish
published electronically by publisher
@ ePrepub_in_press
accepted, not published
@ ePrepub_submitted
submitted, not accepted
void SetYear(TYear value)
Assign a value to Year data member.
void SetMonth(TMonth value)
Assign a value to Month data member.
TStd & SetStd(void)
Select the variant.
void SetDay(TDay value)
Assign a value to Day data member.
bool IsSetLast(void) const
Check if a value has been assigned to Last data member.
const TLast & GetLast(void) const
Get the Last member data.
const TStd & GetStd(void) const
Get the variant data.
bool IsSetCit(void) const
article citation Check if a value has been assigned to Cit data member.
const TCit & GetCit(void) const
Get the Cit member data.
bool IsMedline(void) const
Check if variant Medline is selected.
TPmid & SetPmid(void)
Select the variant.
bool IsBook(void) const
Check if variant Book is selected.
const TMedline & GetMedline(void) const
Get the variant data.
const TMan & GetMan(void) const
Get the variant data.
TMuid & SetMuid(void)
Select the variant.
TBook & SetBook(void)
Select the variant.
Tdata & Set(void)
Assign a value to data member.
const TArticle & GetArticle(void) const
Get the variant data.
const TSub & GetSub(void) const
Get the variant data.
const TPatent & GetPatent(void) const
Get the variant data.
const Tdata & Get(void) const
Get the member data.
const TProc & GetProc(void) const
Get the variant data.
const TEquiv & GetEquiv(void) const
Get the variant data.
TMan & SetMan(void)
Select the variant.
bool IsEquiv(void) const
Check if variant Equiv is selected.
bool IsProc(void) const
Check if variant Proc is selected.
TSub & SetSub(void)
Select the variant.
bool IsSub(void) const
Check if variant Sub is selected.
TGen & SetGen(void)
Select the variant.
const TGen & GetGen(void) const
Get the variant data.
TPatent & SetPatent(void)
Select the variant.
bool IsPatent(void) const
Check if variant Patent is selected.
bool IsArticle(void) const
Check if variant Article is selected.
TArticle & SetArticle(void)
Select the variant.
bool IsGen(void) const
Check if variant Gen is selected.
const TBook & GetBook(void) const
Get the variant data.
bool IsMan(void) const
Check if variant Man is selected.
void SetQual(const TQual &value)
Assign a value to Qual data member.
bool IsSetQual(void) const
Check if a value has been assigned to Qual data member.
void SetVal(const TVal &value)
Assign a value to Val data member.
const TQual & GetQual(void) const
Get the Qual member data.
@ e_Other
for historical reasons, 'other' = 'refseq'
@ e_Tpe
Third Party Annot/Seq EMBL.
@ e_Tpd
Third Party Annot/Seq DDBJ.
@ e_Tpg
Third Party Annot/Seq Genbank.
@ eReftype_no_target
nothing specified (EMBL)
void ind_subdbp(DataBlk &dbp, DataBlk *ind[], int maxkw, Parser::EFormat bank)
Int4 IsNewAccessFormat(const Char *acnum)
The blob sat and sat key Both must be positive integers</td > n< td > Non empty string The interpretation of the blob id depends on a processor Cassandra n processor expects the following format
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)
User-defined methods of the data storage class.
static CRef< CPub > get_muid(char *str, Parser::EFormat format)
static char * get_embl_str_pub_id(char *str, const Char *tag)
static CRef< CCit_art > get_book(char *bptr, CRef< CAuth_list > &auth_list, CRef< CTitle::C_E > &title, CImprint::EPrepub pre, Parser::EFormat format, string_view jour)
Int4 fta_remark_is_er(const string &str)
static const char * ERRemarks[]
static void fta_check_long_name_in_article(const CCit_art &cit_art, bool soft_report)
static CRef< CPub > get_num(char *str)
static CRef< CPubdesc > embl_refs(ParserPtr pp, DataBlk &dbp, Uint2 col_data, bool &no_auth)
static void fta_check_long_last_name(const CAuth_list &authors, bool soft_report)
static string clean_up(const char *str)
static void fta_propagate_pmid_muid(CPub_equiv &pub_equiv)
static CRef< CCit_let > get_thesis(char *bptr, CRef< CAuth_list > &auth_list, CRef< CTitle::C_E > &title, CImprint::EPrepub pre)
static TEntrezId get_embl_pmid(char *str)
static void fta_sort_pubs(TPubList &pubs)
static CRef< CCit_pat > get_pat(ParserPtr pp, char *bptr, CRef< CAuth_list > &auth_list, CRef< CTitle::C_E > &title, char *eptr)
static const char * strip_sub_str[]
static CRef< CCit_sub > get_sub_gsdb(char *bptr, CRef< CAuth_list > &auth_list, CRef< CTitle::C_E > &title, ParserPtr pp)
CRef< CPubdesc > DescrRefs(ParserPtr pp, DataBlk &dbp, Uint2 col_data)
static void fta_add_article_ids(CPub &pub, const string &doi, const string &agricola)
static CRef< CCit_sub > get_sub(ParserPtr pp, char *bptr, CRef< CAuth_list > &auth_list)
static CRef< CCit_book > get_whole_book(char *bptr, CRef< CAuth_list > &auth_list, CRef< CTitle::C_E > &title, CImprint::EPrepub pre)
static CRef< CPubdesc > gb_refs_common(ParserPtr pp, DataBlk &dbp, Uint2 col_data, bool bParser, DataBlk ***ppInd, bool &no_auth)
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)
static void fta_check_long_names(const CPub &pub, bool soft_report)
static void normalize_comment(string &comment)
static CRef< CCit_gen > fta_get_citgen(char *bptr, CRef< CAuth_list > &auth_list, CRef< CTitle::C_E > &title)
static void fta_get_part_sup(char *parts, CImprint &imp)
static CRef< CCit_art > get_art(ParserPtr pp, char *bptr, CRef< CAuth_list > &auth_list, CRef< CTitle::C_E > &title, CImprint::EPrepub pre, bool has_muid, bool *all_zeros, Int4 er)
static char * ExtractErratum(char *comm)
static char * FindSemicolon(char *str)
static char * check_book_tit(char *title)
static bool get_parts(char *bptr, char *eptr, CImprint &imp)
static CRef< CPubdesc > XMLRefs(ParserPtr pp, const DataBlk &dbp, bool &no_auth, bool &rej)
static CRef< CDate > get_lanl_date(char *s)
static CRef< CCit_gen > get_unpub(char *bptr, char *eptr, CRef< CAuth_list > &auth_list, const Char *title)
static void XMLGetXrefs(char *entry, const TXmlIndexList &xil, TQualVector &quals)
static char * FindBackSemicolon(char *pchStart, char *pchCurrent)
CRef< objects::CPubdesc > sp_refs(ParserPtr pp, const DataBlk &dbp, Uint2 col_data)
@ ParFlat_PATENT_CITATION
@ ParFlat_ONLINE_CITATION
@ ParFlat_MONOGRAPH_NOT_JOURNAL
@ ParFlat_THESIS_CITATION
@ ParFlat_MISSING_JOURNAL
static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
CRef< objects::CPatent_seq_id > psip
vector< IndexblkPtr > entrylist
CRef< CDate_std > get_full_date(string_view date_view, bool is_ref, Parser::ESource source)
void fta_StringCpy(char *dst, const char *src)
Char * StringIStr(const Char *where, const Char *what)
CRef< CDate > get_date(const Char *year)
void get_auth(string_view pt, ERefFormat format, string_view jour, CRef< CAuth_list > &auths)
Int4 valid_pages_range(char *pages, const Char *title, Int4 er, bool inpress)
void get_auth_consortium(string_view str, CRef< CAuth_list > &auths)
CRef< CCit_gen > get_error(char *bptr, CRef< CAuth_list > &auth_list, CRef< CTitle::C_E > &title)
std::vector< CRef< objects::CGb_qual > > TQualVector
int XDateCheck(const CDate_std &date)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4