,
"DNA ",
"RNA ",
"mRNA",
"rRNA",
"tRNA",
"RNA",
"RNA",
71 " AA ",
"DNA ",
"DNA ",
"cRNA ",
"RNA",
"RNA ",
"RNA ",
"tmRNA " 76 "xxx",
"DNA",
"RNA",
"RNA",
"RNA",
"RNA",
"RNA",
77 "RNA",
"AA ",
"DNA",
"DNA",
"RNA",
"RNA",
"RNA" 104 "This format is currently not supported");
113 if(
ctx.GetConfig().DoHTML()) {
126item.
Format(*
this, text_os);
132 constvector<string>& accs,
136os << separator <<*it;
143 if(acc.length() !=
prev.length()) {
147 for(
i= 0;
i< acc.length() && !
isdigit((
unsigned char) acc[
i]); ++
i) {
148 if(acc[
i] !=
prev[
i]) {
152 if(
i< acc.length()) {
165 static const size_tkAccCutoff = 20;
166 static const size_tkBinCutoff = 5;
168 if(xtra.size() < kAccCutoff) {
174 typedefvector<string> TAccBin;
175 typedefvector <TAccBin> TAccBins;
177TAccBin* curr_bin =
nullptr;
180CAccessionItem::TExtra_accessions::const_iterator
prev= xtra.begin();
183bins.push_back(TAccBin());
184curr_bin = &bins.back();
186curr_bin->push_back(*it);
190 ITERATE(TAccBins, bin_it, bins) {
191 if(bin_it->size() <= kBinCutoff) {
194os << separator<< bin_it->front() <<
'-'<< bin_it->back();
202 charseparator)
const 204ostringstream acc_line;
213acc_line << separator;
218acc_line << separator;
226 returnacc_line.str();
235 out.resize(width,
' ');
249 default:
return out;
260 boolhtmlaware)
const 283 intinternalIndentation )
const 286 Pad(
tag, padded_tag, where);
288 if(where ==
eFeat) {
299 l.push_back(padded_tag);
301 if( internalIndentation > 0 ) {
302 stringpadded_indent = *
indent;
303padded_indent.resize( padded_indent.size() + internalIndentation,
' ');
320 static const char* strHtmlHead =
321 "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n" 322 " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n" 323 "<html lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\">\n" 325 "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=us-ascii\" />" 326 "<title>GenBank entry</title>\n" 329 "<hr /><div class=\"sequence\">";
331 static const char* strCgiHead =
"<div class=\"sequence\">";
336 Out.AddLine( strCgiHead ) :
337 Out.AddLine( strHtmlHead );
346 const stringstrHtmlTail(
350 const stringstrCgiTail(
"</div>");
355 Out.AddLine( strCgiTail ) :
356 Out.AddLine( strHtmlTail );
365 const string& delim,
371os << (
ctx.IsProt() ?
"(residues ":
"(bases ");
378os << *delim_p << range.
GetFrom() + 1 << to << range.
GetTo() + 1;
389 switch(
names.Which()) {
391 return names.GetStd().size();
393 return names.GetMl().size();
395 return names.GetStr().size();
413date.
GetDate(&year,
"(%Y)");
418 static string s_DoSup(
const string& issue,
const string& part_sup,
const string& part_supi)
454 const char* digits =
"0123456789";
456 stringfirstText, firstNumber, dash, lastText, lastNumber;
462 size_tfirstDigit = pages.find_first_of( digits );
463 if(
NPOS== firstDigit ) {
471 if( 0 == firstDigit ) {
473 while( it != pages.end() ) {
477 else if( *it !=
' ') {
482 while( it != pages.end() ) {
483 if( ::
isalpha( *it ) ||
' '== *it ) {
498 if( it == pages.end() ) {
503 if( it != pages.end() && ::
isalnum(*it) ) {
507 if( it != pages.end() && *it !=
'-') {
513string::iterator locationRightAfterFirstDash = it;
514 while( it != pages.end() && *it ==
'-') {
519 if( it == pages.end() ) {
521pages.erase( locationRightAfterFirstDash, pages.end() );
523pages += firstNumber;
528 if( it == pages.end() ) {
534 while( it != pages.end() ) {
538 else if( *it !=
' ') {
544 while( it != pages.end() ) {
545 if( ::
isalpha( *it ) ||
' '== *it ) {
554 const boolfirstNumberEmpty = firstNumber.empty();
555 const boolfirstTextEmpty = firstText.empty();
556 const boollastNumberEmpty = lastNumber.empty();
557 const boollastTextEmpty = lastText.empty();
559 if( (lastNumberEmpty && firstTextEmpty) ||
560(firstNumberEmpty && lastTextEmpty) ) {
564 if( it != pages.end() ) {
566lastNumber = firstNumber;
567lastText = firstText;
568pages = firstNumber + firstText +
"-"+ lastNumber + lastText;
569}
else if( !
isalnum(*it) ) {
570pages = firstNumber + firstText +
"-"+ lastNumber + lastText;
582 while( it != pages.end() ) {
583 if( ::
isalpha( *it ) ||
' '== *it ) {
591 while( it != pages.end() ) {
595 else if( *it !=
' ') {
600 if( it == pages.end() ) {
604 if( it != pages.end() && *it !=
'-') {
608 if( it == pages.end() ) {
612 while( it != pages.end() ) {
613 if( ::
isalpha( *it ) ||
' '== *it ) {
621 while( it != pages.end() ) {
625 else if( *it !=
' ') {
631 if( it != pages.end() ) {
642 if( ! firstText.empty() ) {
643 if( firstText.length() != 1 ) {
647 if( ! lastText.empty() ) {
648 if( lastText != firstText ) {
657 if( lastText.empty() && lastNumber.empty() ) {
658pages = ( (0 == firstDigit) ?
659(firstNumber + firstText) : (firstText + firstNumber) );
667 if( firstNumber.empty() && ! lastNumber.empty() ) {
670 if( ! firstNumber.empty() && lastNumber.empty() ) {
679 if( lastNumber.length() < firstNumber.length() ) {
680lastNumber = firstNumber.substr( 0,
681firstNumber.length() - lastNumber.length() ) + lastNumber;
683 if( lastText.empty() ) {
684lastText = firstText;
698 if( 0 == firstDigit ) {
699pages = firstNumber + firstText +
"-"+ lastNumber + lastText;
702pages = firstText + firstNumber +
"-"+ lastText + lastNumber;
722 if( year.empty() ) {
737 if(title.length() < 3) {
748 if(!authstr.empty()
) {
751jour << ((num_auth == 1) ?
" (Ed.);":
" (Eds.);") <<
'\n';
757 stringissue, part_sup, part_supi;
766jour <<
", Vol. "<< volume;
767jour <<
s_DoSup(issue, part_sup, part_supi);
774jour <<
": "<< pages;
778jour <<
';'<<
'\n';
784jour << affil <<
' ';
792jour <<
" In press";
819jour <<
' '<< affil;
833jour <<
", In press";
860 if(
gen.IsSetDate()) {
861 const CDate& date =
gen.GetDate();
862 if(date.
IsStr() ||
864 gen.GetDate().GetDate(&year,
"(%Y)");
878 if(
gen.IsSetAuthors() &&
gen.GetAuthors().IsSetAffil()) {
895 if(
gen.IsSetDate()) {
900 if(
gen.IsSetPages()) {
901pages =
gen.GetPages();
905 if(
gen.IsSetJournal()) {
914 if( cit.at( cit.length() - 1) ==
'"') {
915 journal= cit.substr(pos, cit.length() - pos - 1 );
925in_press =
"Unpublished";
949(
journal+= prefix) += in_press;
1022date =
"\?\?-\?\?\?-\?\?\?\?";
1024((
journal+=
'(') += date) +=
')';
1033 if( !embl_affil ) {
1034 journal+=
" to the EMBL/GenBank/DDBJ databases.\n";
1042}
else if(do_embl) {
1043 journal+=
" to the EMBL/GenBank/DDBJ databases.\n";
1062 const boolis_html = cfg.
DoHTML();
1077 booluse_pre_grant_formatting = ! pat.
CanGetNumber();
1078use_pre_grant_formatting &= (
1086use_pre_grant_formatting = use_pre_grant_formatting &&
1091 if( use_pre_grant_formatting ) {
1092 boolany_good_patents =
false;
1094 const CSeq_id&
id= **id_iter;
1095 if(
id.IsPatent() &&
1096 id.GetPatent().IsSetCit() &&
1097 id.GetPatent().GetCit().IsSetId() &&
1098 id.GetPatent().GetCit().
GetId().IsApp_number() &&
1101any_good_patents =
true;
1105 if( ! any_good_patents ) {
1106use_pre_grant_formatting =
false;
1111 if( use_pre_grant_formatting ) {
1112header =
"Pre-Grant Patent: ";
1116header =
"Patent: ";
1120header =
"Patent number ";
1130 const booldo_us_patent_html =
1132 if( do_us_patent_html ) {
1136 if( do_us_patent_html ) {
1140 if( use_pre_grant_formatting ) {
1183jour <<
'\n'<<
str;
1184}
else if(affil.
IsStd()) {
1204jour << prefix << std.
GetStreet() <<
';';
1208jour << prefix << std.
GetDiv() <<
';';
1212jour << prefix << std.
GetCity();
1216jour << prefix << std.
GetSub();
1219jour <<
';'<<
'\n'<< std.
GetCountry() <<
';';
1230 if(affil.
IsStr()) {
1232jour <<
'\n'<< authors <<
'\n'<< affil.
GetStr();
1234}
else if(affil.
IsStd()) {
1251jour << authors <<
';';
1262jour << prefix << std.
GetStreet() <<
';';
1266jour << prefix << std.
GetDiv() <<
';';
1270jour << prefix << std.
GetCity();
1274jour << prefix << std.
GetSub();
1277jour <<
';'<<
'\n'<< std.
GetCountry() <<
';';
1289 if(!
ctx.Config().CitArtIsoJta()) {
1293 boolstrict =
false;
1295 switch(it->Which()) {
1354 if((*it)->IsIso_jta()) {
1355iso_jta = (*it)->GetIso_jta();
1356}
else if((*it)->IsMl_jta()) {
1357ml_jta = (*it)->GetMl_jta();
1374 if(title.length() < 3) {
1386 stringissue, part_sup, part_supi;
1396jour <<
' '<< volume;
1414jour <<
s_DoSup(issue, part_sup, part_supi);
1419jour <<
", "<< pages;
1423jour <<
":"<< pages;
1431jour <<
' '<< year;
1436jour <<
" In press";
1438jour <<
" In press";
1517 const string& prefix,
1518list<string>&
l)
const 1527 Wrap(
l, prefix, keywords);
User-defined methods of the data storage class.
const string & GetWGSAccession(void) const
const string & GetTSAAccession(void) const
const TExtra_accessions & GetExtraAccessions(void) const
const string & GetAccession(void) const
vector< string > TExtra_accessions
@Affil.hpp User-defined methods of the data storage class.
@Auth_list.hpp User-defined methods of the data storage class.
void GetDate(string *label, bool year_only=false) const
Append a standardized string representation of the date to the label.
const TFormat & GetFormat(void) const
bool IsFormatGBSeq(void) const
const TMode & GetMode(void) const
bool NoAffilOnUnpub(void) const
bool IsFormatINSDSeq(void) const
bool DropBadCitGens(void) const
bool IsFormatGenbank(void) const
bool IsFormatEMBL(void) const
bool IsModeEntrez(void) const
const CFlatFileConfig & GetConfig(void) const
static const string s_GenbankMol[]
string x_FormatAccession(const CAccessionItem &acc, char separator) const
static CFlatItemFormatter * New(CFlatFileConfig::TFormat format)
void End(IFlatTextOStream &) override
virtual SIZE_TYPE GetWidth(void) const
static const string s_EmblMol[]
virtual string & Pad(const string &s, string &out, EPadContext where) const
~CFlatItemFormatter() override
void x_FormatRefJournal(const CReferenceItem &ref, string &journal, CBioseqContext &ctx) const
void x_GetKeywords(const CKeywordsItem &kws, const string &prefix, list< string > &l) const
void SetContext(CFlatFileContext &ctx)
static string & x_Pad(const string &s, string &out, SIZE_TYPE width, const string &indent=kEmptyStr)
CRef< CFlatFileContext > m_Ctx
void x_FormatRefLocation(ostream &os, const CSeq_loc &loc, const string &to, const string &delim, CBioseqContext &ctx) const
void Format(const IFlatItem &item, IFlatTextOStream &text_os)
virtual list< string > & Wrap(list< string > &l, SIZE_TYPE width, const string &tag, const string &body, EPadContext where=ePara, bool htmlaware=false) const
TWrapFlags & SetWrapFlags(void)
CBioseqContext * GetContext(void)
const TKeywords & GetKeywords(void) const
bool IsSetSub(void) const
TPubType GetPubType(void) const
TSeqid GetPatSeqid(void) const
static void FormatAffil(const CAffil &affil, string &result, bool gen_sub=false)
bool IsSetJournal(void) const
bool IsSetBook(void) const
const CCit_gen & GetGen(void) const
const CCit_pat & GetPatent(void) const
const string & GetPII(void) const
const CCit_sub & GetSub(void) const
const string & GetOldPII(void) const
const CCit_book & GetBook(void) const
bool IsSetGen(void) const
const CCit_jour & GetJournal(void) const
static void FormatAuthors(const CAuth_list &alp, string &auth)
bool IsSetPatent(void) const
bool IsElectronic(void) const
Seq-loc iterator class â iterates all intervals from a seq-loc in the correct order.
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...
virtual void Format(IFormatter &formatter, IFlatTextOStream &text_os) const =0
Include a standard set of the NCBI C++ Toolkit most basic headers.
std::ofstream out("events_result.xml")
main entry point for tests
static const struct name_t names[]
static DLIST_TYPE *DLIST_NAME() prev(DLIST_LIST_TYPE *list, DLIST_TYPE *item)
static const char * str(char *buf, int n)
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
const CSeq_id & GetId(const CSeq_loc &loc, CScope *scope)
If all CSeq_ids embedded in CSeq_loc refer to the same CBioseq, returns the first CSeq_id found,...
TSeqPos GetLength(const CSeq_id &id, CScope *scope)
Get sequence length if scope not null, else return max possible TSeqPos.
vector< CSeq_id_Handle > TId
void Reset(void)
Reset reference object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
NCBI_NS_STD::string::size_type SIZE_TYPE
static SIZE_TYPE FindNoCase(const CTempString str, const CTempString pattern, SIZE_TYPE start, SIZE_TYPE end, EOccurrence which=eFirst)
Find the pattern in the specified range of a string using a case insensitive search.
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 void TruncateSpacesInPlace(string &str, ETrunc where=eTrunc_Both)
Truncate whitespace in a string (in-place)
static unsigned long StringToULong(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to unsigned long.
static string Join(const TContainer &arr, const CTempString &delim)
Join strings using the specified delimiter.
static bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
static unsigned int StringToUInt(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to unsigned int.
static void Wrap(const string &str, SIZE_TYPE width, IWrapDest &dest, TWrapFlags flags, const string *prefix, const string *prefix1)
static string & ToUpper(string &str)
Convert string to upper case â string& version.
static string TruncateSpaces(const string &str, ETrunc where=eTrunc_Both)
Truncate whitespace in a string.
@ fWrap_HTMLPre
Wrap as pre-formatted HTML?
@ eNocase
Case insensitive compare.
const TTitle & GetTitle(void) const
Get the Title member data.
bool IsSetVolume(void) const
Check if a value has been assigned to Volume data member.
const TDate & GetDate(void) const
Get the Date member data.
const TAuthors & GetAuthors(void) const
Get the Authors member data.
const TPart_supi & GetPart_supi(void) const
Get the Part_supi member data.
const TDoc_type & GetDoc_type(void) const
Get the Doc_type member data.
bool IsSetNumber(void) const
Patent Document Number Check if a value has been assigned to Number data member.
bool IsSetAffil(void) const
author affiliation Check if a value has been assigned to Affil data member.
const TVolume & GetVolume(void) const
Get the Volume member data.
const TPages & GetPages(void) const
Get the Pages member data.
bool IsSetPrepub(void) const
Check if a value has been assigned to Prepub data member.
bool IsSetTitle(void) const
Title of book Check if a value has been assigned to Title data member.
bool IsSetAssignees(void) const
Assignees Check if a value has been assigned to Assignees data member.
const TAffil & GetAffil(void) const
Get the Affil member data.
bool IsSetStreet(void) const
street address, not ANSI Check if a value has been assigned to Street data member.
const TStr & GetStr(void) const
Get the variant data.
const TAuthors & GetAuthors(void) const
Get the Authors member data.
bool IsSetCity(void) const
Author Affiliation, City Check if a value has been assigned to City data member.
const TIssue & GetIssue(void) const
Get the Issue member data.
bool CanGetPrepub(void) const
Check if it is safe to call GetPrepub method.
const TApp_date & GetApp_date(void) const
Get the App_date member data.
bool IsSetAuthors(void) const
not necessarily authors of the paper Check if a value has been assigned to Authors data member.
bool IsSetImp(void) const
Check if a value has been assigned to Imp data member.
TPrepub GetPrepub(void) const
Get the Prepub member data.
const TDate_issue & GetDate_issue(void) const
Get the Date_issue member data.
bool IsSetPubstatus(void) const
current status of this publication Check if a value has been assigned to Pubstatus data member.
const TStreet & GetStreet(void) const
Get the Street member data.
const TAffil & GetAffil(void) const
Get the Affil member data.
const TPart_sup & GetPart_sup(void) const
Get the Part_sup member data.
const TPub & GetPub(void) const
Get the Pub member data.
const TSub & GetSub(void) const
Get the Sub member data.
list< CRef< C_E > > Tdata
bool IsStr(void) const
Check if variant Str is selected.
bool IsSetDate(void) const
replaces imp, will become required Check if a value has been assigned to Date data member.
bool CanGetCountry(void) const
Check if it is safe to call GetCountry method.
bool CanGetApp_number(void) const
Check if it is safe to call GetApp_number method.
bool CanGetNumber(void) const
Check if it is safe to call GetNumber method.
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.
bool CanGetPub(void) const
Check if it is safe to call GetPub method.
bool IsSetIssue(void) const
Check if a value has been assigned to Issue data member.
bool IsSetDoc_type(void) const
Patent Document Type Check if a value has been assigned to Doc_type data member.
const TNumber & GetNumber(void) const
Get the Number member data.
const TAuthors & GetAuthors(void) const
Get the Authors member data.
bool IsSetDiv(void) const
Author Affiliation, Division Check if a value has been assigned to Div data member.
const TCountry & GetCountry(void) const
Get the Country member data.
const TStd & GetStd(void) const
Get the variant data.
bool IsSetDate(void) const
date of publication Check if a value has been assigned to Date data member.
EPrepub
for prepublication citations
bool IsSetPart_sup(void) const
part/sup of volume Check if a value has been assigned to Part_sup data member.
const TImp & GetImp(void) const
Get the Imp member data.
const TNames & GetNames(void) const
Get the Names member data.
bool IsSetApp_date(void) const
Patent Appl File Date Check if a value has been assigned to App_date data member.
const TDate & GetDate(void) const
Get the Date member data.
bool IsSetApp_number(void) const
Patent Doc Appl Number Check if a value has been assigned to App_number data member.
const TApp_number & GetApp_number(void) const
Get the App_number member data.
bool IsStd(void) const
Check if variant Std is selected.
bool IsSetPart_supi(void) const
part/sup on issue Check if a value has been assigned to Part_supi data member.
const TTitle & GetTitle(void) const
Get the Title member data.
const TAssignees & GetAssignees(void) const
Get the Assignees member data.
bool IsSetCountry(void) const
Author Affiliation, Country Check if a value has been assigned to Country data member.
const TImp & GetImp(void) const
Get the Imp member data.
bool CanGetAuthors(void) const
Check if it is safe to call GetAuthors method.
bool IsSetPages(void) const
Check if a value has been assigned to Pages data member.
const TCity & GetCity(void) const
Get the City member data.
bool IsSetAffil(void) const
Author Affiliation, Name Check if a value has been assigned to Affil data member.
const Tdata & Get(void) const
Get the member data.
const TDiv & GetDiv(void) const
Get the Div member data.
TPubstatus GetPubstatus(void) const
Get the Pubstatus member data.
bool IsSetDate_issue(void) const
Patent Issue/Pub Date Check if a value has been assigned to Date_issue data member.
const TCountry & GetCountry(void) const
Get the Country member data.
bool IsSetImp(void) const
Check if a value has been assigned to Imp data member.
bool IsSetSub(void) const
Author Affiliation, County Sub Check if a value has been assigned to Sub data member.
bool IsSetCountry(void) const
Patent Document Country Check if a value has been assigned to Country data member.
@ ePubStatus_aheadofprint
epublish, but will be followed by print
@ ePrepub_in_press
accepted, not published
@ ePrepub_submitted
submitted, not accepted
@ e_Ml
MEDLINE, semi-structured.
TTo GetTo(void) const
Get the To member data.
TFrom GetFrom(void) const
Get the From member data.
void SetTo(TTo value)
Assign a value to To data member.
bool IsSetYear(void) const
full year (including 1900) Check if a value has been assigned to Year data member.
bool IsStd(void) const
Check if variant Std is selected.
const TStr & GetStr(void) const
Get the variant data.
TYear GetYear(void) const
Get the Year member data.
const TStd & GetStd(void) const
Get the variant data.
bool IsStr(void) const
Check if variant Str is selected.
@ e_Tpe
Third Party Annot/Seq EMBL.
@ e_Tpd
Third Party Annot/Seq DDBJ.
@ e_Tpg
Third Party Annot/Seq Genbank.
list< CRef< CSeq_id > > TId
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
static void s_FormatYear(const CDate &date, string &year)
static void s_FormatJournal(const CReferenceItem &ref, string &journal, CBioseqContext &ctx)
static size_t s_NumAuthors(const CCit_book::TAuthors &authors)
static void s_FormatCitBookArt(const CReferenceItem &ref, string &journal, bool do_gb)
static void s_FormatCitGen(const CReferenceItem &ref, string &journal, const CFlatFileConfig &cfg, CBioseqContext &ctx)
static void s_FormatThesis(const CReferenceItem &ref, string &journal)
static bool s_IsSuccessor(const string &acc, const string &prev)
static void s_FormatSecondaryAccessions(CNcbiOstream &os, const CAccessionItem::TExtra_accessions &xtra, char separator)
static string s_DoSup(const string &issue, const string &part_sup, const string &part_supi)
static bool s_StrictIsoJta(CBioseqContext &ctx)
static void s_PrintAccessions(CNcbiOstream &os, const vector< string > &accs, char separator)
static void s_FormatPatent(const CReferenceItem &ref, string &journal, const CBioseqContext &ctx)
static void s_FormatCitSub(const CReferenceItem &ref, string &journal, bool do_embl)
static void s_FormatCitBook(const CReferenceItem &ref, string &journal)
static void s_FixPages(string &pages)
bool TrimSpacesAndJunkFromEnds(string &str, bool allow_ellipsis=false)
void DateToString(const CDate &date, string &str, EDateToString format_choice=eDateToString_regular)
bool StripSpaces(string &str)
void ExpandTildes(string &s, ETildeStyle style)
void CleanAndCompress(string &dest, const CTempString &instr)
void TrimSpaces(string &str, size_t indent=0)
const char * strLinkBaseUSPTO
void ConvertQuotes(string &str)
void Out(T t, int w, CNcbiOstream &to=cout)
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 SLJIT_INLINE sljit_ins l(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
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