casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
option::Parser::StoreOptionAction Class Reference

#include <optionparser.h>

Inheritance diagram for option::Parser::StoreOptionAction:
option::Parser::Action

Public Member Functions

 StoreOptionAction (Parser &parser_, Option options_[], Option buffer_[], int bufmax_)
 Number of slots in buffer. -1 means "large enough". More...
 
bool perform (Option &option)
 Called by Parser::workhorse() for each Option that has been successfully parsed (including unknown options if they have a Descriptor whose Descriptor::check_arg does not return ARG_ILLEGAL. More...
 
bool finished (int numargs, const char **args)
 Called by Parser::workhorse() after finishing the parse. More...
 

Private Attributes

Parserparser
 
Optionoptions
 
Optionbuffer
 
int bufmax
 

Detailed Description

Definition at line 1456 of file optionparser.h.

Constructor & Destructor Documentation

option::Parser::StoreOptionAction::StoreOptionAction ( Parser parser_,
Option  options_[],
Option  buffer_[],
int  bufmax_ 
)
inline

Number of slots in buffer. -1 means "large enough".

Creates a new StoreOption action.

Parameters
parser_the parser whose op_count should be updated.
options_each Option o is chained into the linked list options_[o.desc->index]
buffer_each Option is appended to this array as long as there's a free slot.
bufmax_number of slots in buffer_. -1 means "large enough".

find first empty slot in buffer (if any)

set parser's optionCount

Definition at line 1470 of file optionparser.h.

References buffer, bufmax, option::Parser::op_count, and parser.

Member Function Documentation

bool option::Parser::StoreOptionAction::finished ( int  numargs,
const char **  args 
)
inlinevirtual

Called by Parser::workhorse() after finishing the parse.

Parameters
numargsthe number of non-option arguments remaining
argspointer to the first remaining non-option argument (if numargs > 0).
Returns
false iff a fatal error has occurred.

only overwrite non-option argument list if there's at least 1 new non-option argument. Otherwise we keep the old list. This makes it easy to use default non-option arguments.

Reimplemented from option::Parser::Action.

Definition at line 1500 of file optionparser.h.

References option::Parser::nonop_args, option::Parser::nonop_count, and parser.

bool option::Parser::StoreOptionAction::perform ( Option )
inlinevirtual

Called by Parser::workhorse() for each Option that has been successfully parsed (including unknown options if they have a Descriptor whose Descriptor::check_arg does not return ARG_ILLEGAL.

Returns false iff a fatal error has occured and the parse should be aborted.

Reimplemented from option::Parser::Action.

Definition at line 1482 of file optionparser.h.

References option::Option::append(), buffer, bufmax, option::Option::desc, option::Descriptor::index, option::Parser::op_count, options, and parser.

Member Data Documentation

Option* option::Parser::StoreOptionAction::buffer
private

Definition at line 1460 of file optionparser.h.

Referenced by perform(), and StoreOptionAction().

int option::Parser::StoreOptionAction::bufmax
private

Definition at line 1461 of file optionparser.h.

Referenced by perform(), and StoreOptionAction().

Option* option::Parser::StoreOptionAction::options
private

Definition at line 1459 of file optionparser.h.

Referenced by perform().

Parser& option::Parser::StoreOptionAction::parser
private

Definition at line 1458 of file optionparser.h.

Referenced by finished(), perform(), and StoreOptionAction().


The documentation for this class was generated from the following file: