<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>incron: AppArgs Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">incron  <span id="projectnumber">0.5.10</span> </div> </td> </tr> </tbody> </table> </div> <!-- Generated by Doxygen 1.7.5.1 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-static-methods">Static Public Member Functions</a> | <a href="#pro-static-methods">Static Protected Member Functions</a> </div> <div class="headertitle"> <div class="title">AppArgs Class Reference</div> </div> </div> <div class="contents"> <!-- doxytag: class="AppArgs" --> <p>Application arguments. <a href="classAppArgs.html#details">More...</a></p> <p><code>#include <<a class="el" href="appargs_8h_source.html">appargs.h</a>></code></p> <p><a href="classAppArgs-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-static-methods"></a> Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#a5365bfc9a54a0318166cbb003f905dc0">Init</a> (size_t valMinCnt=0, size_t valMaxCnt=APPARGS_NOLIMIT)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Initializes the processor. <a href="#a5365bfc9a54a0318166cbb003f905dc0"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#a42655a3eff85509c7f2ce1fcba0b1f31">Destroy</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Releases resources allocated by the processor. <a href="#a42655a3eff85509c7f2ce1fcba0b1f31"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#a0f2ab8497fa8c6aaf7b9faf0c75dbcff">Parse</a> (int argc, const char *const *argv)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Parses arguments and builds the appropriate structure. <a href="#a0f2ab8497fa8c6aaf7b9faf0c75dbcff"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#aa4a29548cfffac89df731267b79d1d49">IsValid</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Checks whether the arguments have valid form. <a href="#aa4a29548cfffac89df731267b79d1d49"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#af3336e77fc109c12def19406787d7126">ExistsOption</a> (const std::string &rArg)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Checks whether an option exists. <a href="#af3336e77fc109c12def19406787d7126"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#a274f64c50b8cbbe3094dde621ef3b11d">GetOption</a> (const std::string &rArg, std::string &rVal)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Extracts an option value. <a href="#a274f64c50b8cbbe3094dde621ef3b11d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#ab19a36ff2e25a416415309b8224bbab1">AddOption</a> (const std::string &rName, char cShort, <a class="el" href="appargs_8h.html#a5704dc04528b6c626472cea01c9a7915">AppArgType_t</a> type, bool fMandatory)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adds an option. <a href="#ab19a36ff2e25a416415309b8224bbab1"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#a4d6e538d8c08bbecc2a3c8dfab75cde7">GetValueCount</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the count of values. <a href="#a4d6e538d8c08bbecc2a3c8dfab75cde7"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#a050217dd528c4d6c30dc559ba19bbe3d">GetValue</a> (size_t index, std::string &rVal)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Extracts a value. <a href="#a050217dd528c4d6c30dc559ba19bbe3d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#a00d5d4d822c8c1bc792313b51eeeec44">Dump</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Dumps information about options and value to STDERR. <a href="#a00d5d4d822c8c1bc792313b51eeeec44"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pro-static-methods"></a> Static Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#a2471f11b0d74e3a427f1d9c02c9d6494">IsOption</a> (const char *pchStr)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Checks whether a string is an option. <a href="#a2471f11b0d74e3a427f1d9c02c9d6494"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#a7058134b8e90e9ee7ee9c23d98a03708">IsLongOption</a> (const char *pchStr)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Checks whether a string is a long option. <a href="#a7058134b8e90e9ee7ee9c23d98a03708"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#a1b3384fa201fb04948776c4e79cf633c">ParseLong</a> (const char *pchStr, std::string &rName, std::string &rVal, bool &rfHasVal)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Parses a string and attempts to treat it as a long option. <a href="#a1b3384fa201fb04948776c4e79cf633c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#a9d503ca65c0025cf6d04a00cb2e8b12e">ParseShort</a> (const char *pchStr, char &rcName, std::string &rVal, bool &rfHasVal)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Parses a string and attempts to treat it as a short option. <a href="#a9d503ca65c0025cf6d04a00cb2e8b12e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#aee73398d0548dd1aaeb1eee8c959a3a5">DumpOption</a> (const std::string &rName, char cShort, <a class="el" href="structAppArgOption__t.html">AppArgOption_t</a> *pOpt)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Dumps an option to STDERR. <a href="#aee73398d0548dd1aaeb1eee8c959a3a5"></a><br/></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Application arguments. </p> <p>This class is set-up for processing command line arguments. Then it parses these arguments and builds data which can be queried later.</p> <p>There are two categories of arguments: </p> <ul> <li>options (a.k.a. switches) </li> <li>values</li> </ul> <p>Options represent changeable parameters of the application. Values are a kind of input data.</p> <p>Each option has one of the following types: </p> <ul> <li>no value (two-state logic, e.g. running on foreground/background) </li> <li>optional value (e.g. for logging: another file than default can be specified) </li> <li>mandatory value (e.g. custom configuration file)</li> </ul> <p>Each option always have two forms - long one (introcuded by two hyphens, e.g. --edit) and short one (introduced by one hyphen, e.g. -e). These forms are functionally equivalent.</p> <p>Unknown options are silently ignored. </p> </div><hr/><h2>Member Function Documentation</h2> <a class="anchor" id="ab19a36ff2e25a416415309b8224bbab1"></a><!-- doxytag: member="AppArgs::AddOption" ref="ab19a36ff2e25a416415309b8224bbab1" args="(const std::string &rName, char cShort, AppArgType_t type, bool fMandatory)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool AppArgs::AddOption </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>rName</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char </td> <td class="paramname"><em>cShort</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="appargs_8h.html#a5704dc04528b6c626472cea01c9a7915">AppArgType_t</a> </td> <td class="paramname"><em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>fMandatory</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Adds an option. </p> <p>This method is intended to be called between initilization and parsing. It adds an option which may (or must) occur inside the argument vector.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">rName</td><td>long option name </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">cShort</td><td>short (one-character) option name </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>argument type </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">fMandatory</td><td>option is mandatory yes/no </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>true = success, false = failure (e.g. option already exists) </dd></dl> </div> </div> <a class="anchor" id="a42655a3eff85509c7f2ce1fcba0b1f31"></a><!-- doxytag: member="AppArgs::Destroy" ref="a42655a3eff85509c7f2ce1fcba0b1f31" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void AppArgs::Destroy </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Releases resources allocated by the processor. </p> <p>This method should be called if the argument values are no longer needed. </p> </div> </div> <a class="anchor" id="a00d5d4d822c8c1bc792313b51eeeec44"></a><!-- doxytag: member="AppArgs::Dump" ref="a00d5d4d822c8c1bc792313b51eeeec44" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void AppArgs::Dump </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Dumps information about options and value to STDERR. </p> <dl class="attention"><dt><b>Attention:</b></dt><dd>This method may be very slow. </dd></dl> </div> </div> <a class="anchor" id="aee73398d0548dd1aaeb1eee8c959a3a5"></a><!-- doxytag: member="AppArgs::DumpOption" ref="aee73398d0548dd1aaeb1eee8c959a3a5" args="(const std::string &rName, char cShort, AppArgOption_t *pOpt)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void AppArgs::DumpOption </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>rName</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char </td> <td class="paramname"><em>cShort</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structAppArgOption__t.html">AppArgOption_t</a> * </td> <td class="paramname"><em>pOpt</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [static, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Dumps an option to STDERR. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">rName</td><td>long option name </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">cShort</td><td>short option name </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">pOpt</td><td>option data </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="af3336e77fc109c12def19406787d7126"></a><!-- doxytag: member="AppArgs::ExistsOption" ref="af3336e77fc109c12def19406787d7126" args="(const std::string &rArg)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool AppArgs::ExistsOption </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>rArg</em></td><td>)</td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Checks whether an option exists. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">rArg</td><td>long option name </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>true = option exists, false = otherwise </dd></dl> </div> </div> <a class="anchor" id="a274f64c50b8cbbe3094dde621ef3b11d"></a><!-- doxytag: member="AppArgs::GetOption" ref="a274f64c50b8cbbe3094dde621ef3b11d" args="(const std::string &rArg, std::string &rVal)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool AppArgs::GetOption </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>rArg</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">std::string & </td> <td class="paramname"><em>rVal</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Extracts an option value. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">rArg</td><td>long option name </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">rVal</td><td>option value </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>true = value extracted, false = option not found or has no value </dd></dl> </div> </div> <a class="anchor" id="a050217dd528c4d6c30dc559ba19bbe3d"></a><!-- doxytag: member="AppArgs::GetValue" ref="a050217dd528c4d6c30dc559ba19bbe3d" args="(size_t index, std::string &rVal)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool AppArgs::GetValue </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"><em>index</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">std::string & </td> <td class="paramname"><em>rVal</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Extracts a value. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>value index </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">rVal</td><td>extracted value </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>true = value extracted, false = otherwise </dd></dl> </div> </div> <a class="anchor" id="a4d6e538d8c08bbecc2a3c8dfab75cde7"></a><!-- doxytag: member="AppArgs::GetValueCount" ref="a4d6e538d8c08bbecc2a3c8dfab75cde7" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t AppArgs::GetValueCount </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the count of values. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>count of values </dd></dl> </div> </div> <a class="anchor" id="a5365bfc9a54a0318166cbb003f905dc0"></a><!-- doxytag: member="AppArgs::Init" ref="a5365bfc9a54a0318166cbb003f905dc0" args="(size_t valMinCnt=0, size_t valMaxCnt=APPARGS_NOLIMIT)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void AppArgs::Init </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"><em>valMinCnt</em> = <code>0</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>valMaxCnt</em> = <code>APPARGS_NOLIMIT</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Initializes the processor. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">valMinCnt</td><td>minimum count of values </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">valMaxCnt</td><td>maximum number of values (no effect if lower than valMinCnt) </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a7058134b8e90e9ee7ee9c23d98a03708"></a><!-- doxytag: member="AppArgs::IsLongOption" ref="a7058134b8e90e9ee7ee9c23d98a03708" args="(const char *pchStr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool AppArgs::IsLongOption </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pchStr</em></td><td>)</td> <td><code> [static, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Checks whether a string is a long option. </p> <p>This methos assumes the string is an option (if not the behavior is undefined).</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">pchStr</td><td>text string </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>true = option, false = otherwise </dd></dl> </div> </div> <a class="anchor" id="a2471f11b0d74e3a427f1d9c02c9d6494"></a><!-- doxytag: member="AppArgs::IsOption" ref="a2471f11b0d74e3a427f1d9c02c9d6494" args="(const char *pchStr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool AppArgs::IsOption </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pchStr</em></td><td>)</td> <td><code> [static, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Checks whether a string is an option. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">pchStr</td><td>text string </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>true = option, false = otherwise </dd></dl> </div> </div> <a class="anchor" id="aa4a29548cfffac89df731267b79d1d49"></a><!-- doxytag: member="AppArgs::IsValid" ref="aa4a29548cfffac89df731267b79d1d49" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool AppArgs::IsValid </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Checks whether the arguments have valid form. </p> <p>Arguments are valid if: </p> <ul> <li>all mandatory options are present </li> <li>all options with mandatory values have their values </li> <li>value count is between its minimum and maximum </li> <li>there are no unknown options (if unknown options are not accepted)</li> </ul> <dl class="return"><dt><b>Returns:</b></dt><dd>true = arguments valid, false = otherwise </dd></dl> </div> </div> <a class="anchor" id="a0f2ab8497fa8c6aaf7b9faf0c75dbcff"></a><!-- doxytag: member="AppArgs::Parse" ref="a0f2ab8497fa8c6aaf7b9faf0c75dbcff" args="(int argc, const char *const *argv)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void AppArgs::Parse </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>argc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char *const * </td> <td class="paramname"><em>argv</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Parses arguments and builds the appropriate structure. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">argc</td><td>argument count </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">argv</td><td>argument vector</td></tr> </table> </dd> </dl> <dl class="attention"><dt><b>Attention:</b></dt><dd>All errors are silently ignored. </dd></dl> </div> </div> <a class="anchor" id="a1b3384fa201fb04948776c4e79cf633c"></a><!-- doxytag: member="AppArgs::ParseLong" ref="a1b3384fa201fb04948776c4e79cf633c" args="(const char *pchStr, std::string &rName, std::string &rVal, bool &rfHasVal)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool AppArgs::ParseLong </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pchStr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">std::string & </td> <td class="paramname"><em>rName</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">std::string & </td> <td class="paramname"><em>rVal</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool & </td> <td class="paramname"><em>rfHasVal</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [static, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Parses a string and attempts to treat it as a long option. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">pchStr</td><td>text string </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">rName</td><td>option name </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">rVal</td><td>value string </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">rfHasVal</td><td>option has value yes/no </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>true = success, false = failure </dd></dl> </div> </div> <a class="anchor" id="a9d503ca65c0025cf6d04a00cb2e8b12e"></a><!-- doxytag: member="AppArgs::ParseShort" ref="a9d503ca65c0025cf6d04a00cb2e8b12e" args="(const char *pchStr, char &rcName, std::string &rVal, bool &rfHasVal)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void AppArgs::ParseShort </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pchStr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char & </td> <td class="paramname"><em>rcName</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">std::string & </td> <td class="paramname"><em>rVal</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool & </td> <td class="paramname"><em>rfHasVal</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [static, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Parses a string and attempts to treat it as a short option. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">pchStr</td><td>text string </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">rcName</td><td>option name </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">rVal</td><td>value string </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">rfHasVal</td><td>option has value yes/no</td></tr> </table> </dd> </dl> <dl class="attention"><dt><b>Attention:</b></dt><dd>This method assumes the string is a valid short option. </dd></dl> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="appargs_8h_source.html">appargs.h</a></li> <li><a class="el" href="appargs_8cpp.html">appargs.cpp</a></li> </ul> </div> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.7.5.1 </small></address> </body> </html>