39 #ifndef eutils__OBJTOOLS_EUTILS_EFETCH_PUBMEDARTICLE_HPP
40 #define eutils__OBJTOOLS_EUTILS_EFETCH_PUBMEDARTICLE_HPP
73 ncbi::CRef<ncbi::objects::CPubmed_entry>
ToPubmed_entry(
void)
const;
123 template <
class CharT>
127 static const auto& s_CType = std::use_facet<std::ctype<CharT>>(s_Locale);
132 template <
class CharT>
135 static const auto& s_CType = std::use_facet<std::ctype<CharT>>(loc);
142 if (text_item.Is_CharData()) {
143 return text_item.Get_CharData();
144 }
else if (text_item.IsText()) {
145 if (text_item.GetText().IsB()) {
147 }
else if (text_item.GetText().IsI()) {
149 }
else if (text_item.GetText().IsSup()) {
151 }
else if (text_item.GetText().IsSub()) {
153 }
else if (text_item.GetText().IsU()) {
158 for (ncbi::CStdTypeConstIterator<std::string> j(
Begin(text_item)); j; ++j) {
168 for (
const auto& it : text_list) {
175 template<
class D> ncbi::CRef<ncbi::objects::CTitle>
s_GetTitle(
const D& doc)
180 if (doc.IsSetVernacularTitle()) {
183 return s_MakeTitle(title_str, vernacular_title_str);
#define BEGIN_eutils_SCOPE
ncbi::CRef< ncbi::objects::CArticleIdSet > s_GetArticleIdSet(const CArticleIdList &article_id_list, const CArticle *article)
void s_FillGrants(std::list< std::string > &id_nums, const CGrantList &grant_list)
std::string s_GetPagination(const CPagination &pagination)
std::string s_GetVernacularTitleStr(const CVernacularTitle &vernacular_title)
ncbi::CRef< ncbi::objects::CTitle > s_MakeTitle(const std::string &title_str, const std::string &vernacular_title_str)
ncbi::CRef< ncbi::objects::CDate > s_GetDateFromPubDate(const CPubDate &pub_date)
ncbi::CRef< ncbi::objects::CDate > s_GetDateFromPubMedPubDate(const CPubMedPubDate &pdate)
std::string s_TextListToString(const std::list< ncbi::CRef< TE >> &text_list)
std::string s_TextToString(const TE &text_item)
auto get_ctype_facet() -> decltype(std::use_facet< std::ctype< CharT >>(std::locale()))
ncbi::CRef< ncbi::objects::CTitle > s_GetTitle(const D &doc)
std::string s_CleanupText(std::string str)
std::string s_GetAuthorMedlineName(const CAuthor &author)
std::string s_GetArticleTitleStr(const CArticleTitle &article_title)
============= Document-level elements ============================
ncbi::CRef< ncbi::objects::CPubmed_entry > ToPubmed_entry(void) const
CPubmedArticle & operator=(const CPubmedArticle &value)
CPubmedArticle(const CPubmedArticle &value)
CPubmedArticle_Base Tparent
CBeginInfo Begin(C &obj)
Get starting point of object hierarchy.
Magic spell ;-) needed for some weird compilers... very empiric.
static const char * str(char *buf, int n)