<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../program_options.html" title="Chapter 29. Boost.Program_options">
+<link rel="up" href="../program_options.html" title="Chapter 30. Boost.Program_options">
<link rel="prev" href="overview.html" title="Library Overview">
<link rel="next" href="design.html" title="Design Discussion">
</head>
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="program_options.howto"></a>How To</h2></div></div></div>
<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="howto.html#idp523587104">Non-conventional Syntax</a></span></dt>
-<dt><span class="section"><a href="howto.html#idp523593216">Response Files</a></span></dt>
-<dt><span class="section"><a href="howto.html#idp523601232">Winmain Command Line</a></span></dt>
-<dt><span class="section"><a href="howto.html#idp523606464">Option Groups and Hidden Options</a></span></dt>
-<dt><span class="section"><a href="howto.html#idp523621680">Custom Validators</a></span></dt>
-<dt><span class="section"><a href="howto.html#idp523630672">Unicode Support</a></span></dt>
-<dt><span class="section"><a href="howto.html#idp523649952">Allowing Unknown Options</a></span></dt>
+<dt><span class="section"><a href="howto.html#idp435936128">Non-conventional Syntax</a></span></dt>
+<dt><span class="section"><a href="howto.html#idp435942240">Response Files</a></span></dt>
+<dt><span class="section"><a href="howto.html#idp435950256">Winmain Command Line</a></span></dt>
+<dt><span class="section"><a href="howto.html#idp435955488">Option Groups and Hidden Options</a></span></dt>
+<dt><span class="section"><a href="howto.html#idp435970704">Custom Validators</a></span></dt>
+<dt><span class="section"><a href="howto.html#idp435979696">Unicode Support</a></span></dt>
+<dt><span class="section"><a href="howto.html#idp435998976">Allowing Unknown Options</a></span></dt>
</dl></div>
<p>This section describes how the library can be used in specific
situations.</p>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp523587104"></a>Non-conventional Syntax</h3></div></div></div>
+<a name="idp435936128"></a>Non-conventional Syntax</h3></div></div></div>
<p>Sometimes, standard command line syntaxes are not enough. For
example, the gcc compiler has "-frtti" and -fno-rtti" options, and this
syntax is not directly supported.
</p>
-<a class="indexterm" name="idp523588352"></a><p>For such cases, the library allows the user to provide an
+<a class="indexterm" name="idp435937376"></a><p>For such cases, the library allows the user to provide an
<em class="firstterm">additional parser</em> -- a function which will be called on each
command line element, before any processing by the library. If the
additional parser recognises the syntax, it returns the option name and
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp523593216"></a>Response Files</h3></div></div></div>
-<a class="indexterm" name="idp523593888"></a><p>Some operating system have very low limits of the command line
+<a name="idp435942240"></a>Response Files</h3></div></div></div>
+<a class="indexterm" name="idp435942912"></a><p>Some operating system have very low limits of the command line
length. The common way to work around those limitations is using
<em class="firstterm">response files</em>. A response file is just a
configuration file which uses the same syntax as the command line. If
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp523601232"></a>Winmain Command Line</h3></div></div></div>
+<a name="idp435950256"></a>Winmain Command Line</h3></div></div></div>
<p>On the Windows operating system, GUI applications receive the
command line as a single string, not split into elements. For that reason,
the command line parser cannot be used directly. At least on some
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp523606464"></a>Option Groups and Hidden Options</h3></div></div></div>
+<a name="idp435955488"></a>Option Groups and Hidden Options</h3></div></div></div>
<p>Having a single instance of the <code class="computeroutput"><a class="link" href="../boost/program_options/options_description.html" title="Class options_description">options_description</a></code> class with all
the program's options can be problematic:
</p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp523621680"></a>Custom Validators</h3></div></div></div>
+<a name="idp435970704"></a>Custom Validators</h3></div></div></div>
<p>By default, the conversion of option's value from string into C++
type is done using iostreams, which sometimes is not convenient. The
library allows the user to customize the conversion for specific
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp523630672"></a>Unicode Support</h3></div></div></div>
+<a name="idp435979696"></a>Unicode Support</h3></div></div></div>
<p>To use the library with Unicode, you'd need to:
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp523649952"></a>Allowing Unknown Options</h3></div></div></div>
+<a name="idp435998976"></a>Allowing Unknown Options</h3></div></div></div>
<p>Usually, the library throws an exception on unknown option names. This
behaviour can be changed. For example, only some part of your application uses
- <a class="link" href="../program_options.html" title="Chapter 29. Boost.Program_options">Program_options</a>, and you wish to pass unrecognized options to another part of
+ <a class="link" href="../program_options.html" title="Chapter 30. Boost.Program_options">Program_options</a>, and you wish to pass unrecognized options to another part of
the program, or even to another application.</p>
<p>To allow unregistered options on the command line, you need to use
the <code class="computeroutput"><a class="link" href="../boost/program_options/basic_command_line_parser.html" title="Class template basic_command_line_parser">basic_command_line_parser</a></code> class for parsing (not <code class="computeroutput"><a class="link" href="../boost/program_options/parse_command_line.html" title="Function template parse_command_line">parse_command_line</a></code>)
- and call the <code class="computeroutput"><a class="link" href="../boost/program_options/basic_command_line_parser.html#idp908554688-bb">allow_unregistered</a></code>
+ and call the <code class="computeroutput"><a class="link" href="../boost/program_options/basic_command_line_parser.html#idp682349152-bb">allow_unregistered</a></code>
method of that class:
</p>
<pre class="programlisting">