any_change =
false;
73 boolany_change =
false;
77 if(comment.empty()) {
86 if(cleaner.
Clean(fix_initials, strip_serial)) {
165 autoit = id_set.begin();
166 while(it != id_set.end()) {
167 while(it != id_set.end() && !(*it)->IsPubmed()) {
170 if(it != id_set.end()) {
174id_set.erase(
std::remove_if(it2, id_set.end(), matcher), id_set.end());
183 boolchange =
false;
206 autoit = pe_set.begin();
207 while(it != pe_set.end()) {
212 if(cleaner->Clean(fix_initials, strip_serial)) {
215 if(cleaner->IsEmpty()) {
216it = pe_set.erase(it);
228 auto& ids = last_article->
SetIds().Set();
229 size_told_size = ids.size();
231change |= (ids.size() != old_size);
233 autoid_it = ids.rbegin();
234 while(id_it != ids.rend()) {
235 if((*id_it)->IsPubmed()) {
236last_article_pubmed_id = (*id_it)->GetPubmed();
249new_pub->
SetPmid().
Set(last_article_pubmed_id);
256last_article->
SetIds().Set().push_back(new_article_id);
270 if(!equiv.
IsSet()) {
274 boolhas_id =
false,
277 for(
autoit : equiv.
Get()) {
278 if((it->IsPmid() && it->GetPmid() > 0) ||
279(it->IsMuid() && it->GetMuid() > 0)) {
282 else if(it->IsArticle()) {
294 boolany_change =
false;
297 autoit =
data.begin();
298 while(it !=
data.end()) {
299 if((*it)->IsEquiv()) {
302 copy(sub_equiv.
Set().begin(), sub_equiv.
Set().end(), back_inserter(
data));
303it =
data.erase(it);
321 switch(pub.
Which()) {
380 const size_told_cit_size = cit.size();
382 if(old_cit_size != cit.size()) {
425 boolany_change =
false;
434 if(imp.IsSetPub()) {
435authors.SetAffil(imp.SetPub());
440 if(authors.IsSetAffil()) {
441 auto& affil = authors.SetAffil();
443 string&
str= affil.SetStr();
444 static const string& kBadAffil1 =
"to the DDBJ/EMBL/GenBank databases";
445 static const string& kBadAffil2 =
"to the INSDC databases";
447 str=
str.substr(kBadAffil1.length());
452 str=
str.substr(kBadAffil2.length());
461authors.ResetAffil();
470 if(imp.IsSetDate()) {
489 boolchange =
false;
499change |= cleaner.
Clean(fix_initials, strip_serial);
500}
else if(from.IsProc()) {
502change |= cleaner.
Clean(fix_initials, strip_serial);
503}
else if(from.IsJournal()) {
505change |= cleaner.
Clean(fix_initials, strip_serial);
515 boolchange =
false;
529 boolchange =
false;
540 boolchange =
false;
543change = cleaner.
Clean(fix_initials, strip_serial);
551 boolany_change =
false;
582 #define FIX_IMPRINT_FIELD(x) \ 583 if (imprint.IsSet##x()) { \ 584 string& str = imprint.Set##x(); \ 585 const size_t old_len = str.length(); \ 586 Asn2gnbkCompressSpaces(str); \ 587 CleanVisString(str); \ 588 if( old_len != str.length() ) { \ 591 if (NStr::IsBlank(str)) { \ 592 imprint.Reset##x(); \ 604 #undef FIX_IMPRINT_FIELD 611 boolchange =
false;
635 boolchange =
false;
638 if(cleaner.
Clean(fix_initials, strip_serial)) {
649 boolchange =
false;
User-defined methods of the data storage class.
User-defined methods of the data storage class.
void remove_if(Container &c, Predicate *__pred)
static bool CleanArticle(CCit_art &, bool fix_initials, bool strip_serial)
bool Clean(bool fix_initials, bool strip_serial) override
bool Clean(bool fix_initials, bool strip_serial) override
bool Clean(bool fix_initials, bool strip_serial) override
bool Clean(bool fix_initials, bool strip_serial) override
bool Clean(bool fix_initials, bool strip_serial) override
bool Clean(bool fix_initials, bool strip_serial) override
bool Clean(bool fix_initials, bool strip_serial) override
static bool CleanPubdesc(CPubdesc &pubdesc, bool strip_serial)
static bool x_CleanPubdescComment(string &str)
static bool CleanupAffil(CAffil &af)
static bool CleanupAuthList(CAuth_list &al, bool fix_initials=true)
static bool IsEmpty(const CAuth_list::TAffil &affil)
bool Clean(bool fix_initials, bool strip_serial) override
@ eImprintBC_AllowStatusChange
@ eImprintBC_ForbidStatusChange
static bool CleanImprint(CImprint &imprint, EImprintBC is_status_change_allowed)
static bool ShouldWeFixInitials(const CPub_equiv &equiv)
static bool s_Flatten(CPub_equiv &equiv)
bool Clean(bool fix_initials, bool strip_serial) override
@Pubdesc.hpp User-defined methods of the data storage class.
static size_t s_PubPriority(CPub::E_Choice val)
#define FIX_IMPRINT_FIELD(x)
CRef< CPubCleaner > PubCleanerFactory(CPub &pub)
static bool s_PubWhichCompare(const CRef< CPub > &pub1, const CRef< CPub > &pub2)
void RemoveDuplicatePubMedArticleIds(CArticleIdSet::Tdata &id_set)
bool CleanDoubleQuote(string &str)
Change double to single quotes.
bool CleanVisString(string &str)
bool RemoveSpaces(string &str)
remove all spaces from a string
Include a standard set of the NCBI C++ Toolkit most basic headers.
static const char * str(char *buf, int n)
SStrictId_Entrez::TId TEntrezId
TEntrezId type for entrez ids which require the same strictness as TGi.
const TPrim & Get(void) const
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.
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 bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
static void TrimPrefixInPlace(string &str, const CTempString prefix, ECase use_case=eCase)
Trim prefix from a string (in-place)
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.
@ eNocase
Case insensitive compare.
BEGIN_STD_SCOPE bool is_sorted(Iterator iter1, Iterator iter2)
is_sorted is provided by some implementations of the STL and may be included in future releases of al...
void ResetPages(void)
Reset Pages data member.
void SetBook(TBook &value)
Assign a value to Book data member.
bool IsSetVolume(void) const
Check if a value has been assigned to Volume data member.
void ResetImp(void)
Reset Imp data member.
bool IsSetPages(void) const
Check if a value has been assigned to Pages data member.
const TIssue & GetIssue(void) const
Get the Issue member data.
bool IsSetDate(void) const
Check if a value has been assigned to Date data member.
void SetIds(TIds &value)
Assign a value to Ids data member.
TSerial_number GetSerial_number(void) const
Get the Serial_number 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 SetAuthors(TAuthors &value)
Assign a value to Authors data member.
void SetDate(TDate &value)
Assign a value to Date data member.
const TVolume & GetVolume(void) const
Get the Volume member data.
bool IsSetVolume(void) const
Check if a value has been assigned to Volume data member.
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.
const TPages & GetPages(void) const
Get the Pages member data.
bool IsSetApplicants(void) const
Applicants Check if a value has been assigned to Applicants data member.
const TPmid & GetPmid(void) const
Get the Pmid member data.
void SetApplicants(TApplicants &value)
Assign a value to Applicants data member.
bool IsSetAssignees(void) const
Assignees Check if a value has been assigned to Assignees data member.
void SetImp(TImp &value)
Assign a value to Imp data member.
bool IsSetSerial_number(void) const
for GenBank style references Check if a value has been assigned to Serial_number data member.
void SetFrom(TFrom &value)
Assign a value to From data member.
void ResetIssue(void)
Reset Issue 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 SetCountry(const TCountry &value)
Assign a value to Country data member.
void SetAssignees(TAssignees &value)
Assign a value to Assignees data member.
bool IsSetAuthors(void) const
not necessarily authors of the paper Check if a value has been assigned to Authors data member.
void SetPages(const TPages &value)
Assign a value to Pages data member.
bool IsSetImp(void) const
Check if a value has been assigned to Imp data member.
void ResetSerial_number(void)
Reset Serial_number data member.
TPrepub GetPrepub(void) const
Get the Prepub member data.
bool IsSetPubstatus(void) const
current status of this publication Check if a value has been assigned to Pubstatus data member.
void SetAuthors(TAuthors &value)
Assign a value to Authors data member.
void ResetPrepub(void)
Reset Prepub data member.
bool IsSetCit(void) const
anything, not parsable Check if a value has been assigned to Cit data member.
const TVolume & GetVolume(void) const
Get the Volume member data.
list< CRef< CArticleId > > Tdata
const TTitle & GetTitle(void) const
Get the Title member data.
void SetImp(TImp &value)
Assign a value to Imp data member.
TPubmed & SetPubmed(void)
Select the variant.
bool IsSetDate(void) const
replaces imp, will become required Check if a value has been assigned to Date data member.
void SetCit(TCit &value)
Assign a value to Cit data member.
const TPubmed & GetPubmed(void) const
Get the variant data.
bool IsSetTitle(void) const
eg.
bool IsSetAuthors(void) const
author/inventor Check if a value has been assigned to Authors data member.
void SetCit(const TCit &value)
Assign a value to Cit data member.
void SetAuthors(TAuthors &value)
Assign a value to Authors data member.
bool IsSetJournal(void) const
Check if a value has been assigned to Journal data member.
bool IsPubmed(void) const
Check if variant Pubmed is selected.
void SetTitle(const TTitle &value)
Assign a value to Title data member.
bool IsSetPmid(void) const
PubMed Id Check if a value has been assigned to Pmid data member.
bool IsSetIds(void) const
lots of ids Check if a value has been assigned to Ids data member.
bool IsSetAuthors(void) const
authors Check if a value has been assigned to Authors data member.
TType GetType(void) const
Get the Type member data.
bool IsSetBook(void) const
citation to meeting Check if a value has been assigned to Book data member.
bool IsSetCit(void) const
same fields as a book Check if a value has been assigned to Cit data member.
bool IsSetImp(void) const
this only used to get date.
void SetPrepub(TPrepub value)
Assign a value to Prepub data member.
void SetImp(TImp &value)
Assign a value to Imp data member.
bool IsSetIssue(void) const
Check if a value has been assigned to Issue data member.
TMuid GetMuid(void) const
Get the Muid member data.
void ResetVolume(void)
Reset Volume data member.
bool IsSetPages(void) const
Check if a value has been assigned to Pages data member.
bool IsSetType(void) const
Check if a value has been assigned to Type data member.
void SetAuthors(TAuthors &value)
Assign a value to Authors data member.
bool IsSetMuid(void) const
medline uid Check if a value has been assigned to Muid data member.
TPubstatus GetPubstatus(void) const
Get the Pubstatus member data.
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 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
@ ePubStatus_epublish
published electronically by publisher
@ ePrepub_in_press
accepted, not published
void SetCit(TCit &value)
Assign a value to Cit data member.
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 IsPmid(void) const
Check if variant Pmid is selected.
TProc & SetProc(void)
Select the variant.
TPmid & SetPmid(void)
Select the variant.
E_Choice
Choice variants.
list< CRef< CPub > > Tdata
TBook & SetBook(void)
Select the variant.
const TPmid & GetPmid(void) const
Get the variant data.
Tdata & Set(void)
Assign a value to data member.
bool IsSet(void) const
Check if a value has been assigned to data member.
const Tdata & Get(void) const
Get the member data.
TEquiv & SetEquiv(void)
Select the variant.
E_Choice Which(void) const
Which variant is currently selected.
TMan & SetMan(void)
Select the variant.
TSub & SetSub(void)
Select the variant.
TGen & SetGen(void)
Select the variant.
TMedline & SetMedline(void)
Select the variant.
TJournal & SetJournal(void)
Select the variant.
TPatent & SetPatent(void)
Select the variant.
bool IsArticle(void) const
Check if variant Article is selected.
TArticle & SetArticle(void)
Select the variant.
@ e_Pat_id
identify a patent
@ e_Gen
general or generic unparsed
@ e_not_set
No variant selected.
@ e_Proc
proceedings of a meeting
@ e_Equiv
to cite a variety of ways
@ e_Man
manuscript, thesis, or letter
bool IsSetComment(void) const
any comment on this pub in context Check if a value has been assigned to Comment data member.
void ResetComment(void)
Reset Comment data member.
void SetPub(TPub &value)
Assign a value to Pub data member.
bool IsSetPub(void) const
the citation(s) Check if a value has been assigned to Pub data member.
void SetComment(const TComment &value)
Assign a value to Comment data member.
const TPub & GetPub(void) const
Get the Pub member data.
void copy(Njn::Matrix< S > *matrix_, const Njn::Matrix< T > &matrix0_)
User-defined methods of the data storage class.
bool StripSpaces(string &str)
bool operator()(CRef< CArticleId > other_id)
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