A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/agp__validate__reader_8cpp_source.html below:

NCBI C++ ToolKit: src/objtools/readers/agp_validate_reader.cpp Source File

41 using namespace ncbi

;

45 #define i2s(x) NStr::NumericToString(x) 53

m_is_chr=for_chr_from_scaf;

55

m_CheckObjLen=

false

;

57

m_CommentLineCount=m_EolComments=0;

58

m_componentsInLastScaffold=m_componentsInLastObject=0;

59

m_gapsInLastScaffold=m_gapsInLastObject=0;

61

m_prev_component_beg = m_prev_component_end = 0;

65

m_SingleCompScaffolds = 0;

66

m_SingleCompObjects = 0;

67

m_SingleCompScaffolds_withGaps=0;

68

m_SingleCompObjects_withGaps=0;

75

m_comp_name_matches=0;

78

memset(m_CompOri, 0,

sizeof

(m_CompOri));

79

memset(m_GapTypeCnt, 0,

sizeof

(m_GapTypeCnt));

80

m_ln_ev_flags2count.clear();

81

m_Ngap_ln2count.clear();

82

m_Ugap_ln2count.clear();

85

m_max_comp_beg=m_max_obj_beg=0;

86

m_has_partial_comp=m_has_comp_of_unknown_len=

false

;

88  if

(for_chr_from_scaf) {

89  NCBI_ASSERT

(m_explicit_scaf,

"m_explicit_scaf is false in CAgpValidateReader::Reset(true)"

);

92

m_obj_id_pattern.clear();

94

m_obj_id_digits->clear();

95

m_prev_id_digits->clear();

97

m_prev_component_id.clear();

99

m_TypeCompCnt.clear();

101

m_objNamePatterns.clear();

102

m_CompId2Spans.clear();

104

m_comp2len = &m_scaf2len;

168  "m_GapTypeCnt[] index out of bounds"

);

176  if

(!res.second) res.first->second++;

182  if

(!res.second) res.first->second++;

268

pair<TCompId2Spans::iterator, bool> id_insert_result =

271  string

sameComId_otherScaf;

273  if

(id_insert_result.second ==

false

) {

275  CCompSpans

& spans = (id_insert_result.first)->second;

286  string

(

": "

)+ check_sp.first->ToString(

m_AgpErr

)

291  string

(

"; preceding span: "

)+ check_sp.first->ToString(

m_AgpErr

)

300  int

prev_comp_file=spans.rbegin()->file_num;

301  int

prev_comp_line=spans.rbegin()->line_num;

303

sameComId_otherScaf=

"; previous occurance at "

;

306

sameComId_otherScaf +=

":"

;

309

sameComId_otherScaf+=

"line "

;

311

sameComId_otherScaf+=

i2s

(prev_comp_line);

314

sameComId_otherScaf+=

", in another object"

;

317

sameComId_otherScaf+=

", before a scaffold-breaking gap at "

;

323

sameComId_otherScaf +=

":"

;

326

sameComId_otherScaf+=

"line "

;

410  " out of "

+

i2s

(it->second)+

" bp)" 430  bool

row_saved =

false

;

437  if

(!intersection.

empty

()) {

443  for

(; it != intersection.

end

() && masked_spans.size() < 80; ++it) {

444  if

(masked_spans.size()) masked_spans +=

", "

;

445

masked_spans +=

i2s

(it->GetFrom()) +

".."

+

i2s

(it->GetTo());

447  if

(it != intersection.

end

()) masked_spans +=

", ..."

;

458  else if

(sameComId_otherScaf.size()) {

476  "CAgpValidateReader::OnScaffoldEnd() invoked for a scaffold with no components or gaps"

);

542  string

details=

": "

;

570  string

parsing_error;

587

parsing_error = e.

GetMsg

();

595  string

(

" in object_id (column 1)"

) + (parsing_error.size()?

": "

:

""

) + parsing_error );

602  if

(obj_insert_result.second ==

false

) {

609  if

(

NPOS

!= p_space) {

671  " and component_end = length of sequence"

,

680 #define ALIGN_W(x) setw(w) << resetiosflags(IOS_BASE::left) << (x) 681 #define ALIGN_M_W(x) setw(m_w) << resetiosflags(IOS_BASE::left) << (x) 726  if

(xml_tag.size()==0) {

731  bool

uc = !add_label_as_attribute;

733  for

(string::const_iterator it =

label

.begin(); it !=

label

.end(); ++it) {

739  if

(*it==

','

)

break

;

740

uc = !add_label_as_attribute;

747  if

(xml_tag.size() && xml_tag[xml_tag.size()-1]==

':'

) {

748

xml_tag.resize( xml_tag.size()-1 );

754  if

( add_label_as_attribute ) {

755

xml_tag =

last_tag

+

"\""

+ xml_tag +

"\""

;

771  if

(pos!=

NPOS

) xml_tag.resize(pos);

773  m_out

<<

"</"

<< xml_tag <<

">\n"

;

801  if

(mf_len_cnt < it->second) {

802

mf_len_cnt = it->second;

812  if

(mf_len_cnt>1 && mf_len_cnt==gap_cnt)

return "100"

;

813  if

(mf_len_cnt>=10 || (mf_len_cnt>2 && mf_len_cnt*10>=gap_cnt && mf_len%10==0) ) {

830  int

mf_len, mf_len_cnt;

835  if

(pct!=

"100"

) eol_text +=

i2s

(mf_len_cnt) +

" or "

;

837

eol_text += pct +

"% of N gaps have length="

+

i2s

(mf_len)+

")\n"

;

839

attrs =

" mf_len=\""

+

i2s

(mf_len)+

"\""

;

840

attrs+=

" cnt=\""

+

i2s

(mf_len_cnt)+

"\""

;

841

attrs+=

" pct=\""

+pct+

"\""

;

857  string

(

"\t"

) + str_gap_type +

858  string

(

" "

).substr(0, 15-str_gap_type.size() ) +

": " 863

xprint.

last_tag

+

"\""

+ str_gap_type +

"\""

+ attrs

871  string

not_in_agp_msg = not_in_agp.

CheckIds

();

884  if

(not_in_agp_msg.size()) {

889  const int

singleton_ori_not_plus_count =

891

e_count += singleton_ori_not_plus_count;

892

w_count -= singleton_ori_not_plus_count;

913  out

<<

" (to print all: -limit 0; to skip some: -skip CODE)"

;

925  "(Use -g to print lines with WGS component_id/component_type mismatch.)"

;

930  " to print lines with short gaps.)"

;

945  if

(not_in_agp_msg.size() && !use_xml) {

946  out

<<

" - - "

<< not_in_agp_msg <<

"\n"

;

949  out

<<

" - - no gap lines\n"

;

954  string

s_comp, s_gap;

959  for

(CValuesCount::TValPtrVec::iterator

960

it = comp_cnt.begin();

961

it != comp_cnt.end();

966  if

( s->size() ) *s+=

", "

;

969

*s+=

i2s

((*it)->second);

974  if

(use_xml)

out

<<

"<stats>\n"

;

997  if

( s_comp.size() ) {

999  string

comp_by_type =

", "

+ s_comp;

1004

comp_by_type = comp_by_type.substr(8) + comp_by_type.substr(0, 8);

1005  out

<< comp_by_type;

1018

xprint.

line

(

"Components : "

,

m_CompCount

,

string

(

"Components type_counts=\""

)+s_comp+

"\""

);

1030

xprint.

line

(

"Component spans in AGP are consistent with FASTA\n(i.e. do not include or intersect runs of Ns longer than 10 bp)."

);

1038  if

( s_gap.size() ) {

1040  string

gap_u_n =

", "

+ s_gap;

1045

gap_u_n = gap_u_n.substr(7) + gap_u_n.substr(0, 7);

1060

xprint.

line

(

"Gaps : "

,

m_GapCount

,

string

(

"Gaps u_n_counts=\""

)+s_gap+

"\""

);

1069  int

linkageNoCnt =

m_GapCount

- linkageYesCnt;

1074

xprint.

line

(

"- do not break scaffold: "

, doNotBreakCnt,

"GapsWithinScaf"

);

1076  if

(doNotBreakCnt) {

1077

xprint.

last_tag

=

"GapsWithinScaf_byType linkage=\"yes\" type="

;

1080

xprint.

last_tag

=

"GapsWithinScaf_byType linkage=\"no\" type="

;

1082

xprint.

last_tag

=

"GapsWithinScaf_byType linkage=\"yes\" type="

;

1088

xprint.

line

(

"- break it, linkage no : "

, breakCnt,

"GapsBreakScaf"

);

1090

xprint.

last_tag

=

"GapsBreakScaf_byType linkage=\"no\" type="

;

1100  int

mf_len, mf_len_cnt;

1106  string label

=

"Most frequent N gap_length ("

+ pct +

"% or "

+

1107  i2s

(mf_len_cnt) +

" lines): "

;

1109  string tag

=

"MostFrequentNGapLen pct=\""

+ pct +

"\" cnt=\""

+

1110  i2s

(mf_len_cnt) +

"\""

;

1120

xprint.

line

(

"Linkage evidence:"

);

1121

xprint.

last_tag

=

"LinkageEvidence value="

;

1124  typedef

multimap<int,int> TMultiMapIntInt;

1125

TMultiMapIntInt cnt2ln_ev;

1126  size_t

label_width=0;

1130  if

(

label

.size() > label_width) label_width =

label

.size();

1132  if

(label_width>40) label_width=40;

1133  for

(TMultiMapIntInt::reverse_iterator it = cnt2ln_ev.rbegin(); it != cnt2ln_ev.rend(); ++it) {

1136  string

(

" "

).substr(0, label_width-

label

.size());

1139

xprint.

line

(

string

(

" "

) +

label

+

": "

, it->first );

1156

compNamePatterns.

AddName

(it->first);

1158  bool

hasSuspicious =

x_PrintPatterns

(compNamePatterns,

"Component names"

,

1164

xprint.

line

(

"Use -g or \"-show all\" to print lines with suspicious accessions."

);

1167  const int

MAX_objname_eq_comp=3;

1168  int

cnt_objname_eq_comp=0;

1169  string

str_objname_eq_comp;

1172

cnt_objname_eq_comp++;

1173  if

(cnt_objname_eq_comp<=MAX_objname_eq_comp) {

1174  if

(cnt_objname_eq_comp>1) str_objname_eq_comp+=

", "

;

1175

str_objname_eq_comp+=*it;

1181  if

(cnt_objname_eq_comp && !use_xml) {

1182  out

<<

"\n"

<< cnt_objname_eq_comp <<

" name" 1183

<< (cnt_objname_eq_comp==1?

" is"

:

"s are"

)

1184

<<

" used both as object and as component_id:\n"

;

1185  out

<<

" "

<< str_objname_eq_comp;

1186  if

(cnt_objname_eq_comp>MAX_objname_eq_comp)

out

<<

", ..."

;

1190  if

(use_xml)

out

<<

"</stats>\n"

;

1196  if

(not_in_agp_msg.size()) {

1197  if

(use_xml) not_in_agp.

PrintXml

(

out

, not_in_agp_msg);

1198  else

not_in_agp.

Print

(

out

, not_in_agp_msg);

1230  bool

openBracket=

false

;

1231  if

( s[pos]==

'['

) {

1242  while

( pos<(

int

)s.size() ) {

1246  else if

(openBracket) {

1248  if

(pos==p1)

return false

;

1249  if

(ch==

'.'

|| ch==

','

) {

1250  if

( pos >= (

int

)s.size()-1 || len1 )

1256  if

( pos >= (

int

)s.size() || s[pos] !=

'.'

)

return false

;

1260  else if

(ch==

']'

) {

1261  if

( !p2 || p2==pos )

return false

;

1262

openBracket=

false

;

1273  if

(openBracket || pos==p1)

return false

;

1276

sd1=s.substr(p1, pos-p1);

1280

sd1=s.substr(p1, len1);

1281

sd2=s.substr(p2, pos-1-p2);

1302  if

( !

isalpha

(s[numLetters]) && s[numLetters]!=

'_'

)

break

;

1310  if

(sd2.size()==0 && s[pos]==

'['

) {

1320  if

(pos<(

int

)s.size()) {

1327  if

(ver1.size()) ver1=

string

(

"."

)+ver1;

1328  if

(ver2.size()) ver2=

string

(

"."

)+ver2;

1333  if

(sd2.size()==0) {

1343  string

ltr=s.substr(0, numLetters);

1352  return fSome

|(c1>c2?c1:c2);

1357  CAccPatternCounter

& namePatterns,

const string

& strHeader,

int

fasta_count,

const char

* count_label,

1360  const int

MaxPatterns=10;

1362  const string

SPACES=

" "

;

1373

cnt_pat.rbegin()->first

1378  int

wPattern=strHeader.size()-2;

1382  int

patternsPrinted=0;

1383  bool

mixedPattern=

false

;

1385

CAccPatternCounter::TMapCountToString::reverse_iterator

1386

it = cnt_pat.rbegin(); it != cnt_pat.rend(); it++

1388  if

( ++patternsPrinted<=MaxPatterns ||

1389

cnt_pat_size<=2*MaxPatterns

1391  int i

= it->second.size();

1392  if

(

i

> wPattern ) wPattern =

i

;

1395  if

(w+15>wPattern) wPattern = w+15;

1397

totalCount+=it->first;

1400  if

(

code

&

fSome

) mixedPattern=

true

;

1403  bool

mixedCategories=(nucCount && otherCount);

1404  if

(mixedCategories && wPattern<20) wPattern=20;

1407  string

xml_outer_tag;

1408  if

(strHeader.size()) {

1410

xml_outer_tag = strHeader.substr(0, strHeader.find(

' '

)) +

"Names"

;

1411  out

<<

"<"

<< xml_outer_tag <<

">\n"

;

1413  if

(fasta_count && fasta_count!=totalCount) {

1417

(count_label ? count_label :

"FASTA"

)+

"\n"

;

1420

strHeader+SPACES.substr(

1421

0, wPattern+2>(

int

)strHeader.size() ? wPattern+2-strHeader.size() : 0

1429  bool

printNuc=(nucCount>0);

1432  if

(mixedCategories) {

1435

xprint.

line

(

string

(

"------------------------"

).substr(0, wPattern-20)+

" "

);

1437  if

(printNuc) xprint.

line

(

"Nucleotide accessions: "

, nucCount);

1438  else

xprint.

line

(

"OTHER identifiers : "

, otherCount);

1443  int

accessionsSkipped=0;

1444  int

patternsSkipped=0;

1446

CAccPatternCounter::TMapCountToString::reverse_iterator

1447

it = cnt_pat.rbegin(); it != cnt_pat.rend(); it++

1453  if

( ++patternsPrinted<=MaxPatterns ||

1454

cnt_pat_size<=2*MaxPatterns

1463

acc_warning =

"some local or misspelled"

;

break

;

1465

acc_warning =

"some look like protein accessions"

;

break

;

1467  case fUnknownFormat

:

if

(!(mixedCategories || mixedPattern))

break

;

1468  case fOneAccManyVer

: acc_warning =

"local or misspelled"

;

break

;

1469  case fProtein

: acc_warning =

"looks like protein accession"

;

break

;

1473  if

( acc_warning.size() ) {

1481

( acc_warning.size() ?

string

(

" warn=\""

)+acc_warning+

"\""

:

""

)+

1487  string

(

" "

) + it->second +

1488

SPACES.substr(0, wPattern - it->second.size()) +

": "

,

1496

accessionsSkipped += it->first;

1501  if

(accessionsSkipped) {

1502  string

s =

"other "

;

1503

s+=

i2s

(patternsSkipped);

1505

xprint.

line

(

" "

+ s + SPACES.substr(0, wPattern - s.size()) +

": "

,

1509  " patterns=\"other\"" 1513  if

(!mixedCategories || !printNuc)

break

;

1517  if

(use_xml && xml_outer_tag.size()) {

1518  out

<<

"</"

<< xml_outer_tag <<

">\n"

;

1521  return

mixedCategories||mixedPattern;

1563  if

(

id

.

size

() &&

1564  id

.find(

"|"

) ==

NPOS 1572  if

(

m_cnt

>0)

return 1575  "component name(s) in FASTA not found in AGP"

;

1584  out

<<

"\n"

<< (m_reader.m_AgpErr->m_strict?

"ERROR"

:

"WARNING"

)

1585

<<

" -- "

<< m_cnt <<

" "

<<

tmp

<<

": "

;

1588  out

<< *(m_ids.begin()) <<

"\n"

;

1590  else if

(m_cnt<m_reader.m_AgpErr->m_MaxRepeat||m_reader.m_AgpErr->m_MaxRepeat==0) {

1593  out

<<

" "

<< *it <<

"\n"

;

1605  out

<<

"<MissingSeqNames level=\""

+

label

+

"\">\n"

;

1610  out

<<

"</MissingSeqNames>\n"

;

1618  for

(

iterator

it = begin(); it != end(); ++it) {

1619  out

.push_back(&*it);

1637  if

(

a

->second !=

b

->second ){

1638  return a

->second >

b

->second;

1640  return a

->first <

b

->first;

1649  for

(iterator it = begin(); it != end(); ++it) {

1651  if

( (it->beg <= span_beg && span_beg <= it->end) ||

1652

(it->beg <= span_end && span_end <= it->end) )

1656  if

( ( isPlus && span_beg < it->beg) ||

1657

(!isPlus && span_end > it->end)

1677  if

(insert_result.second ==

false

) {

1678  if

(insert_result.first->second !=

len

)

1679  return

insert_result.first->second;

1681  if

(increment_count) m_count++;

@ eAgpVersion_auto

auto-detect using the first gap line

@ eAgpVersion_2_0

AGP spec 2.0 or later.

static int GetNameCategory(const string &s)

string MostFrequentGapSize(CAgpValidateReader::TMapIntInt &ln2count, int &mf_len, int &mf_len_cnt)

static bool ReadNumberOrRange(const string &s, int &pos, string &sd1, string &sd2)

Accession naming patterns; find ranges for consequtive digits.

vector< double > TDoubleVec

iterator AddName(const string &name, TDoubleVec *runsOfDigits=nullptr)

void GetSortedPatterns(TMapCountToString &dst)

Correctly print multiple errors and warnings on consequitive lines; suppress undesired or higly repet...

virtual void Msg(int code, const string &details, int appliesTo=fAtThisLine)

void PrintMessageCounts(CNcbiOstream &ostr, int from, int to=E_First, bool report_lines_skipped=false, TMapCcodeToString *hints=nullptr)

void UpgradeToError(EErrCode code)

@ CODE_First

The number of the first CAgpErr error enum.

@ CODE_Last

This is one past the last code allowed, after built-in and user errors.

string GetPrintableCode(int code, bool strict=false) const

virtual void LineDone(const string &s, int line_num, bool invalid_line=false)

static void PrintTotalsXml(CNcbiOstream &ostr, int e_count, int w_count, int note_count, int skipped_count)

static void PrintTotals(CNcbiOstream &ostr, int e_count, int w_count, int note_count, int skipped_count)

int GetCount(EErrCode code) const

const string & GetFile(int num)

int CountTotals(int from, int to=E_First)

@ W_BreakingGapSameCompId

@ W_UnSingleCompNotInFull

Detects scaffolds, object boundaries, errors that involve 2 consecutive lines, and is intended as a s...

CAgpErr * GetErrorHandler()

CRef< CAgpRow > m_prev_row

CRef< CAgpRow > m_this_row

EAgpVersion m_agp_version

string & GetComponentId()

static bool CheckComponentEnd(const string &comp_id, TAgpPos comp_end, TAgpLen comp_len, CAgpErr &agp_err)

string LinkageEvidenceFlagsToString()

int linkage_evidence_flags

a bit map which holds summary of info in linkage_evidences.

static bool IsGap(char c)

bool GapEndsScaffold() const

static bool IsDraftComponent(char c)

string & GetComponentType()

static const char * GapTypeToString(int i)

CAgpValidateReader & m_reader

void PrintXml(CNcbiOstream &out, const string &msg)

void Print(CNcbiOstream &out, const string &msg)

CAccPatternCounter m_patterns

static bool x_PrintPatterns(CAccPatternCounter &namePatterns, const string &strHeader, int fasta_count, const char *count_label=nullptr, CNcbiOstream &out=cout, bool use_xml=false)

bool m_last_scaf_start_is_obj

TAgpPos m_prev_component_beg

TMapIntInt m_NgapByType_ln2count[CAgpRow::eGapCount+CAgpRow::eGapYes_count]

void x_GetMostFreqGapsText(int gap_type, string &eol_text, string &attrs)

CAccPatternCounter::TDoubleVec * m_prev_id_digits

TMapIntInt m_ln_ev_flags2count

pair< TObjSet::iterator, bool > TObjSetResult

pair< string, CCompSpans > TCompIdSpansPair

void PrintTotals(CNcbiOstream &out=cout, bool use_xml=false)

int m_last_scaf_start_line

void x_PrintTotals(CNcbiOstream &out=cout, bool use_xml=false)

void Reset(bool for_chr_from_scaf=false)

int m_GapTypeCnt[CAgpRow::eGapCount+CAgpRow::eGapYes_count]

pair< TAgpPos, int > TPairIntInt

IAgpRowOutput * m_row_output

pair< TMapIntInt::iterator, bool > TMapIntIntResult

CAgpValidateReader(CAgpErrEx &agpErr, CMapCompLen &comp2len, TMapStrRangeColl &comp2range_coll)

string m_prev_component_id

int m_SingleCompObjects_withGaps

TAgpLen m_expected_obj_len

int m_componentsInLastObject

int m_SingleCompScaffolds

int m_SingleCompScaffolds_withGaps

CAccPatternCounter m_objNamePatterns

void x_PrintGapCountsLine(XPrintTotalsItem &xprint, int gap_type, const string &label=NcbiEmptyString)

int m_componentsInLastScaffold

virtual void OnScaffoldEnd()

bool m_has_comp_of_unknown_len

TMapIntInt m_Ngap_ln2count

virtual ~CAgpValidateReader()

TCompId2Spans m_CompId2Spans

virtual void OnObjectChange()

void SetRowOutput(IAgpRowOutput *row_output)

CValuesCount m_TypeCompCnt

TMapStrRangeColl * m_comp2range_coll

CAccPatternCounter::TDoubleVec * m_obj_id_digits

int m_last_scaf_start_file

TMapIntInt m_Ugap_ln2count

TAgpPos m_prev_component_end

virtual void OnGapOrComponent()

pair< iterator, TAgpPos > TCheckSpan

TCheckSpan CheckSpan(TAgpPos span_beg, TAgpPos span_end, bool isPlus)

void AddSpan(const CCompVal &span)

void init(CAgpRow &row, int line_num_arg)

pair< TMapStrInt::iterator, bool > TMapStrIntResult

TAgpLen AddCompLen(const string &acc, TAgpLen len, bool increment_count=true)

TRangeVector::const_iterator const_iterator

const_iterator end() const

TThisType & IntersectWith(const TRange &r)

const_iterator begin() const

vector< value_type * > TValPtrVec

static int x_byCount(value_type *a, value_type *b)

void add(const string &c)

void GetSortedValues(TValPtrVec &out)

virtual void SaveRow(const string &s, CRef< CAgpRow > row, TRangeColl *runs_of_Ns)=0

Output the count as text or as xml.

void line(const string &s=NcbiEmptyString)

void line(const string &label, int value, const string &xml_tag=NcbiEmptyString)

void line(const string &label, const string &value, string xml_tag=NcbiEmptyString)

XPrintTotalsItem(CNcbiOstream &out, bool use_xml, int w)

container_type::iterator iterator

const_iterator begin() const

const_iterator end() const

iterator_bool insert(const value_type &val)

container_type::value_type value_type

const_iterator find(const key_type &key) const

iterator_bool insert(const value_type &val)

const_iterator begin() const

parent_type::iterator iterator

const_iterator find(const key_type &key) const

const_iterator end() const

std::ofstream out("events_result.xml")

main entry point for tests

#define NCBI_ASSERT(expr, mess)

const string & GetMsg(void) const

Get message string.

static EAccessionInfo IdentifyAccession(const CTempString &accession, TParseFlags flags=fParse_AnyRaw)

Deduces information from a bare accession a la WHICH_db_accession; may report false negatives on prop...

EAccessionInfo

For IdentifyAccession (below)

static SIZE_TYPE ParseFastaIds(CBioseq::TId &ids, const CTempString &s, bool allow_partial_failure=false)

Parse an entire set of |-delimited FASTA-style IDs, appending the results to IDS.

CRange< TSeqPos > TSeqRange

typedefs for sequence ranges

#define END_NCBI_SCOPE

End previously defined NCBI scope.

#define BEGIN_NCBI_SCOPE

Define ncbi namespace.

IO_PREFIX::ostream CNcbiOstream

Portable alias for ostream.

NCBI_NS_STD::string::size_type SIZE_TYPE

static string DoubleToString(double value, int precision=-1, TNumToStringFlags flags=0)

Convert double to string.

static void TruncateSpacesInPlace(string &str, ETrunc where=eTrunc_Both)

Truncate whitespace in a string (in-place)

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 string & Replace(const string &src, const string &search, const string &replace, string &dst, SIZE_TYPE start_pos=0, SIZE_TYPE max_replace=0, SIZE_TYPE *num_replace=0)

Replace occurrences of a substring within a string.

static string XmlEncode(const CTempString str, TXmlEncode flags=eXmlEnc_Contents)

Encode a string for XML.

static bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)

Check if a string starts with a specified prefix value.

static enable_if< is_arithmetic< TNumeric >::value||is_convertible< TNumeric, Int8 >::value, string >::type NumericToString(TNumeric value, TNumToStringFlags flags=0, int base=10)

Convert numeric value to 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.

static string TruncateSpaces(const string &str, ETrunc where=eTrunc_Both)

Truncate whitespace in a string.

@ fDoubleFixed

DoubleToString*(): Use n.nnnn format for double conversions.

@ eNocase

Case insensitive compare.

static const char label[]

list< CRef< CSeq_id > > TId

constexpr auto sort(_Init &&init)

double value_type

The numeric datatype used by the parser.

const struct ncbi::grid::netcache::search::fields::SIZE size

Magic spell ;-) needed for some weird compilers... very empiric.

const GenericPointer< typename T::ValueType > T2 value

static SLJIT_INLINE sljit_ins msg(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