1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
4
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
<title>tesseract: CHAR_FRAGMENT Class Reference</title>
8
<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
<link href="doxygen.css" rel="stylesheet" type="text/css" />
10
<link href="navtree.css" rel="stylesheet" type="text/css"/>
11
<script type="text/javascript" src="jquery.js"></script>
12
<script type="text/javascript" src="resize.js"></script>
13
<script type="text/javascript" src="navtree.js"></script>
14
<script type="text/javascript">
15
$(document).ready(initResizable);
17
<link href="search/search.css" rel="stylesheet" type="text/css"/>
18
<script type="text/javascript" src="search/search.js"></script>
19
<script type="text/javascript">
20
$(document).ready(function() { searchBox.OnSelectItem(0); });
25
<div id="top"><!-- do not remove this div! -->
29
<table cellspacing="0" cellpadding="0">
31
<tr style="height: 56px;">
34
<td style="padding-left: 0.5em;">
35
<div id="projectname">tesseract
36
 <span id="projectnumber">3.03</span>
48
<!-- Generated by Doxygen 1.7.6.1 -->
49
<script type="text/javascript">
50
var searchBox = new SearchBox("searchBox", "search",false,'Search');
52
<div id="navrow1" class="tabs">
54
<li><a href="index.html"><span>Main Page</span></a></li>
55
<li><a href="pages.html"><span>Related Pages</span></a></li>
56
<li><a href="modules.html"><span>Modules</span></a></li>
57
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
58
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
59
<li><a href="files.html"><span>Files</span></a></li>
61
<div id="MSearchBox" class="MSearchBoxInactive">
63
<img id="MSearchSelect" src="search/mag_sel.png"
64
onmouseover="return searchBox.OnSearchSelectShow()"
65
onmouseout="return searchBox.OnSearchSelectHide()"
67
<input type="text" id="MSearchField" value="Search" accesskey="S"
68
onfocus="searchBox.OnSearchFieldFocus(true)"
69
onblur="searchBox.OnSearchFieldFocus(false)"
70
onkeyup="searchBox.OnSearchFieldChange(event)"/>
71
</span><span class="right">
72
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
78
<div id="navrow2" class="tabs2">
80
<li><a href="annotated.html"><span>Class List</span></a></li>
81
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
82
<li><a href="functions.html"><span>Class Members</span></a></li>
86
<div id="side-nav" class="ui-resizable side-nav-resizable">
88
<div id="nav-tree-contents">
91
<div id="splitbar" style="-moz-user-select:none;"
92
class="ui-resizable-handle">
95
<script type="text/javascript">
96
initNavTree('a00298.html','');
98
<div id="doc-content">
100
<div class="summary">
101
<a href="#pub-methods">Public Member Functions</a> |
102
<a href="#pub-static-methods">Static Public Member Functions</a> |
103
<a href="#pub-static-attribs">Static Public Attributes</a> </div>
104
<div class="headertitle">
105
<div class="title">CHAR_FRAGMENT Class Reference</div> </div>
107
<div class="contents">
108
<!-- doxytag: class="CHAR_FRAGMENT" -->
109
<p><code>#include <<a class="el" href="a00866_source.html">unicharset.h</a>></code></p>
111
<p><a href="a01544.html">List of all members.</a></p>
112
<table class="memberdecls">
113
<tr><td colspan="2"><h2><a name="pub-methods"></a>
114
Public Member Functions</h2></td></tr>
115
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00298.html#acb20b5f377469c19f37d197ffb9559f8">set_all</a> (const char *unichar, int pos, int total, bool natural)</td></tr>
116
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00298.html#a0fc6185e9f688d8f991fe5c196497ce1">set_unichar</a> (const char *uch)</td></tr>
117
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00298.html#a833694ba8fc5e137a2e003034523eae1">set_pos</a> (int p)</td></tr>
118
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00298.html#ae9ada0ccb703fe3c49de6678be319d96">set_total</a> (int t)</td></tr>
119
<tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00298.html#aabfbe5c558b411ecb3c9a34d0615c2de">get_unichar</a> () const </td></tr>
120
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00298.html#a543f738bd883d0417da44a211c6a822b">get_pos</a> () const </td></tr>
121
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00298.html#aac1d5e077505363c264144a9348b3f0e">get_total</a> () const </td></tr>
122
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00557.html">STRING</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00298.html#ab7a7a173907f187f44677d2ad2679e09">to_string</a> () const </td></tr>
123
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00298.html#a5416dda467e92c5e88a454466c60b980">equals</a> (const char *other_unichar, int other_pos, int other_total) const </td></tr>
124
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00298.html#a922cc9843afdb356a29cb308c9956d9c">equals</a> (const <a class="el" href="a00298.html">CHAR_FRAGMENT</a> *other) const </td></tr>
125
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00298.html#a1a11643ca234b3a4f1fa52b07fb03350">is_continuation_of</a> (const <a class="el" href="a00298.html">CHAR_FRAGMENT</a> *fragment) const </td></tr>
126
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00298.html#a42707cfcbf1e9a38ec0333d3202f8d80">is_beginning</a> () const </td></tr>
127
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00298.html#af222b3b2c71de6199f75e3a7a64aa660">is_ending</a> () const </td></tr>
128
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00298.html#a3a54d954fd5a60836119fa362fe99289">is_natural</a> () const </td></tr>
129
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00298.html#a4e25adab433a34a9d6992b1c10ffd6d8">set_natural</a> (bool value)</td></tr>
130
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
131
Static Public Member Functions</h2></td></tr>
132
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00557.html">STRING</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00298.html#ab845f2c4b4a4bac23392806c445f1fe4">to_string</a> (const char *unichar, int pos, int total, bool natural)</td></tr>
133
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00298.html">CHAR_FRAGMENT</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00298.html#ac56b3d4af146800dd576dd60a11ea563">parse_from_string</a> (const char *str)</td></tr>
134
<tr><td colspan="2"><h2><a name="pub-static-attribs"></a>
135
Static Public Attributes</h2></td></tr>
136
<tr><td class="memItemLeft" align="right" valign="top">static const int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00298.html#a7f25080aacecf7533fa11ec5d7bf2b15">kMinLen</a> = 6</td></tr>
137
<tr><td class="memItemLeft" align="right" valign="top">static const int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00298.html#a1fe86011ab9488980aca8e8e26958b2a">kMaxLen</a> = 3 + <a class="el" href="a00862.html#a902bc40c9d89802bc063afe30ce9e708">UNICHAR_LEN</a> + 2</td></tr>
138
<tr><td class="memItemLeft" align="right" valign="top">static const int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00298.html#a44acef42afbd5e03039786e3a3950dcf">kMaxChunks</a> = 5</td></tr>
140
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
141
<div class="textblock">
142
<p>Definition at line <a class="el" href="a00866_source.html#l00041">41</a> of file <a class="el" href="a00866_source.html">unicharset.h</a>.</p>
143
</div><hr/><h2>Member Function Documentation</h2>
144
<a class="anchor" id="a5416dda467e92c5e88a454466c60b980"></a><!-- doxytag: member="CHAR_FRAGMENT::equals" ref="a5416dda467e92c5e88a454466c60b980" args="(const char *other_unichar, int other_pos, int other_total) const " -->
145
<div class="memitem">
146
<div class="memproto">
147
<table class="memname">
149
<td class="memname">bool <a class="el" href="a00298.html#a5416dda467e92c5e88a454466c60b980">CHAR_FRAGMENT::equals</a> </td>
151
<td class="paramtype">const char * </td>
152
<td class="paramname"><em>other_unichar</em>, </td>
155
<td class="paramkey"></td>
157
<td class="paramtype">int </td>
158
<td class="paramname"><em>other_pos</em>, </td>
161
<td class="paramkey"></td>
163
<td class="paramtype">int </td>
164
<td class="paramname"><em>other_total</em> </td>
169
<td></td><td> const<code> [inline]</code></td>
175
<p>Definition at line <a class="el" href="a00866_source.html#l00078">78</a> of file <a class="el" href="a00866_source.html">unicharset.h</a>.</p>
176
<div class="fragment"><pre class="fragment"> {
177
<span class="keywordflow">return</span> (strcmp(this->unichar, other_unichar) == 0 &&
178
this->pos == other_pos && this->total == other_total);
183
<a class="anchor" id="a922cc9843afdb356a29cb308c9956d9c"></a><!-- doxytag: member="CHAR_FRAGMENT::equals" ref="a922cc9843afdb356a29cb308c9956d9c" args="(const CHAR_FRAGMENT *other) const " -->
184
<div class="memitem">
185
<div class="memproto">
186
<table class="memname">
188
<td class="memname">bool <a class="el" href="a00298.html#a5416dda467e92c5e88a454466c60b980">CHAR_FRAGMENT::equals</a> </td>
190
<td class="paramtype">const <a class="el" href="a00298.html">CHAR_FRAGMENT</a> * </td>
191
<td class="paramname"><em>other</em></td><td>)</td>
192
<td> const<code> [inline]</code></td>
198
<p>Definition at line <a class="el" href="a00866_source.html#l00083">83</a> of file <a class="el" href="a00866_source.html">unicharset.h</a>.</p>
199
<div class="fragment"><pre class="fragment"> {
200
<span class="keywordflow">return</span> this-><a class="code" href="a00298.html#a5416dda467e92c5e88a454466c60b980">equals</a>(other-><a class="code" href="a00298.html#aabfbe5c558b411ecb3c9a34d0615c2de">get_unichar</a>(),
201
other-><a class="code" href="a00298.html#a543f738bd883d0417da44a211c6a822b">get_pos</a>(),
202
other-><a class="code" href="a00298.html#aac1d5e077505363c264144a9348b3f0e">get_total</a>());
207
<a class="anchor" id="a543f738bd883d0417da44a211c6a822b"></a><!-- doxytag: member="CHAR_FRAGMENT::get_pos" ref="a543f738bd883d0417da44a211c6a822b" args="() const " -->
208
<div class="memitem">
209
<div class="memproto">
210
<table class="memname">
212
<td class="memname">int <a class="el" href="a00298.html#a543f738bd883d0417da44a211c6a822b">CHAR_FRAGMENT::get_pos</a> </td>
214
<td class="paramname"></td><td>)</td>
215
<td> const<code> [inline]</code></td>
221
<p>Definition at line <a class="el" href="a00866_source.html#l00064">64</a> of file <a class="el" href="a00866_source.html">unicharset.h</a>.</p>
222
<div class="fragment"><pre class="fragment">{ <span class="keywordflow">return</span> this->pos; }
226
<a class="anchor" id="aac1d5e077505363c264144a9348b3f0e"></a><!-- doxytag: member="CHAR_FRAGMENT::get_total" ref="aac1d5e077505363c264144a9348b3f0e" args="() const " -->
227
<div class="memitem">
228
<div class="memproto">
229
<table class="memname">
231
<td class="memname">int <a class="el" href="a00298.html#aac1d5e077505363c264144a9348b3f0e">CHAR_FRAGMENT::get_total</a> </td>
233
<td class="paramname"></td><td>)</td>
234
<td> const<code> [inline]</code></td>
240
<p>Definition at line <a class="el" href="a00866_source.html#l00065">65</a> of file <a class="el" href="a00866_source.html">unicharset.h</a>.</p>
241
<div class="fragment"><pre class="fragment">{ <span class="keywordflow">return</span> this->total; }
245
<a class="anchor" id="aabfbe5c558b411ecb3c9a34d0615c2de"></a><!-- doxytag: member="CHAR_FRAGMENT::get_unichar" ref="aabfbe5c558b411ecb3c9a34d0615c2de" args="() const " -->
246
<div class="memitem">
247
<div class="memproto">
248
<table class="memname">
250
<td class="memname">const char* <a class="el" href="a00298.html#aabfbe5c558b411ecb3c9a34d0615c2de">CHAR_FRAGMENT::get_unichar</a> </td>
252
<td class="paramname"></td><td>)</td>
253
<td> const<code> [inline]</code></td>
259
<p>Definition at line <a class="el" href="a00866_source.html#l00063">63</a> of file <a class="el" href="a00866_source.html">unicharset.h</a>.</p>
260
<div class="fragment"><pre class="fragment">{ <span class="keywordflow">return</span> this->unichar; }
264
<a class="anchor" id="a42707cfcbf1e9a38ec0333d3202f8d80"></a><!-- doxytag: member="CHAR_FRAGMENT::is_beginning" ref="a42707cfcbf1e9a38ec0333d3202f8d80" args="() const " -->
265
<div class="memitem">
266
<div class="memproto">
267
<table class="memname">
269
<td class="memname">bool <a class="el" href="a00298.html#a42707cfcbf1e9a38ec0333d3202f8d80">CHAR_FRAGMENT::is_beginning</a> </td>
271
<td class="paramname"></td><td>)</td>
272
<td> const<code> [inline]</code></td>
278
<p>Definition at line <a class="el" href="a00866_source.html#l00098">98</a> of file <a class="el" href="a00866_source.html">unicharset.h</a>.</p>
279
<div class="fragment"><pre class="fragment">{ <span class="keywordflow">return</span> this->pos == 0; }
283
<a class="anchor" id="a1a11643ca234b3a4f1fa52b07fb03350"></a><!-- doxytag: member="CHAR_FRAGMENT::is_continuation_of" ref="a1a11643ca234b3a4f1fa52b07fb03350" args="(const CHAR_FRAGMENT *fragment) const " -->
284
<div class="memitem">
285
<div class="memproto">
286
<table class="memname">
288
<td class="memname">bool <a class="el" href="a00298.html#a1a11643ca234b3a4f1fa52b07fb03350">CHAR_FRAGMENT::is_continuation_of</a> </td>
290
<td class="paramtype">const <a class="el" href="a00298.html">CHAR_FRAGMENT</a> * </td>
291
<td class="paramname"><em>fragment</em></td><td>)</td>
292
<td> const<code> [inline]</code></td>
298
<p>Definition at line <a class="el" href="a00866_source.html#l00091">91</a> of file <a class="el" href="a00866_source.html">unicharset.h</a>.</p>
299
<div class="fragment"><pre class="fragment"> {
300
<span class="keywordflow">return</span> (strcmp(this->unichar, fragment-><a class="code" href="a00298.html#aabfbe5c558b411ecb3c9a34d0615c2de">get_unichar</a>()) == 0 &&
301
this->total == fragment-><a class="code" href="a00298.html#aac1d5e077505363c264144a9348b3f0e">get_total</a>() &&
302
this->pos == fragment-><a class="code" href="a00298.html#a543f738bd883d0417da44a211c6a822b">get_pos</a>() + 1);
307
<a class="anchor" id="af222b3b2c71de6199f75e3a7a64aa660"></a><!-- doxytag: member="CHAR_FRAGMENT::is_ending" ref="af222b3b2c71de6199f75e3a7a64aa660" args="() const " -->
308
<div class="memitem">
309
<div class="memproto">
310
<table class="memname">
312
<td class="memname">bool <a class="el" href="a00298.html#af222b3b2c71de6199f75e3a7a64aa660">CHAR_FRAGMENT::is_ending</a> </td>
314
<td class="paramname"></td><td>)</td>
315
<td> const<code> [inline]</code></td>
321
<p>Definition at line <a class="el" href="a00866_source.html#l00101">101</a> of file <a class="el" href="a00866_source.html">unicharset.h</a>.</p>
322
<div class="fragment"><pre class="fragment">{ <span class="keywordflow">return</span> this->pos == this->total-1; }
326
<a class="anchor" id="a3a54d954fd5a60836119fa362fe99289"></a><!-- doxytag: member="CHAR_FRAGMENT::is_natural" ref="a3a54d954fd5a60836119fa362fe99289" args="() const " -->
327
<div class="memitem">
328
<div class="memproto">
329
<table class="memname">
331
<td class="memname">bool <a class="el" href="a00298.html#a3a54d954fd5a60836119fa362fe99289">CHAR_FRAGMENT::is_natural</a> </td>
333
<td class="paramname"></td><td>)</td>
334
<td> const<code> [inline]</code></td>
340
<p>Definition at line <a class="el" href="a00866_source.html#l00106">106</a> of file <a class="el" href="a00866_source.html">unicharset.h</a>.</p>
341
<div class="fragment"><pre class="fragment">{ <span class="keywordflow">return</span> natural; }
345
<a class="anchor" id="ac56b3d4af146800dd576dd60a11ea563"></a><!-- doxytag: member="CHAR_FRAGMENT::parse_from_string" ref="ac56b3d4af146800dd576dd60a11ea563" args="(const char *str)" -->
346
<div class="memitem">
347
<div class="memproto">
348
<table class="memname">
350
<td class="memname"><a class="el" href="a00298.html">CHAR_FRAGMENT</a> * <a class="el" href="a00298.html#ac56b3d4af146800dd576dd60a11ea563">CHAR_FRAGMENT::parse_from_string</a> </td>
352
<td class="paramtype">const char * </td>
353
<td class="paramname"><em>str</em></td><td>)</td>
354
<td><code> [static]</code></td>
360
<p>Definition at line <a class="el" href="a00865_source.html#l01024">1024</a> of file <a class="el" href="a00865_source.html">unicharset.cpp</a>.</p>
361
<div class="fragment"><pre class="fragment"> {
362
<span class="keyword">const</span> <span class="keywordtype">char</span> *ptr = string;
363
<span class="keywordtype">int</span> len = strlen(<span class="keywordtype">string</span>);
364
<span class="keywordflow">if</span> (len < <a class="code" href="a00298.html#a7f25080aacecf7533fa11ec5d7bf2b15">kMinLen</a> || *ptr != kSeparator) {
365
<span class="keywordflow">return</span> NULL; <span class="comment">// this string can not represent a fragment</span>
367
ptr++; <span class="comment">// move to the next character</span>
368
<span class="keywordtype">int</span> step = 0;
369
<span class="keywordflow">while</span> ((ptr + step) < (<span class="keywordtype">string</span> + len) && *(ptr + step) != kSeparator) {
370
step += <a class="code" href="a00636.html#a8182a4663f6c1df9f097700f1009ab22">UNICHAR::utf8_step</a>(ptr + step);
372
<span class="keywordflow">if</span> (step == 0 || step > <a class="code" href="a00862.html#a902bc40c9d89802bc063afe30ce9e708">UNICHAR_LEN</a>) {
373
<span class="keywordflow">return</span> NULL; <span class="comment">// no character for unichar or the character is too long</span>
375
<span class="keywordtype">char</span> unichar[<a class="code" href="a00862.html#a902bc40c9d89802bc063afe30ce9e708">UNICHAR_LEN</a> + 1];
376
strncpy(unichar, ptr, step);
377
unichar[step] = <span class="charliteral">'\0'</span>; <span class="comment">// null terminate unichar</span>
378
ptr += step; <span class="comment">// move to the next fragment separator</span>
379
<span class="keywordtype">int</span> pos = 0;
380
<span class="keywordtype">int</span> total = 0;
381
<span class="keywordtype">bool</span> natural = <span class="keyword">false</span>;
382
<span class="keywordtype">char</span> *end_ptr = NULL;
383
<span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < 2; i++) {
384
<span class="keywordflow">if</span> (ptr > <span class="keywordtype">string</span> + len || *ptr != kSeparator) {
385
<span class="keywordflow">if</span> (i == 1 && *ptr == kNaturalFlag)
386
natural = <span class="keyword">true</span>;
387
<span class="keywordflow">else</span>
388
<span class="keywordflow">return</span> NULL; <span class="comment">// Failed to parse fragment representation.</span>
390
ptr++; <span class="comment">// move to the next character</span>
391
i == 0 ? pos = <span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(strtol(ptr, &end_ptr, 10))
392
: total = static_cast<int>(strtol(ptr, &end_ptr, 10));
395
<span class="keywordflow">if</span> (ptr != <span class="keywordtype">string</span> + len) {
396
<span class="keywordflow">return</span> NULL; <span class="comment">// malformed fragment representation</span>
398
<a class="code" href="a00298.html">CHAR_FRAGMENT</a> *fragment = <span class="keyword">new</span> <a class="code" href="a00298.html">CHAR_FRAGMENT</a>();
399
fragment-><a class="code" href="a00298.html#acb20b5f377469c19f37d197ffb9559f8">set_all</a>(unichar, pos, total, natural);
400
<span class="keywordflow">return</span> fragment;
405
<a class="anchor" id="acb20b5f377469c19f37d197ffb9559f8"></a><!-- doxytag: member="CHAR_FRAGMENT::set_all" ref="acb20b5f377469c19f37d197ffb9559f8" args="(const char *unichar, int pos, int total, bool natural)" -->
406
<div class="memitem">
407
<div class="memproto">
408
<table class="memname">
410
<td class="memname">void <a class="el" href="a00298.html#acb20b5f377469c19f37d197ffb9559f8">CHAR_FRAGMENT::set_all</a> </td>
412
<td class="paramtype">const char * </td>
413
<td class="paramname"><em>unichar</em>, </td>
416
<td class="paramkey"></td>
418
<td class="paramtype">int </td>
419
<td class="paramname"><em>pos</em>, </td>
422
<td class="paramkey"></td>
424
<td class="paramtype">int </td>
425
<td class="paramname"><em>total</em>, </td>
428
<td class="paramkey"></td>
430
<td class="paramtype">bool </td>
431
<td class="paramname"><em>natural</em> </td>
436
<td></td><td><code> [inline]</code></td>
442
<p>Definition at line <a class="el" href="a00866_source.html#l00051">51</a> of file <a class="el" href="a00866_source.html">unicharset.h</a>.</p>
443
<div class="fragment"><pre class="fragment"> {
444
<a class="code" href="a00298.html#a0fc6185e9f688d8f991fe5c196497ce1">set_unichar</a>(unichar);
445
<a class="code" href="a00298.html#a833694ba8fc5e137a2e003034523eae1">set_pos</a>(pos);
446
<a class="code" href="a00298.html#ae9ada0ccb703fe3c49de6678be319d96">set_total</a>(total);
447
<a class="code" href="a00298.html#a4e25adab433a34a9d6992b1c10ffd6d8">set_natural</a>(natural);
452
<a class="anchor" id="a4e25adab433a34a9d6992b1c10ffd6d8"></a><!-- doxytag: member="CHAR_FRAGMENT::set_natural" ref="a4e25adab433a34a9d6992b1c10ffd6d8" args="(bool value)" -->
453
<div class="memitem">
454
<div class="memproto">
455
<table class="memname">
457
<td class="memname">void <a class="el" href="a00298.html#a4e25adab433a34a9d6992b1c10ffd6d8">CHAR_FRAGMENT::set_natural</a> </td>
459
<td class="paramtype">bool </td>
460
<td class="paramname"><em>value</em></td><td>)</td>
461
<td><code> [inline]</code></td>
467
<p>Definition at line <a class="el" href="a00866_source.html#l00107">107</a> of file <a class="el" href="a00866_source.html">unicharset.h</a>.</p>
468
<div class="fragment"><pre class="fragment">{ natural = value; }
472
<a class="anchor" id="a833694ba8fc5e137a2e003034523eae1"></a><!-- doxytag: member="CHAR_FRAGMENT::set_pos" ref="a833694ba8fc5e137a2e003034523eae1" args="(int p)" -->
473
<div class="memitem">
474
<div class="memproto">
475
<table class="memname">
477
<td class="memname">void <a class="el" href="a00298.html#a833694ba8fc5e137a2e003034523eae1">CHAR_FRAGMENT::set_pos</a> </td>
479
<td class="paramtype">int </td>
480
<td class="paramname"><em>p</em></td><td>)</td>
481
<td><code> [inline]</code></td>
487
<p>Definition at line <a class="el" href="a00866_source.html#l00061">61</a> of file <a class="el" href="a00866_source.html">unicharset.h</a>.</p>
488
<div class="fragment"><pre class="fragment">{ this->pos = p; }
492
<a class="anchor" id="ae9ada0ccb703fe3c49de6678be319d96"></a><!-- doxytag: member="CHAR_FRAGMENT::set_total" ref="ae9ada0ccb703fe3c49de6678be319d96" args="(int t)" -->
493
<div class="memitem">
494
<div class="memproto">
495
<table class="memname">
497
<td class="memname">void <a class="el" href="a00298.html#ae9ada0ccb703fe3c49de6678be319d96">CHAR_FRAGMENT::set_total</a> </td>
499
<td class="paramtype">int </td>
500
<td class="paramname"><em>t</em></td><td>)</td>
501
<td><code> [inline]</code></td>
507
<p>Definition at line <a class="el" href="a00866_source.html#l00062">62</a> of file <a class="el" href="a00866_source.html">unicharset.h</a>.</p>
508
<div class="fragment"><pre class="fragment">{ this->total = t; }
512
<a class="anchor" id="a0fc6185e9f688d8f991fe5c196497ce1"></a><!-- doxytag: member="CHAR_FRAGMENT::set_unichar" ref="a0fc6185e9f688d8f991fe5c196497ce1" args="(const char *uch)" -->
513
<div class="memitem">
514
<div class="memproto">
515
<table class="memname">
517
<td class="memname">void <a class="el" href="a00298.html#a0fc6185e9f688d8f991fe5c196497ce1">CHAR_FRAGMENT::set_unichar</a> </td>
519
<td class="paramtype">const char * </td>
520
<td class="paramname"><em>uch</em></td><td>)</td>
521
<td><code> [inline]</code></td>
527
<p>Definition at line <a class="el" href="a00866_source.html#l00057">57</a> of file <a class="el" href="a00866_source.html">unicharset.h</a>.</p>
528
<div class="fragment"><pre class="fragment"> {
529
strncpy(this->unichar, uch, <a class="code" href="a00862.html#a902bc40c9d89802bc063afe30ce9e708">UNICHAR_LEN</a>);
530
this->unichar[<a class="code" href="a00862.html#a902bc40c9d89802bc063afe30ce9e708">UNICHAR_LEN</a>] = <span class="charliteral">'\0'</span>;
535
<a class="anchor" id="ab845f2c4b4a4bac23392806c445f1fe4"></a><!-- doxytag: member="CHAR_FRAGMENT::to_string" ref="ab845f2c4b4a4bac23392806c445f1fe4" args="(const char *unichar, int pos, int total, bool natural)" -->
536
<div class="memitem">
537
<div class="memproto">
538
<table class="memname">
540
<td class="memname"><a class="el" href="a00557.html">STRING</a> <a class="el" href="a00298.html#ab845f2c4b4a4bac23392806c445f1fe4">CHAR_FRAGMENT::to_string</a> </td>
542
<td class="paramtype">const char * </td>
543
<td class="paramname"><em>unichar</em>, </td>
546
<td class="paramkey"></td>
548
<td class="paramtype">int </td>
549
<td class="paramname"><em>pos</em>, </td>
552
<td class="paramkey"></td>
554
<td class="paramtype">int </td>
555
<td class="paramname"><em>total</em>, </td>
558
<td class="paramkey"></td>
560
<td class="paramtype">bool </td>
561
<td class="paramname"><em>natural</em> </td>
566
<td></td><td><code> [static]</code></td>
572
<p>Definition at line <a class="el" href="a00865_source.html#l01011">1011</a> of file <a class="el" href="a00865_source.html">unicharset.cpp</a>.</p>
573
<div class="fragment"><pre class="fragment"> {
574
<span class="keywordflow">if</span> (total == 1) <span class="keywordflow">return</span> <a class="code" href="a00557.html">STRING</a>(unichar);
575
<a class="code" href="a00557.html">STRING</a> result = <span class="stringliteral">""</span>;
576
result += kSeparator;
578
<span class="keywordtype">char</span> buffer[<a class="code" href="a00298.html#a1fe86011ab9488980aca8e8e26958b2a">kMaxLen</a>];
579
snprintf(buffer, <a class="code" href="a00298.html#a1fe86011ab9488980aca8e8e26958b2a">kMaxLen</a>, <span class="stringliteral">"%c%d%c%d"</span>, kSeparator, pos,
580
natural ? kNaturalFlag : kSeparator, total);
582
<span class="keywordflow">return</span> result;
587
<a class="anchor" id="ab7a7a173907f187f44677d2ad2679e09"></a><!-- doxytag: member="CHAR_FRAGMENT::to_string" ref="ab7a7a173907f187f44677d2ad2679e09" args="() const " -->
588
<div class="memitem">
589
<div class="memproto">
590
<table class="memname">
592
<td class="memname"><a class="el" href="a00557.html">STRING</a> <a class="el" href="a00298.html#ab845f2c4b4a4bac23392806c445f1fe4">CHAR_FRAGMENT::to_string</a> </td>
594
<td class="paramname"></td><td>)</td>
595
<td> const<code> [inline]</code></td>
601
<p>Definition at line <a class="el" href="a00866_source.html#l00072">72</a> of file <a class="el" href="a00866_source.html">unicharset.h</a>.</p>
602
<div class="fragment"><pre class="fragment"> {
603
<span class="keywordflow">return</span> <a class="code" href="a00298.html#ab7a7a173907f187f44677d2ad2679e09">to_string</a>(unichar, pos, total, natural);
608
<hr/><h2>Member Data Documentation</h2>
609
<a class="anchor" id="a44acef42afbd5e03039786e3a3950dcf"></a><!-- doxytag: member="CHAR_FRAGMENT::kMaxChunks" ref="a44acef42afbd5e03039786e3a3950dcf" args="" -->
610
<div class="memitem">
611
<div class="memproto">
612
<table class="memname">
614
<td class="memname">const int <a class="el" href="a00298.html#a44acef42afbd5e03039786e3a3950dcf">CHAR_FRAGMENT::kMaxChunks</a> = 5<code> [static]</code></td>
620
<p>Definition at line <a class="el" href="a00866_source.html#l00048">48</a> of file <a class="el" href="a00866_source.html">unicharset.h</a>.</p>
624
<a class="anchor" id="a1fe86011ab9488980aca8e8e26958b2a"></a><!-- doxytag: member="CHAR_FRAGMENT::kMaxLen" ref="a1fe86011ab9488980aca8e8e26958b2a" args="" -->
625
<div class="memitem">
626
<div class="memproto">
627
<table class="memname">
629
<td class="memname">const int <a class="el" href="a00298.html#a1fe86011ab9488980aca8e8e26958b2a">CHAR_FRAGMENT::kMaxLen</a> = 3 + <a class="el" href="a00862.html#a902bc40c9d89802bc063afe30ce9e708">UNICHAR_LEN</a> + 2<code> [static]</code></td>
635
<p>Definition at line <a class="el" href="a00866_source.html#l00046">46</a> of file <a class="el" href="a00866_source.html">unicharset.h</a>.</p>
639
<a class="anchor" id="a7f25080aacecf7533fa11ec5d7bf2b15"></a><!-- doxytag: member="CHAR_FRAGMENT::kMinLen" ref="a7f25080aacecf7533fa11ec5d7bf2b15" args="" -->
640
<div class="memitem">
641
<div class="memproto">
642
<table class="memname">
644
<td class="memname">const int <a class="el" href="a00298.html#a7f25080aacecf7533fa11ec5d7bf2b15">CHAR_FRAGMENT::kMinLen</a> = 6<code> [static]</code></td>
650
<p>Definition at line <a class="el" href="a00866_source.html#l00044">44</a> of file <a class="el" href="a00866_source.html">unicharset.h</a>.</p>
654
<hr/>The documentation for this class was generated from the following files:<ul>
655
<li>/usr/local/google/home/jbreiden/tesseract-ocr-read-only/ccutil/<a class="el" href="a00866_source.html">unicharset.h</a></li>
656
<li>/usr/local/google/home/jbreiden/tesseract-ocr-read-only/ccutil/<a class="el" href="a00865_source.html">unicharset.cpp</a></li>
658
</div><!-- contents -->
660
<!-- window showing the filter options -->
661
<div id="MSearchSelectWindow"
662
onmouseover="return searchBox.OnSearchSelectShow()"
663
onmouseout="return searchBox.OnSearchSelectHide()"
664
onkeydown="return searchBox.OnSearchSelectKey(event)">
665
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Defines</a></div>
667
<!-- iframe showing the search results (closed by default) -->
668
<div id="MSearchResultsWindow">
669
<iframe src="javascript:void(0)" frameborder="0"
670
name="MSearchResults" id="MSearchResults">
674
<div id="nav-path" class="navpath">
676
<li class="navelem"><a class="el" href="a00298.html">CHAR_FRAGMENT</a> </li>
678
<li class="footer">Generated on Mon Feb 3 2014 10:59:16 for tesseract by
679
<a href="http://www.doxygen.org/index.html">
680
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1 </li>