|
22 | 22 | not mean strict 7-bit ASCII encoding, but rather "char" strings in local
|
23 | 23 | 8-bit encoding.
|
24 | 24 | </para>
|
25 |
| - |
| 25 | + |
26 | 26 | <para>
|
27 | 27 | Generally, "Unicode support" can mean
|
28 | 28 | many things, but for the program_options library it means that:
|
|
54 | 54 | passed to an ascii value will be converted using a codecvt
|
55 | 55 | facet (which may be specified by the user).
|
56 | 56 | </para>
|
57 |
| - </listitem> |
| 57 | + </listitem> |
58 | 58 | </itemizedlist>
|
59 | 59 | </para>
|
60 | 60 | </listitem>
|
|
68 | 68 | Second, imagine a reusable library which has some options and exposes
|
69 | 69 | options description in its interface. If <emphasis>all</emphasis>
|
70 | 70 | options are either ascii or Unicode, and the library does not use any
|
71 |
| - Unicode strings, then the author will likely to use ascii options, which |
72 |
| - would make the library unusable inside Unicode |
| 71 | + Unicode strings, then the author is likely to use ascii options, making |
| 72 | + the library unusable inside Unicode |
73 | 73 | applications. Essentially, it would be necessary to provide two versions
|
74 | 74 | of the library -- ascii and Unicode.
|
75 | 75 | </para>
|
|
94 | 94 | <para>The primary question in implementing the Unicode support is whether
|
95 | 95 | to use templates and <code>std::basic_string</code> or to use some
|
96 | 96 | internal encoding and convert between internal and external encodings on
|
97 |
| - the interface boundaries. |
| 97 | + the interface boundaries. |
98 | 98 | </para>
|
99 | 99 |
|
100 | 100 | <para>The choice, mostly, is between code size and execution
|
|
171 | 171 | number of new instantiations.
|
172 | 172 | </para>
|
173 | 173 | </listitem>
|
174 |
| - |
| 174 | + |
175 | 175 | </itemizedlist>
|
176 | 176 | There's no clear leader, but the last point seems important, so UTF-8
|
177 |
| - will be used. |
| 177 | + will be used. |
178 | 178 | </para>
|
179 | 179 |
|
180 |
| - <para>Choosing the UTF-8 encoding allows the use of existing parsers, |
181 |
| - because 7-bit ascii characters retain their values in UTF-8, |
| 180 | + <para>Choosing the UTF-8 encoding allows the use of existing parsers, |
| 181 | + because 7-bit ascii characters retain their values in UTF-8, |
182 | 182 | so searching for 7-bit strings is simple. However, there are
|
183 | 183 | two subtle issues:
|
184 | 184 | <itemizedlist>
|
|
197 | 197 | almost universal encoding and since composing characters following '=' (and
|
198 | 198 | other characters with special meaning to the library) are not likely to appear.
|
199 | 199 | </para>
|
200 |
| - |
| 200 | + |
201 | 201 | </section>
|
202 | 202 |
|
203 |
| - |
| 203 | + |
204 | 204 | </section>
|
205 | 205 |
|
206 | 206 | <!--
|
207 | 207 | Local Variables:
|
208 | 208 | mode: xml
|
209 |
| - sgml-indent-data: t |
| 209 | + sgml-indent-data: t |
210 | 210 | sgml-parent-document: ("program_options.xml" "section")
|
211 | 211 | sgml-set-face: t
|
212 | 212 | End:
|
|
0 commit comments