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/multipattern__search_8cpp_source.html below:

NCBI C++ ToolKit: src/util/multipattern_search.cpp Source File

48

vector<unique_ptr<CRegEx>> v;

49  for

(

const string

& s :

patterns

) {

50

v.push_back(unique_ptr<CRegEx>(

new CRegEx

(s)));

57

vector<unique_ptr<CRegEx>> v;

59

v.push_back(unique_ptr<CRegEx>(

new CRegEx

(p.first, p.second)));

73  for

(

auto

c :

str

) {

105  const unsigned char

* p =

reinterpret_cast<const unsigned char

*

>

(

input

);

109  for

(

auto

e : emit1) {

110  if

(report(e, p - (

const unsigned char

*)

input

)) {

117  for

(

auto

e : emit2) {

118  if

(report(e, p - (

const unsigned char

*)

input

)) {

131  const unsigned char

* p =

reinterpret_cast<const unsigned char

*

>

(

input

);

135  for

(

auto

e : hits.at(

state

)) {

142  for

(

auto

e : hits.at(

state

)) {

155  const unsigned char

* p =

reinterpret_cast<const unsigned char

*

>

(

input

);

156

CCompiledFSM::index_type

state

= 0;

158  if

(fsm.m_emit.test(

state

)) {

159  for

(

auto

e : fsm.get_hits(

state

)) {

160  if

(report(e, p - (

const unsigned char

*)

input

))

166  if

(fsm.m_emit.test(

state

)) {

167  for

(

auto

e : fsm.get_hits(

state

)) {

168  if

(report(e, p - (

const unsigned char

*)

input

))

181  BoolCall2

call = [report](

size_t

p1,

size_t

) { report(p1);

return false

; };

188  BoolCall2

call = [report](

size_t

p1,

size_t

p2) { report(p1, p2);

return false

; };

195  BoolCall2

call = [report](

size_t

p1,

size_t

) {

return

report(p1); };

202  BoolCall2

call = [report](

size_t

p1,

size_t

p2) {

return

report(p1, p2); };

209  BoolCall2

call = [report](

size_t

p1,

size_t

) { report(p1);

return false

; };

216  BoolCall2

call = [report](

size_t

p1,

size_t

p2) { report(p1, p2);

return false

; };

223  BoolCall2

call = [report](

size_t

p1,

size_t

) {

return

report(p1); };

230  BoolCall2

call = [report](

size_t

p1,

size_t

p2) {

return

report(p1, p2); };

239  throw

(

string

)

"unexpected end of string"

;

246

oss <<

"unexpected character " 248

<<

" in position "

<< (

m_Cur

+ 1);

256

oss <<

msg

<<

" \'"

<<

m_Str

.substr(pos,

len

) <<

"\' in position "

<< (pos + 1);

286  m_RegX

->SetCaseInsensitive();

290  catch

(

const string

& s) {

299

vector<unique_ptr<CRegX> > V;

306  for

(

size_t i

= 0;

i

<

m_Str

.length();

i

++) {

319  return

std::move(V[0]);

327

vector<unique_ptr<CRegX> > V;

329

V.push_back(std::move(x));

339  return

std::move(V[0]);

347

vector<unique_ptr<CRegX> > V;

350

V.push_back(std::move(x));

360  return

std::move(V[0]);

380  if

(to && from > to) {

383  return

unique_ptr<CRegX>(

new CRegXTerm

(x, from, to, lazy));

425

from = from < 0 ? 0 : from;

426

to = to < 0 ? 0 : to;

447  for

(

unsigned char

c =

'0'

; c <=

'9'

; c++) {

455  for

(

unsigned

c = 1; c <= 255; c++) {

456  if

(c < '0' || c >

'9'

) {

457  t

.insert((

unsigned char

)c);

465  for

(

unsigned char

c =

'0'

; c <=

'9'

; c++) {

468  for

(

unsigned char

c =

'A'

; c <=

'Z'

; c++) {

471  for

(

unsigned char

c =

'a'

; c <=

'z'

; c++) {

480  for

(

unsigned

c = 1; c <= 255; c++) {

481  if

((c >=

'0'

&& c <=

'9'

) || (c >=

'A'

&& c <=

'Z'

) || (c >=

'a'

&& c <=

'z'

) || c ==

'_'

) {

484  t

.insert((

unsigned char

)c);

502  for

(

unsigned

c = 1; c <= 255; c++) {

503  if

(c !=

' '

&& c !=

'\f'

&& c !=

'\n'

&& c !=

'\r'

&& c !=

'\t'

&& c !=

'\v'

) {

504  t

.insert((

unsigned char

)c);

521  for

(

int

c = 1; c < 256; c++) {

522  t

.insert((

unsigned char

)c);

524  return

unique_ptr<CRegX>(

new CRegXChar

(

t

));

578  return

unique_ptr<CRegX>(

new CRegXChar

(

t

, neg));

627  return

unique_ptr<CRegX>(

new CRegXChar

(c));

638  unsigned char

range = 0;

639  unsigned char

curr = 0;

640  unsigned char prev

= 0;

728  for

(

unsigned int n

=

prev

;

n

<= curr;

n

++) {

729  t

.insert((

unsigned char

)

n

);

756  return

(

unsigned char

)(

m_Str

[

m_Cur

++] -

'A'

+ 1);

759  return

(

unsigned char

)(

m_Str

[

m_Cur

++] -

'a'

+ 1);

783  return

(

unsigned char

)

n

;

799  return

(

unsigned char

)

n

;

810  return

(

unsigned char

)

n

;

823  for

(

size_t n

= 0;

n

<

len

|| !

len

;

n

++) {

826  if

(c >=

'0'

&& c <=

'9'

) {

827

x = x * 16 + c -

'0'

;

829  else if

(c >=

'A'

&& c <=

'F'

) {

830

x = x * 16 + 10 + c -

'A'

;

832  else if

(c >=

'a'

&& c <=

'f'

) {

833

x = x * 16 + 10 + c -

'a'

;

851  for

(

size_t n

= 0;

n

<

len

|| !

len

;

n

++) {

854  if

(c >=

'0'

&& c <=

'9'

) {

855

x = x * 10 + c -

'0'

;

875  m_RegX

->SetCaseInsensitive();

899

ostr <<

"<<RegEx>> "

<<

m_Str

<<

"\n"

;

900  if

(

m_Err

.length()) {

901

ostr <<

" <ERROR>\t"

<<

m_Err

<<

"\n"

;

912  out

<< (

m_Neg

?

"<char>!\t"

:

"<char>\t"

);

949

PrintOffset(

out

, off);

950  out

<<

"<repeat>\t"

<< m_Min <<

" : "

;

957  out

<< (m_Lazy ?

" : lazy\n"

:

"\n"

);

964  static const char

*

A

[] = {

"error"

,

"beginning of string"

,

"end of string"

,

"word boundary"

,

"not word boundary"

,

"look ahead"

,

"look ahead negative"

,

"look back"

,

"look back negative"

};

965

PrintOffset(

out

, off);

966  out

<<

"<assert>\t"

<<

A

[m_Assert] <<

"\n"

;

975  for

(

unsigned char

c =

'A'

; c <=

'Z'

; c++) {

976  if

(m_Set.find(c) != m_Set.end()) {

977

m_Set.insert((

unsigned char

)(c + 32));

979  else if

(m_Set.find((

unsigned char

)(c + 32)) != m_Set.end()) {

988  for

(

unsigned char

c =

'A'

; c <=

'Z'

; c++) {

989  if

((m_Set.find(c) == m_Set.end()) != (m_Set.find((

unsigned char

)(c + 32)) == m_Set.end())) {

1001

fsa.

Short

(from, to);

1008  for

(

unsigned n

= 1;

n

< 256;

n

++) {

1009  unsigned char

c = (

unsigned

char)

n

;

1010  if

((m_Set.find(c) == m_Set.end()) == m_Neg) {

1011

fsa.

Trans

(from, c, x);

1020  if

(m_Vec.empty()) {

1021

fsa.

Short

(from, to);

1024  size_t

current = from;

1025  for

(

size_t n

= 0;

n

< m_Vec.size();

n

++) {

1027  if

(

n

< m_Vec.size() - 1) {

1030

m_Vec[

n

]->Render(fsa, current,

next

);

1038  if

(m_Vec.empty()) {

1039

fsa.

Short

(from, to);

1042  for

(

size_t n

= 0;

n

< m_Vec.size();

n

++) {

1044

fsa.

Short

(from, current);

1045

m_Vec[

n

]->Render(fsa, current, to);

1052  size_t

current = from;

1053  size_t last

= current;

1054  for

(

size_t n

= 0;

n

< m_Min;

n

++) {

1056  if

(

n

+ 1 < m_Min ||

n

+ 1 < m_Max) {

1065  m_RegX

->Render(fsa, from, to);

1066

fsa.

Short

(from, to);

1071  for

(

size_t n

= m_Min;

n

< m_Max;

n

++) {

1073  if

(

n

+ 1 < m_Max) {

1077

fsa.

Short

(current, to);

1088

fsa.

Trans

(x, 0, y);

1092  for

(

unsigned n

= 1;

n

< 256;

n

++) {

1094

fsa.

Trans

(x, (

unsigned char

)

n

, y);

1100  for

(

unsigned n

= 1;

n

< 256;

n

++) {

1102

fsa.

Trans

(x, (

unsigned char

)

n

, y);

1115

fsa.

Short

(from, x);

1121

fsa.

Short

(from, x);

1127

fsa.

Short

(from, x);

1132

fsa.

Short

(from, x);

1135  case

eAssertWordNeg:

1139

fsa.

Short

(from, x);

1143

fsa.

Short

(from, x);

1146  case

eAssertLookAhead:

1147  throw string

(

"(?=...) - lookahead is not supported"

);

1148  case

eAssertLookAheadNeg:

1149  throw string

(

"(?!...) - lookahead is not supported"

);

1150  case

eAssertLookBack:

1151  throw string

(

"(?<=...) - lookback is not supported"

);

1152  case

eAssertLookBackNeg:

1153  throw string

(

"(?<!...) - lookback is not supported"

);

1169

Create(rx,

m_Str

.size());

1179

vector<unique_ptr<CRegExFSA>> w;

1180  for

(

auto

& rx : v) {

1181

unique_ptr<CRegExFSA> p(

new CRegExFSA

);

1182

p->Create(*rx,

m_Str

.size());

1183  m_Str

.push_back(rx->m_Str);

1184

w.push_back(std::move(p));

1186  while

(w.size() > 1) {

1187  size_t

h = (w.size() + 1) / 2;

1188  for

(

size_t i

= 0, j = h; j < w.size();

i

++, j++) {

1189

w[

i

]->Merge(std::move(w[j]));

1193  Merge

(std::move(w[0]));

1199  size_t

shift = m_States.size();

1200  for

(

auto

&

state

: fsa->m_States) {

1201  for

(

auto

& trans :

state

->m_Trans) {

1204

m_States.push_back(std::move(

state

));

1208

Short(1, shift + 1);

1209

Short(shift + 1, 1);

1217  throw "Invalid Regular Expression: "

+ rx.

m_Str

+

" -- "

+ rx.

m_Err

;

1221  size_t

from = AddState();

1222  size_t

to = AddState();

1225

rx.

m_RegX

->Render(*

this

, from, to);

1227  catch

(

const string

& s) {

1229  throw "Unsupported Regular Expression: "

+ rx.

m_Str

+

" -- "

+ s;

1240

vector<size_t>

Queue

;

1245

DSA.push_back(unique_ptr<CRegExState>(

new CRegExState

));

1249

Push(0, VV[0],

HH

[0]);

1250

Push(1, VV[0],

HH

[0]);

1253  for

(

size_t n

= 1;

n

< DSA.size();

n

++) {

1255  for

(

unsigned

c = 0; c < 256; c++) {

1256

Extend(

n

, (

char

)c, m_States, DSA, NM, NL, NS, VV,

HH

);

1267

vector<size_t>& V0 = VV[0];

1268

vector<size_t>& V1 = VV[1];

1269

vector<size_t>& V2 = VV[2];

1270

vector<size_t>& V3 = VV[3];

1271

vector<size_t>& H0 =

HH

[0];

1272

vector<size_t>& H1 =

HH

[1];

1273

vector<size_t>& H2 =

HH

[2];

1274

vector<size_t>& H3 =

HH

[3];

1276  for

(

size_t i

= 0;

i

< V0.size(); ++

i

) {

1278  for

(

size_t

s : src[

n

]->m_Short) {

1279  if

(src[s]->m_Type & ttt) {

1280  auto t

= src[s]->m_Type;

1298  for

(

size_t i

= 0;

i

< V1.size(); ++

i

) {

1300  for

(

size_t

s : src[

n

]->m_Short) {

1301  if

(src[s]->m_Type & ttt) {

1302  auto t

= src[s]->m_Type;

1311  for

(

size_t i

= 0;

i

< V2.size(); ++

i

) {

1313  for

(

size_t

s : src[

n

]->m_Short) {

1314  if

(src[s]->m_Type & ttt) {

1315  auto t

= src[s]->m_Type;

1324  for

(

size_t i

= 0;

i

< V3.size(); ++

i

) {

1326  for

(

size_t

s : src[

n

]->m_Short) {

1327  if

(src[s]->m_Type & ttt) {

1328  auto t

= src[s]->m_Type;

1337  for

(

size_t n

: H0) {

1340  for

(

size_t n

: H1) {

1343  for

(

size_t n

: H2) {

1346  for

(

size_t n

: H3) {

1349  auto

I = NM.

find

(NS);

1350  if

(I != NM.

end

()) {

1351

dest[I->second]->m_Type |= ttt;

1354  size_t

x = NL.size();

1357

dest.push_back(unique_ptr<CRegExState>(

new CRegExState

(ttt)));

1358  for

(

size_t n

: H0) {

1359

dest[x]->m_Emit.

insert

(src[

n

]->m_Emit.begin(), src[

n

]->m_Emit.end());

1361  for

(

size_t n

: H1) {

1362

dest[x]->m_Forward1.insert(src[

n

]->m_Emit.begin(), src[

n

]->m_Emit.end());

1364  for

(

size_t n

: H2) {

1365

dest[x]->m_Forward2.insert(src[

n

]->m_Emit.begin(), src[

n

]->m_Emit.end());

1367  for

(

size_t n

: H3) {

1368

dest[x]->m_Forward3.insert(src[

n

]->m_Emit.begin(), src[

n

]->m_Emit.end());

1376  for

(

auto

&

a

: VV) {

1379  for

(

auto

&

a

:

HH

) {

1382

Push(0, VV[0],

HH

[0]);

1384  for

(

auto

p : NL[x]) {

1385  if

(!p.second || p.second == ttt) {

1386

Push(src[p.first]->m_Trans[c], VV[0],

HH

[0]);

1389  size_t

d = Collect(VV, ttt, src, dest, NM, NL, NS,

HH

);

1390

dest[x]->m_Trans[c] = d;

1392

dest[d]->m_Emit.insert(dest[x]->m_Forward1.begin(), dest[x]->m_Forward1.end());

1395

dest[d]->m_Emit.insert(dest[x]->m_Forward2.begin(), dest[x]->m_Forward2.end());

1398

dest[d]->m_Emit.insert(dest[x]->m_Forward3.begin(), dest[x]->m_Forward3.end());

1403 static string QuoteDot

(

const string

& s,

bool

space =

false

)

1406  for

(

size_t i

= 0;

i

< s.size();

i

++) {

1409  out

+= space ?

"&#9251;"

:

" "

;

1421  if

((

unsigned char

)s[

i

] < 32) {

1422  out

+=

"&#"

+ to_string(9216 + s[

i

]) +

";"

;

1424  else if

((

unsigned char

)s[

i

] > 0x7f) {

1425  out

+=

"&#"

+ to_string(912 + (

unsigned char

)s[

i

]) +

";"

;

1436 static string Pack

(

const string

& s)

1441  for

(

size_t i

= 0;

i

< s.size();

i

++) {

1442  if

((s[

i

] >=

'0'

&& s[

i

] <=

'9'

) || (s[

i

] >=

'A'

&& s[

i

] <=

'Z'

) || (s[

i

] >=

'a'

&& s[

i

] <=

'z'

)) {

1448  else if

(s[

i

] == to + 1) {

1454  if

(to > from + 1) {

1467  if

(to > from + 1) {

1479  if

(to > from + 1) {

1493  out

<<

"digraph {\n"

;

1494  for

(

size_t n

= 1;

n

< m_States.size(); ++

n

) {

1495  string label

= to_string(

n

) +

": "

;

1525  if

(!m_States[

n

]->m_Emit.empty()) {

1526  label

+=

"\\nfound:"

;

1528  for

(

size_t

e : m_States[

n

]->m_Emit) {

1536  out

<<

n

<<

" [label=\""

<<

label

<<

"\"]\n"

;

1537  for

(

size_t t

: m_States[

n

]->m_Short) {

1538  out

<<

n

<<

" -> "

<<

t

<<

" [style=dotted]\n"

;

1542  for

(

unsigned

m = 1; m < 256; m++) {

1543

arrows[m_States[

n

]->m_Trans[m]] += char(m);

1545

arrows[m_States[

n

]->m_Trans[0]] +=

"&#9216;"

;

1548  for

(

auto

&

A

: arrows) {

1549  A

.second =

Pack

(

A

.second);

1550  if

(

A

.second.length() > max_len) {

1552

max_len =

A

.second.length();

1555

arrows[other] =

"..."

;

1556  for

(

auto

&

A

: arrows) {

1557  out

<<

n

<<

" -> "

<<

A

.first <<

" [label=\""

<<

QuoteDot

(

A

.second,

true

) <<

"\"]\n"

;

1567  out

<<

"// Input from the outer code: const unsigned char* p;\n//\n\n const unsigned char* _p = p;\n"

;

1568  for

(

size_t n

= 1;

n

< m_States.size(); ++

n

) {

1570  out

<<

"_"

<<

n

<<

":\n"

;

1572  for

(

auto

e : m_States[

n

]->m_Emit) {

1573  out

<<

" if (_FSM_REPORT("

<< e <<

", p - _p)) return; // "

<<

m_Str

[e] <<

"\n"

;

1576  out

<<

" return;\n"

;

1582  out

<<

" switch (*p) {\n"

;

1584  for

(

unsigned

m = 0; m < 256; m++) {

1585

arrows[m_States[

n

]->m_Trans[m]] += char(m);

1589  for

(

auto A

= arrows.

begin

();

A

!= arrows.

end

(); ++

A

) {

1590  if

(

A

->second.length() > max_len) {

1592

max_len =

A

->second.length();

1595  for

(

auto A

= arrows.

begin

();

A

!= arrows.

end

(); ++

A

) {

1596  if

(

A

->first != other) {

1597  for

(

auto

p =

A

->second.begin(); p !=

A

->second.end(); ++p) {

1599  if

(*p ==

'\''

|| *p ==

'\"'

|| *p ==

'\\'

) {

1600  out

<<

"\'\\"

<< *p <<

"\':\n"

;

1602  else if

(*p >= 32 && *p < 127) {

1603  out

<<

"\'"

<< *p <<

"\':\n"

;

1606  out

<< (unsigned)*p <<

":\n"

;

1609  out

<<

" goto _"

<<

A

->first <<

";\n"

;

1612  out

<<

" default:\n"

;

1613  out

<<

" goto _"

<< other <<

";\n"

;

1625  out

<< (bit ?

"1"

:

"0"

) <<

","

;

1627  if

(m_index == 32) {

1637

m_current |= (1ULL << m_index);

1640  if

(m_index == 64) {

1654  size_t

max_vec_size = 0;

1655  size_t

num_hits = 0;

1656  for

(

size_t n

= 1;

n

< m_States.size();

n

++) {

1657  if

(m_States[

n

]->m_Emit.size())

1659

max_vec_size =

std::max

(max_vec_size, m_States[

n

]->m_Emit.size());

1662  out

<<

"NCBI_FSM_PREPARE(\n" 1663

<<

" "

<< m_States.size() - 1 <<

", // states size \n" 1664

<<

" "

<< max_vec_size <<

", // max vector size\n" 1665

<<

" "

<< num_hits <<

", // num hits\n" 1666

<<

" "

<< (m_States.size() - 1 + 63)/64 <<

" // emit compacted size\n" 1671  out

<<

"NCBI_FSM_EMIT = {\n"

;

1672  for

(

size_t n

= 0;

n

< m_States.size() - 1;

n

++) {

1673

cout << (

n

?

n

% 32 ?

", "

:

",\n"

:

""

) << (m_States[

n

+ 1]->m_Emit.size() ?

"1"

:

"0"

);

1678  out

<<

"NCBI_FSM_EMIT = {\n"

;

1681  for

(

size_t n

= 1;

n

< m_States.size();

n

++) {

1682

mask64.

Out1

(

out

, (m_States[

n

]->m_Emit.size()));

1688  out

<<

"NCBI_FSM_EMIT_COMPACT = {\n"

;

1691  for

(

size_t n

= 1;

n

< m_States.size();

n

++) {

1692

mask64.

Out64

(

out

, (m_States[

n

]->m_Emit.size()));

1699  out

<<

"NCBI_FSM_HITS = {\n"

;

1701  for

(

size_t n

= 0;

n

< m_States.size();

n

++) {

1702  if

(m_States[

n

]->m_Emit.size()) {

1706  for

(

size_t n

= 0;

n

< m_States.size();

n

++) {

1707  if

(m_States[

n

]->m_Emit.size()) {

1709  out

<<

"{ "

<< (

n

- 1) <<

", { "

;

1711  for

(

auto

e : m_States[

n

]->m_Emit) {

1712  out

<< (

i

?

", "

:

""

) << e;

1715  out

<<

" }}"

<< (

count

?

", "

:

" "

);

1716  for

(

auto

e : m_States[

n

]->m_Emit) {

1717  out

<<

" // "

<< e <<

": "

<<

m_Str

[e];

1726  out

<<

"NCBI_FSM_HITS_1("

<< num_hits <<

") = {\n"

;

1727  for

(

size_t n

= 0;

n

< m_States.size();

n

++) {

1728  if

(m_States[

n

]->m_Emit.size()) {

1729  out

<< (

n

- 1) <<

", // "

;

1730  for

(

auto

e : m_States[

n

]->m_Emit) {

1731  out

<<

" "

<< e <<

": "

<<

m_Str

[e];

1738  out

<<

"NCBI_FSM_HITS_2("

<< num_hits <<

") = { {\n"

;

1739  for

(

size_t n

= 0;

n

< m_States.size();

n

++) {

1740  if

(m_States[

n

]->m_Emit.size()) {

1742  for

(

auto

e : m_States[

n

]->m_Emit) {

1746  for

(

auto

e : m_States[

n

]->m_Emit) {

1747  out

<<

" "

<< e <<

": "

<<

m_Str

[e];

1755  out

<<

"NCBI_FSM_STATES = {\n"

;

1756  for

(

size_t n

= 1;

n

< m_States.size();

n

++) {

1757  out

<<

"// "

<< (

n

- 1) <<

"\n"

;

1758  for

(

size_t i

= 0;

i

< 256;

i

++) {

1760

<< (m_States[

n

]->m_Trans[

i

] ? m_States[

n

]->m_Trans[

i

] - 1 : 0)

1761

<< (

i

% 32 == 31 ?

",\n"

:

", "

);

void GenerateSourceCode(ostream &out) const

Generate C code for the FSM search.

void AddPatterns(const vector< string > &patterns)

unique_ptr< CRegExFSA > m_FSM

std::function< void(size_t, size_t)> VoidCall2

std::function< bool(size_t, size_t)> BoolCall2

void AddPattern(const char *pattern, TFlags flags=0)

static string QuoteString(const string &str)

Quote special characters to insert string into regular expression.

void GenerateArrayMapData(ostream &out) const

Generate C++ array/map data.

std::function< void(size_t)> VoidCall1

void GenerateDotGraph(ostream &out) const

Generate graphical representation of the FSM in DOT format.

void Search(const char *input, VoidCall1 found_callback) const

std::function< bool(size_t)> BoolCall1

pair< size_t, CRegEx::EType > TNode

void GenerateArrayMapData(ostream &out) const

void Trans(size_t x, unsigned char c, size_t y)

void Add(const CRegEx &rx)

void GenerateSourceCode(ostream &out) const

void Create(const CRegEx &rx, size_t emit)

static size_t Collect(TScratch &VV, CRegEx::EType t, TStates &src, TStates &dest, TNodeSetMap &NM, TNodeSetList &NL, TNodeSet &NS, TScratch &HH)

void GenerateDotGraph(ostream &out) const

void Short(size_t x, size_t y)

static void Extend(size_t x, unsigned char c, TStates &src, TStates &dest, TNodeSetMap &NM, TNodeSetList &NL, TNodeSet &NS, TScratch &VV, TScratch &HH)

size_t AddState(unsigned char t=CRegEx::eTypePass)

void Merge(unique_ptr< CRegExFSA > fsa)

vector< TNodeSet > TNodeSetList

vector< unique_ptr< CRegExState > > TStates

unique_ptr< CRegX > x_ParseAtom()

unique_ptr< CRegX > x_ParsePlain()

unique_ptr< CRegX > x_ParseConcat()

void x_ParseSquare(set< unsigned char > &t)

bool x_ParseRepeat(int &from, int &to, bool &lazy)

void x_Print(ostream &out) const

void x_ThrowError(const string msg, size_t pos, size_t len)

unsigned char x_ParseEscape()

unique_ptr< CRegX > x_ParseTerm()

int x_ParseHex(size_t len=0)

CMultipatternSearch::TFlags m_Flag

void x_ThrowUnexpectedCharacter()

int x_ParseDec(size_t len=0)

void x_ThrowUnexpectedEndOfLine()

unique_ptr< CRegX > m_RegX

static bool IsWordCharacter(unsigned char c)

unique_ptr< CRegX > x_ParseSelect()

const_iterator begin() const

const_iterator end() const

iterator_bool insert(const value_type &val)

const_iterator find(const key_type &key) const

const_iterator begin() const

const_iterator end() const

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

main entry point for tests

static DLIST_TYPE *DLIST_NAME() first(DLIST_LIST_TYPE *list)

static DLIST_TYPE *DLIST_NAME() last(DLIST_LIST_TYPE *list)

static DLIST_TYPE *DLIST_NAME() prev(DLIST_LIST_TYPE *list, DLIST_TYPE *item)

static DLIST_TYPE *DLIST_NAME() next(DLIST_LIST_TYPE *list, DLIST_TYPE *item)

static const char * str(char *buf, int n)

#define HH(a, b, c, d, x, s)

#define END_NCBI_SCOPE

End previously defined NCBI scope.

#define BEGIN_NCBI_SCOPE

Define ncbi namespace.

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 const char label[]

static void InsertNoSpace(set< unsigned char > &t)

static void InsertNoAlpha(set< unsigned char > &t)

static void InsertAlpha(set< unsigned char > &t)

static void InsertSpace(set< unsigned char > &t)

static string QuoteDot(const string &s, bool space=false)

static void xMultiPatternSearch(const char *input, const CRegExFSA &fsa, CMultipatternSearch::BoolCall2 report)

static string Pack(const string &s)

static void InsertNoDigit(set< unsigned char > &t)

static void InsertDigit(set< unsigned char > &t)

ostream & operator<<(ostream &ostr, const CRegEx &regex)

int Queue(const string &service, shared_ptr< CPSG_Request > request, CTimeout timeout)

static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)

void Out1(std::ostream &out, bool bit)

void Final64(std::ostream &out)

void Out64(std::ostream &out, bool bit)

void Print(ostream &out, size_t off) const

void Render(CRegExFSA &fsa, size_t from, size_t to) const

void Render(CRegExFSA &fsa, size_t from, size_t to) const

void Print(ostream &out, size_t off) const

set< unsigned char > m_Set

bool IsCaseInsensitive() const

void SetCaseInsensitive()

void Render(CRegExFSA &fsa, size_t from, size_t to) const

void Render(CRegExFSA &fsa, size_t from, size_t to) const

void Render(CRegExFSA &fsa, size_t from, size_t to) const

void Print(ostream &out, size_t off) const

void Render(CRegExFSA &fsa, size_t from, size_t to) const

static void DummyTrans(CRegExFSA &fsa, size_t x, unsigned char t)

static void PrintOffset(ostream &out, size_t off)

void Merge(wxMenu &menu_1, const wxMenu &menu_2)

merges all items form menu_2 into menu_1, preserving the structure if possible


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