<!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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.5"/> <title>GNU CommonC++: ost::CommandOption Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">GNU CommonC++ </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</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> <li><a href="examples.html"><span>Examples</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="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="namespaceost.html">ost</a></li><li class="navelem"><a class="el" href="classost_1_1_command_option.html">CommandOption</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-attribs">Public Attributes</a> | <a href="classost_1_1_command_option-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">ost::CommandOption Class Reference</div> </div> </div><!--header--> <div class="contents"> <p><a class="el" href="classost_1_1_command_option.html" title="CommandOption is the base class for all command line options. ">CommandOption</a> is the base class for all command line options. <a href="classost_1_1_command_option.html#details">More...</a></p> <p><code>#include <<a class="el" href="cmdoptns_8h_source.html">cmdoptns.h</a>></code></p> <div class="dynheader"> Inheritance diagram for ost::CommandOption:</div> <div class="dyncontent"> <div class="center"> <img src="classost_1_1_command_option.png" usemap="#ost::CommandOption_map" alt=""/> <map id="ost::CommandOption_map" name="ost::CommandOption_map"> <area href="classost_1_1_command_option_no_arg.html" title="CommandOption type for flags. " alt="ost::CommandOptionNoArg" shape="rect" coords="0,56,171,80"/> <area href="classost_1_1_command_option_with_arg.html" title="Derived class of CommandOption for options that have a value associated with them. " alt="ost::CommandOptionWithArg" shape="rect" coords="181,56,352,80"/> <area href="classost_1_1_command_option_arg.html" title="Class for options with an argument e.g. " alt="ost::CommandOptionArg" shape="rect" coords="0,112,171,136"/> <area href="classost_1_1_command_option_collect.html" title="It only makes sense to have a single one of these set and it is also exclusive with CommandOptionRest..." alt="ost::CommandOptionCollect" shape="rect" coords="181,112,352,136"/> <area href="classost_1_1_command_option_rest.html" title="It only makes sense to have a single one of these set and it is exclusive with CommandOptionCollect. " alt="ost::CommandOptionRest" shape="rect" coords="362,112,533,136"/> </map> </div></div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a> Public Types</h2></td></tr> <tr class="memitem:ab56f222627bb3843d2b055d42ceaa493"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_command_option.html#ab56f222627bb3843d2b055d42ceaa493">OptionType</a> { <a class="el" href="classost_1_1_command_option.html#ab56f222627bb3843d2b055d42ceaa493a51afdccef3c1eefa378b4ea79872fb9f">hasArg</a>, <a class="el" href="classost_1_1_command_option.html#ab56f222627bb3843d2b055d42ceaa493a206297cbdc29de03edfa0e24d589b227">noArg</a>, <a class="el" href="classost_1_1_command_option.html#ab56f222627bb3843d2b055d42ceaa493a4fbaf902c23f48a6d217585297f3afb5">trailing</a>, <a class="el" href="classost_1_1_command_option.html#ab56f222627bb3843d2b055d42ceaa493a9ebaee9fbe6ef1338347908f6e410095">collect</a> }</td></tr> <tr class="memdesc:ab56f222627bb3843d2b055d42ceaa493"><td class="mdescLeft"> </td><td class="mdescRight">OptionType is for denoting what type of option this is, with an arg, without an arg or the trailing args. <a href="classost_1_1_command_option.html#ab56f222627bb3843d2b055d42ceaa493">More...</a><br/></td></tr> <tr class="separator:ab56f222627bb3843d2b055d42ceaa493"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a7e42ca61d049698df46daae73bb205bb"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_command_option.html#a7e42ca61d049698df46daae73bb205bb">~CommandOption</a> ()</td></tr> <tr class="memdesc:a7e42ca61d049698df46daae73bb205bb"><td class="mdescLeft"> </td><td class="mdescRight">A virtual destructor just in case. <a href="#a7e42ca61d049698df46daae73bb205bb">More...</a><br/></td></tr> <tr class="separator:a7e42ca61d049698df46daae73bb205bb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a989bf900aed6323812ae6922edcdc4af"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_command_option.html#a989bf900aed6323812ae6922edcdc4af">CommandOption</a> (const char *inOptionName, const char *inOptionLetter, const char *inDescription, <a class="el" href="classost_1_1_command_option.html#ab56f222627bb3843d2b055d42ceaa493">OptionType</a> inOptionType, bool inRequired=false, <a class="el" href="classost_1_1_command_option.html">CommandOption</a> **ppNext=&<a class="el" href="namespaceost.html#a3b701311bbf7cf16f954820e316f5766">defaultCommandOptionList</a>)</td></tr> <tr class="memdesc:a989bf900aed6323812ae6922edcdc4af"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classost_1_1_command_option.html" title="CommandOption is the base class for all command line options. ">CommandOption</a> contructor. <a href="#a989bf900aed6323812ae6922edcdc4af">More...</a><br/></td></tr> <tr class="separator:a989bf900aed6323812ae6922edcdc4af"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a70394fb2a025443e6890e0e076a94477"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_command_option.html#a70394fb2a025443e6890e0e076a94477">foundOption</a> (<a class="el" href="classost_1_1_command_option_parse.html">CommandOptionParse</a> *cop, const char *value=0)</td></tr> <tr class="memdesc:a70394fb2a025443e6890e0e076a94477"><td class="mdescLeft"> </td><td class="mdescRight">foundOption is called by the <a class="el" href="classost_1_1_command_option_parse.html" title="This is the CommandOptionParse interface class. ">CommandOptionParse</a> object during the parsing of the command line options. <a href="#a70394fb2a025443e6890e0e076a94477">More...</a><br/></td></tr> <tr class="separator:a70394fb2a025443e6890e0e076a94477"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac6597549063ded15f8d50d72e8cd9bf6"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_command_option.html#ac6597549063ded15f8d50d72e8cd9bf6">foundOption</a> (<a class="el" href="classost_1_1_command_option_parse.html">CommandOptionParse</a> *cop, const char **value, int num)</td></tr> <tr class="memdesc:ac6597549063ded15f8d50d72e8cd9bf6"><td class="mdescLeft"> </td><td class="mdescRight">foundOption is called by the <a class="el" href="classost_1_1_command_option_parse.html" title="This is the CommandOptionParse interface class. ">CommandOptionParse</a> object during the parsing of the command line options. <a href="#ac6597549063ded15f8d50d72e8cd9bf6">More...</a><br/></td></tr> <tr class="separator:ac6597549063ded15f8d50d72e8cd9bf6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1cc99afcc775ca21d16c38a0661839a2"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_command_option.html#a1cc99afcc775ca21d16c38a0661839a2">parseDone</a> (<a class="el" href="classost_1_1_command_option_parse.html">CommandOptionParse</a> *cop)</td></tr> <tr class="memdesc:a1cc99afcc775ca21d16c38a0661839a2"><td class="mdescLeft"> </td><td class="mdescRight">Once parsing of command line options is complete, this method is called. <a href="#a1cc99afcc775ca21d16c38a0661839a2">More...</a><br/></td></tr> <tr class="separator:a1cc99afcc775ca21d16c38a0661839a2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af52fe62b7a0d3c40b726fa2447cb3b78"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_command_option.html#af52fe62b7a0d3c40b726fa2447cb3b78">performTask</a> (<a class="el" href="classost_1_1_command_option_parse.html">CommandOptionParse</a> *cop)</td></tr> <tr class="memdesc:af52fe62b7a0d3c40b726fa2447cb3b78"><td class="mdescLeft"> </td><td class="mdescRight">Once <a class="el" href="classost_1_1_command_option.html" title="CommandOption is the base class for all command line options. ">CommandOption</a> objects have completed parsing and there are no errors they may have some specific tasks to perform. <a href="#af52fe62b7a0d3c40b726fa2447cb3b78">More...</a><br/></td></tr> <tr class="separator:af52fe62b7a0d3c40b726fa2447cb3b78"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acf1272321b17a2cbe953ce23ffa6a5e8"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_command_option.html#acf1272321b17a2cbe953ce23ffa6a5e8">hasValue</a> ()</td></tr> <tr class="memdesc:acf1272321b17a2cbe953ce23ffa6a5e8"><td class="mdescLeft"> </td><td class="mdescRight">For fields with the required flag set, this method is used to determine if the Option has satisfied it's required status. <a href="#acf1272321b17a2cbe953ce23ffa6a5e8">More...</a><br/></td></tr> <tr class="separator:acf1272321b17a2cbe953ce23ffa6a5e8"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a> Public Attributes</h2></td></tr> <tr class="memitem:a3cf7d6f9d1943e981d29c38e2e188231"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_command_option.html#a3cf7d6f9d1943e981d29c38e2e188231">optionName</a></td></tr> <tr class="memdesc:a3cf7d6f9d1943e981d29c38e2e188231"><td class="mdescLeft"> </td><td class="mdescRight">Long option name, these will be preceded with "--" on the command line. <a href="#a3cf7d6f9d1943e981d29c38e2e188231">More...</a><br/></td></tr> <tr class="separator:a3cf7d6f9d1943e981d29c38e2e188231"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac894a27c5aeeb70ff07387bb721bd7c6"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_command_option.html#ac894a27c5aeeb70ff07387bb721bd7c6">optionLetter</a></td></tr> <tr class="memdesc:ac894a27c5aeeb70ff07387bb721bd7c6"><td class="mdescLeft"> </td><td class="mdescRight">option letter, these will be preceded with "-" on the command line. <a href="#ac894a27c5aeeb70ff07387bb721bd7c6">More...</a><br/></td></tr> <tr class="separator:ac894a27c5aeeb70ff07387bb721bd7c6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae7c1ad2ef21198b1bef933847ff5d197"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_command_option.html#ae7c1ad2ef21198b1bef933847ff5d197">description</a></td></tr> <tr class="memdesc:ae7c1ad2ef21198b1bef933847ff5d197"><td class="mdescLeft"> </td><td class="mdescRight">A short description of the option for Usage messages. <a href="#ae7c1ad2ef21198b1bef933847ff5d197">More...</a><br/></td></tr> <tr class="separator:ae7c1ad2ef21198b1bef933847ff5d197"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2e5f9f895bda7cf7dbe48e0106866368"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_command_option.html#ab56f222627bb3843d2b055d42ceaa493">OptionType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_command_option.html#a2e5f9f895bda7cf7dbe48e0106866368">optionType</a></td></tr> <tr class="memdesc:a2e5f9f895bda7cf7dbe48e0106866368"><td class="mdescLeft"> </td><td class="mdescRight">This command option's OptionType. <a href="#a2e5f9f895bda7cf7dbe48e0106866368">More...</a><br/></td></tr> <tr class="separator:a2e5f9f895bda7cf7dbe48e0106866368"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a05f8b1439cbf0cf33f47707a33baad57"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_command_option.html#a05f8b1439cbf0cf33f47707a33baad57">required</a></td></tr> <tr class="memdesc:a05f8b1439cbf0cf33f47707a33baad57"><td class="mdescLeft"> </td><td class="mdescRight">True if this parameter is required. <a href="#a05f8b1439cbf0cf33f47707a33baad57">More...</a><br/></td></tr> <tr class="separator:a05f8b1439cbf0cf33f47707a33baad57"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0dd94d805913bf11cd188de53baaf27c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_command_option.html">CommandOption</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_command_option.html#a0dd94d805913bf11cd188de53baaf27c">next</a></td></tr> <tr class="memdesc:a0dd94d805913bf11cd188de53baaf27c"><td class="mdescLeft"> </td><td class="mdescRight">This next <a class="el" href="classost_1_1_command_option.html" title="CommandOption is the base class for all command line options. ">CommandOption</a> in this list of options or nil if no more options exist. <a href="#a0dd94d805913bf11cd188de53baaf27c">More...</a><br/></td></tr> <tr class="separator:a0dd94d805913bf11cd188de53baaf27c"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p><a class="el" href="classost_1_1_command_option.html" title="CommandOption is the base class for all command line options. ">CommandOption</a> is the base class for all command line options. </p> <p>Command line options can be defined statically and used when constructing a command line parser onject using makeCommandOptionParse. This serves only as a base class to <a class="el" href="classost_1_1_command_option_with_arg.html" title="Derived class of CommandOption for options that have a value associated with them. ">CommandOptionWithArg</a>, <a class="el" href="classost_1_1_command_option_rest.html" title="It only makes sense to have a single one of these set and it is exclusive with CommandOptionCollect. ">CommandOptionRest</a> or <a class="el" href="classost_1_1_command_option_no_arg.html" title="CommandOption type for flags. ">CommandOptionNoArg</a> which can also be used to derive more complex classes or even entire applications.</p> <dl class="section author"><dt>Author</dt><dd>Gianni Mariani <a href="#" onclick="location.href='mai'+'lto:'+'gia'+'nn'+'i@m'+'ar'+'ian'+'i.'+'ws'; return false;">giann<span style="display: none;">.nosp@m.</span>i@ma<span style="display: none;">.nosp@m.</span>riani<span style="display: none;">.nosp@m.</span>.ws</a> </dd></dl> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="cmdlineopt_8cpp-example.html#_a9">cmdlineopt.cpp</a>.</dd> </dl></div><h2 class="groupheader">Member Enumeration Documentation</h2> <a class="anchor" id="ab56f222627bb3843d2b055d42ceaa493"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="classost_1_1_command_option.html#ab56f222627bb3843d2b055d42ceaa493">ost::CommandOption::OptionType</a></td> </tr> </table> </div><div class="memdoc"> <p>OptionType is for denoting what type of option this is, with an arg, without an arg or the trailing args. </p> <p>Option type </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ab56f222627bb3843d2b055d42ceaa493a51afdccef3c1eefa378b4ea79872fb9f"></a>hasArg</em> </td><td class="fielddoc"> <p>This option is associated with a value. </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ab56f222627bb3843d2b055d42ceaa493a206297cbdc29de03edfa0e24d589b227"></a>noArg</em> </td><td class="fielddoc"> <p>This option is a flag only. </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ab56f222627bb3843d2b055d42ceaa493a4fbaf902c23f48a6d217585297f3afb5"></a>trailing</em> </td><td class="fielddoc"> <p>Remaining of the command line arguments. </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ab56f222627bb3843d2b055d42ceaa493a9ebaee9fbe6ef1338347908f6e410095"></a>collect</em> </td><td class="fielddoc"> <p>Collect values that are not a value to an option. </p> </td></tr> </table> </div> </div> <h2 class="groupheader">Constructor & Destructor Documentation</h2> <a class="anchor" id="a7e42ca61d049698df46daae73bb205bb"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual ost::CommandOption::~CommandOption </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>A virtual destructor just in case. </p> </div> </div> <a class="anchor" id="a989bf900aed6323812ae6922edcdc4af"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">ost::CommandOption::CommandOption </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>inOptionName</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>inOptionLetter</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>inDescription</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classost_1_1_command_option.html#ab56f222627bb3843d2b055d42ceaa493">OptionType</a> </td> <td class="paramname"><em>inOptionType</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>inRequired</em> = <code>false</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classost_1_1_command_option.html">CommandOption</a> ** </td> <td class="paramname"><em>ppNext</em> = <code>&<a class="el" href="namespaceost.html#a3b701311bbf7cf16f954820e316f5766">defaultCommandOptionList</a></code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p><a class="el" href="classost_1_1_command_option.html" title="CommandOption is the base class for all command line options. ">CommandOption</a> contructor. </p> <p>Note the default values for required and ppNext.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">inOptionName</td><td>long option name </td></tr> <tr><td class="paramname">inOptionLetter</td><td>short letter name </td></tr> <tr><td class="paramname">inDescription</td><td>short description of the option </td></tr> <tr><td class="paramname">inOptionType</td><td>the type of this option </td></tr> <tr><td class="paramname">inRequired</td><td>true if option is required </td></tr> <tr><td class="paramname">ppNext</td><td>the linked list header </td></tr> </table> </dd> </dl> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="a70394fb2a025443e6890e0e076a94477"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual void ost::CommandOption::foundOption </td> <td>(</td> <td class="paramtype"><a class="el" href="classost_1_1_command_option_parse.html">CommandOptionParse</a> * </td> <td class="paramname"><em>cop</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>value</em> = <code>0</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>foundOption is called by the <a class="el" href="classost_1_1_command_option_parse.html" title="This is the CommandOptionParse interface class. ">CommandOptionParse</a> object during the parsing of the command line options. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">cop</td><td>pointer to the command option parser </td></tr> <tr><td class="paramname">value</td><td>the value of this option </td></tr> </table> </dd> </dl> <p>Reimplemented in <a class="el" href="classost_1_1_command_option_no_arg.html#a5762755aabab3298e9e9d2fe45f4de61">ost::CommandOptionNoArg</a>, and <a class="el" href="classost_1_1_command_option_with_arg.html#aa7a9e87b68ef493f84688355062fc9a8">ost::CommandOptionWithArg</a>.</p> </div> </div> <a class="anchor" id="ac6597549063ded15f8d50d72e8cd9bf6"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual void ost::CommandOption::foundOption </td> <td>(</td> <td class="paramtype"><a class="el" href="classost_1_1_command_option_parse.html">CommandOptionParse</a> * </td> <td class="paramname"><em>cop</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char ** </td> <td class="paramname"><em>value</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>num</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>foundOption is called by the <a class="el" href="classost_1_1_command_option_parse.html" title="This is the CommandOptionParse interface class. ">CommandOptionParse</a> object during the parsing of the command line options. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">cop</td><td>pointer to the command option parser </td></tr> <tr><td class="paramname">value</td><td>an array of values of this option </td></tr> <tr><td class="paramname">num</td><td>number of values in the array </td></tr> </table> </dd> </dl> <p>Reimplemented in <a class="el" href="classost_1_1_command_option_with_arg.html#a7e012538193acafda06b609dc1dee369">ost::CommandOptionWithArg</a>.</p> </div> </div> <a class="anchor" id="acf1272321b17a2cbe953ce23ffa6a5e8"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual bool ost::CommandOption::hasValue </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>For fields with the required flag set, this method is used to determine if the Option has satisfied it's required status. </p> <p>The default methods simply returns true if any values have been found. This could be specialized to return true based on some other criteria. </p> <p>Reimplemented in <a class="el" href="classost_1_1_command_option_with_arg.html#acf0c03d84b032dab059ae219922dadde">ost::CommandOptionWithArg</a>.</p> </div> </div> <a class="anchor" id="a1cc99afcc775ca21d16c38a0661839a2"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual void ost::CommandOption::parseDone </td> <td>(</td> <td class="paramtype"><a class="el" href="classost_1_1_command_option_parse.html">CommandOptionParse</a> * </td> <td class="paramname"><em>cop</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Once parsing of command line options is complete, this method is called. </p> <p>This can be used to perform last minute checks on the options collected.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">cop</td><td>pointer to the command option parser </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="af52fe62b7a0d3c40b726fa2447cb3b78"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual void ost::CommandOption::performTask </td> <td>(</td> <td class="paramtype"><a class="el" href="classost_1_1_command_option_parse.html">CommandOptionParse</a> * </td> <td class="paramname"><em>cop</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Once <a class="el" href="classost_1_1_command_option.html" title="CommandOption is the base class for all command line options. ">CommandOption</a> objects have completed parsing and there are no errors they may have some specific tasks to perform. </p> <p>PerformTask must return.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">cop</td><td>pointer to the command option parser </td></tr> </table> </dd> </dl> </div> </div> <h2 class="groupheader">Member Data Documentation</h2> <a class="anchor" id="ae7c1ad2ef21198b1bef933847ff5d197"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* ost::CommandOption::description</td> </tr> </table> </div><div class="memdoc"> <p>A short description of the option for Usage messages. </p> <p>e.g. Usage: mycommand : blah -f, –file <DESCRIPTION here> </p> </div> </div> <a class="anchor" id="a0dd94d805913bf11cd188de53baaf27c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classost_1_1_command_option.html">CommandOption</a>* ost::CommandOption::next</td> </tr> </table> </div><div class="memdoc"> <p>This next <a class="el" href="classost_1_1_command_option.html" title="CommandOption is the base class for all command line options. ">CommandOption</a> in this list of options or nil if no more options exist. </p> </div> </div> <a class="anchor" id="ac894a27c5aeeb70ff07387bb721bd7c6"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* ost::CommandOption::optionLetter</td> </tr> </table> </div><div class="memdoc"> <p>option letter, these will be preceded with "-" on the command line. </p> <p>e.g. -f foo.x </p> </div> </div> <a class="anchor" id="a3cf7d6f9d1943e981d29c38e2e188231"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* ost::CommandOption::optionName</td> </tr> </table> </div><div class="memdoc"> <p>Long option name, these will be preceded with "--" on the command line. </p> <p>e.g. –file foo.x </p> </div> </div> <a class="anchor" id="a2e5f9f895bda7cf7dbe48e0106866368"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classost_1_1_command_option.html#ab56f222627bb3843d2b055d42ceaa493">OptionType</a> ost::CommandOption::optionType</td> </tr> </table> </div><div class="memdoc"> <p>This command option's OptionType. </p> </div> </div> <a class="anchor" id="a05f8b1439cbf0cf33f47707a33baad57"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool ost::CommandOption::required</td> </tr> </table> </div><div class="memdoc"> <p>True if this parameter is required. </p> <p>If the parameter is not supplied and required is true, an error will be flagged in the option processor. </p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="cmdoptns_8h_source.html">cmdoptns.h</a></li> </ul> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Thu Oct 17 2013 23:24:57 for GNU CommonC++ by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.5 </small></address> </body> </html>