deferred class COMMAND_LINE_ARGUMENT
Summary
Represents a (semantically unique) command-line argument (option or positional alike). The semantics of a command-line argument depends on how it is created, and includes:
 * arguments conjunction (a "set" of arguments)
 * arguments disjunction (a mutually exclusive set of arguments)
 * options (which may be mandatory)
 * positional arguments (which may be fixed at a given index)
"Simple" options and positional arguments may be set zero times (if not is_mandatory), once, or more (if is_repeatable), depending on the argument configuration.
Direct parents
Insert list: ANY
Known children
Inherit list: CLARG_AND, CLARG_NOP, CLARG_NOT, CLARG_OR, COMMAND_LINE_TYPED_ARGUMENT
Overview
Features
{ANY}
  • infix "or" (other: COMMAND_LINE_ARGUMENT): COMMAND_LINE_ARGUMENT
    Arguments disjunction.
  • infix "or else" (other: COMMAND_LINE_ARGUMENT): COMMAND_LINE_ARGUMENT
    Arguments disjunction.
  • infix "and" (other: COMMAND_LINE_ARGUMENT): COMMAND_LINE_ARGUMENT
    Arguments conjunction.
  • infix "and then" (other: COMMAND_LINE_ARGUMENT): COMMAND_LINE_ARGUMENT
    Arguments conjunction.
  • prefix "not": COMMAND_LINE_ARGUMENT
    (tentative; don't use it, the semantics is not well defined)
{ANY}
{COMMAND_LINE_ARGUMENTS, COMMAND_LINE_ARGUMENT}
{}
infix "or" (other: COMMAND_LINE_ARGUMENT): COMMAND_LINE_ARGUMENT
effective function
{ANY}
Arguments disjunction.
Useful to implement mutually exclusive sets of arguments.
require
  • other /= Void
ensure
  • Result /= Void
infix "or else" (other: COMMAND_LINE_ARGUMENT): COMMAND_LINE_ARGUMENT
effective function
{ANY}
Arguments disjunction.
Useful to implement mutually exclusive sets of arguments.
require
  • other /= Void
ensure
  • Result /= Void
infix "and" (other: COMMAND_LINE_ARGUMENT): COMMAND_LINE_ARGUMENT
effective function
{ANY}
Arguments conjunction.
All the arguments are checked, in any order.
require
  • other /= Void
ensure
  • Result /= Void
infix "and then" (other: COMMAND_LINE_ARGUMENT): COMMAND_LINE_ARGUMENT
effective function
{ANY}
Arguments conjunction.
All the arguments are checked, in any order.
require
  • other /= Void
ensure
  • Result /= Void
prefix "not": COMMAND_LINE_ARGUMENT
effective function
{ANY}
(tentative; don't use it, the semantics is not well defined)
ensure
  • Result /= Void
is_set: BOOLEAN
deferred function
{ANY}
True if the option is present and correct.
is_mandatory: BOOLEAN
deferred function
{ANY}
True if the argument must be present.
is_repeatable: BOOLEAN
deferred function
{ANY}
True if the argument is repeatable; False if unique.
prepare_parse
deferred procedure
ensure
require
  • context.is_parsed
undo_parse (context: COMMAND_LINE_CONTEXT)
deferred procedure
require ensure
True if the option is present and correct at the given context.
require
  • context.is_parsed
ensure
usage_summary (stream: OUTPUT_STREAM)
deferred procedure
ensure
usage_details (stream: OUTPUT_STREAM)
deferred procedure
ensure
detailed: BOOLEAN
deferred function
{}