 |
ewmscp
..
|
Go to the documentation of this file. 1 #ifndef __OptionsWithForeignParser_H__
2 #define __OptionsWithForeignParser_H__
21 template <
typename InputIt>
void fFinalize(InputIt from, InputIt to) {
23 for (
auto it = from; it != to; ++it) {
41 char aShortName, std::string aLongName, std::string aExplanation,
short aNargs,
42 const char *aCanonicalForm);
48 void fWriteValue(std::ostream& aStream)
const override;
ForeignApplicationOptions(const char *aName)
construct an object of typs ForeignApplicationOptions
virtual void fAddArgs() const
add args of this option tho the argument vector of the option list
void fSetMe(std::istream &aArg, const internal::sourceItem &aSource) override
remember argument ad register in list of options that were set.
class to hold a list of options that are to be handled by a foreign option parser
ForeignApplicationOptions * lOptions
void fFinalize()
build the internal argument vector for the call to the external parser
void fAddDefaultFromStream(std::istream &aStream) override
just read away the line, we cannot do anything sensible here
void fFinalize(InputIt from, InputIt to)
build the internal argument vector for the call to the external parser and adds strings from the iter...
int * Argc()
return a pointer to the argument count for use with the external parser
void fCheckRange() const override
range checking does not work, we know no ranges
char ** Argv()
return an argument vector for use with the external parser
void fAddToArgc(const char *aString)
add string to the argument vector for the external parser
class to remember from which line (or item) of a file/line an option was set from
void fAddToRangeFromStream(std::istream &aStream) override
just read away the line, we cannot do anything sensible here
void fRegister(const ForeignOption *aOption)
add aOption to the list of options that were set.
void fWriteValue(std::ostream &aStream) const override
write textual representation of value to a std::ostream
void fSetMeNoarg(const internal::sourceItem &aSource) override
ForeignOption(ForeignApplicationOptions *aForeignApplication, char aShortName, std::string aLongName, std::string aExplanation, short aNargs, const char *aCanonicalForm)
special type of option that is not really parsed but used to feed an additional option parser
std::vector< const ForeignOption * > lOptions
std::vector< char * > lArgv