ALib C++ Library
Library Version: 2412 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
Option Struct Reference

Description:

An option of a command line. Options are read "automatically" using their declaration information defined with externalized strings (resources) accessed through ALib Enum Records associated with enum elements of enum custom types.

However, such automatic read is limited due to the fact, that the simple values and flags defined with OptionDecl, cannot provide the flexibility needed to perfectly parse options with a complex syntax.

In this case, the way out is to use custom code that invokes ReadOptions and then processes all options that may have remaining arguments left in the list. Using field Position further arguments may be consumed from CommandLine::ArgsLeft.
Note, "processing all options" may mean a nested loop. The outer is over the option types of OptionsFound, the inner is over the vector of options per type.

Definition at line 408 of file arguments.hpp.

#include <arguments.hpp>

Inheritance diagram for Option:
[legend]
Collaboration diagram for Option:
[legend]

Public Field Index:

List< MonoAllocator, String, Recycling::Shared > Args
 Arguments belonging to this option.
 
OptionDeclDeclaration = nullptr
 The declaration struct.
 
- Public Field Index: inherited from Parsed
CommandLineCmdLine
 The cli command line.
 
integer ConsumedArguments
 
integer Position
 

Public Method Index:

 Option (CommandLine *cmdLine)
 
ALIB_API bool Read (OptionDecl &decl, String &arg, const integer argNo)
 
- Public Method Index: inherited from Parsed
 Parsed (CommandLine *cmdLine)
 

Field Details:

◆ Args

List<MonoAllocator, String, Recycling::Shared> Args

Arguments belonging to this option.

Definition at line 414 of file arguments.hpp.

◆ Declaration

OptionDecl* Declaration = nullptr

The declaration struct.

Definition at line 411 of file arguments.hpp.

Constructor(s) / Destructor Details:

◆ Option()

Option ( CommandLine * cmdLine)
inline

Constructor

Parameters
cmdLineThe command line main object.

Definition at line 553 of file commandline.hpp.

Method Details:

◆ Read()

bool Read ( OptionDecl & decl,
String & arg,
const integer argNo )

Tries to read the object from the current CLI arg(s).

Note
Unlike the read methods Command::Read and Parameter::Read, this method expects the argument to test not only by number with argNo but as well with string parameter arg.
This redundancy is needed to easily implement shortcut options, that just replace a shortcut option read to another one, probably with a preset argument included.
Parameters
declThe declaration used for reading.
argThe argument string starting with one or two hyphens.
argNoThe position of reading.
Returns
The true on success, false otherwise.

Definition at line 59 of file arguments.cpp.

Here is the call graph for this function:

The documentation for this struct was generated from the following files: