flap_command_line_argument_t Module

Command Line Argument (CLA) class.


Uses

  • module~~flap_command_line_argument_t~~UsesGraph module~flap_command_line_argument_t flap_command_line_argument_t module~face face module~flap_command_line_argument_t->module~face module~flap_object_t flap_object_t module~flap_command_line_argument_t->module~flap_object_t module~flap_utils_m flap_utils_m module~flap_command_line_argument_t->module~flap_utils_m penf penf module~flap_command_line_argument_t->penf iso_fortran_env iso_fortran_env module~face->iso_fortran_env module~flap_object_t->penf module~flap_object_t->iso_fortran_env module~flap_utils_m->penf

Used by

  • module~~flap_command_line_argument_t~~UsedByGraph module~flap_command_line_argument_t flap_command_line_argument_t module~flap flap module~flap->module~flap_command_line_argument_t module~flap_command_line_arguments_group_t flap_command_line_arguments_group_t module~flap->module~flap_command_line_arguments_group_t module~flap_command_line_interface_t flap_command_line_interface_t module~flap->module~flap_command_line_interface_t module~flap_command_line_arguments_group_t->module~flap_command_line_argument_t module~flap_command_line_interface_t->module~flap_command_line_argument_t module~flap_command_line_interface_t->module~flap_command_line_arguments_group_t program~flap_save_bash_completion flap_save_bash_completion program~flap_save_bash_completion->module~flap program~flap_save_man_page flap_save_man_page program~flap_save_man_page->module~flap program~flap_save_usage_to_markdown flap_save_usage_to_markdown program~flap_save_usage_to_markdown->module~flap program~flap_test_action_store flap_test_action_store program~flap_test_action_store->module~flap program~flap_test_ansi_color_style flap_test_ansi_color_style program~flap_test_ansi_color_style->module~flap program~flap_test_basic flap_test_basic program~flap_test_basic->module~flap program~flap_test_choices_logical flap_test_choices_logical program~flap_test_choices_logical->module~flap program~flap_test_duplicated_clas flap_test_duplicated_clas program~flap_test_duplicated_clas->module~flap program~flap_test_group flap_test_group program~flap_test_group->module~flap program~flap_test_group_examples flap_test_group_examples program~flap_test_group_examples->module~flap program~flap_test_hidden flap_test_hidden program~flap_test_hidden->module~flap program~flap_test_ignore_unknown_clas flap_test_ignore_unknown_clas program~flap_test_ignore_unknown_clas->module~flap program~flap_test_minimal flap_test_minimal program~flap_test_minimal->module~flap program~flap_test_nargs_insufficient flap_test_nargs_insufficient program~flap_test_nargs_insufficient->module~flap program~flap_test_nargs_insufficient~2 flap_test_nargs_insufficient program~flap_test_nargs_insufficient~2->module~flap program~flap_test_nested flap_test_nested program~flap_test_nested->module~flap program~flap_test_string flap_test_string program~flap_test_string->module~flap

Variables

Type Visibility Attributes Name Initial
character(len=*), public, parameter :: ACTION_STORE = 'STORE'

Store value (if invoked a value must be passed).

character(len=*), public, parameter :: ACTION_STORE_STAR = 'STORE*'

Store value or revert on default if invoked alone.

character(len=*), public, parameter :: ACTION_STORE_TRUE = 'STORE_TRUE'

Store .true. without the necessity of a value.

character(len=*), public, parameter :: ACTION_STORE_FALSE = 'STORE_FALSE'

Store .false. without the necessity of a value.

character(len=*), public, parameter :: ACTION_PRINT_HELP = 'PRINT_HELP'

Print help message.

character(len=*), public, parameter :: ACTION_PRINT_MARK = 'PRINT_MARKDOWN'

Print help to Markdown file.

character(len=*), public, parameter :: ACTION_PRINT_VERS = 'PRINT_VERSION'

Print version.

character(len=*), public, parameter :: ARGS_SEP = '||!||'

Arguments separator for multiple valued (list) CLA.

integer(kind=I4P), private, parameter :: ERROR_OPTIONAL_NO_DEF = 1

Optional CLA without default value.

integer(kind=I4P), private, parameter :: ERROR_REQUIRED_M_EXCLUDE = 2

Required CLA cannot exclude others.

integer(kind=I4P), private, parameter :: ERROR_POSITIONAL_M_EXCLUDE = 3

Positional CLA cannot exclude others.

integer(kind=I4P), private, parameter :: ERROR_NAMED_NO_NAME = 4

Named CLA without switch name.

integer(kind=I4P), private, parameter :: ERROR_POSITIONAL_NO_POSITION = 5

Positional CLA without position.

integer(kind=I4P), private, parameter :: ERROR_POSITIONAL_NO_STORE = 6

Positional CLA without action_store.

integer(kind=I4P), private, parameter :: ERROR_NOT_IN_CHOICES = 7

CLA value out of a specified choices.

integer(kind=I4P), private, parameter :: ERROR_MISSING_REQUIRED = 8

Missing required CLA.

integer(kind=I4P), private, parameter :: ERROR_M_EXCLUDE = 9

Two mutually exclusive CLAs have been passed.

integer(kind=I4P), private, parameter :: ERROR_CASTING_LOGICAL = 10

Error casting CLA value to logical type.

integer(kind=I4P), private, parameter :: ERROR_CHOICES_LOGICAL = 11

Error adding choices check for CLA val of logical type.

integer(kind=I4P), private, parameter :: ERROR_NO_LIST = 12

Actual CLA is not list-values.

integer(kind=I4P), private, parameter :: ERROR_NARGS_INSUFFICIENT = 13

Multi-valued CLA with insufficient arguments.

integer(kind=I4P), private, parameter :: ERROR_VALUE_MISSING = 14

Missing value of CLA.

integer(kind=I4P), public, parameter :: ERROR_UNKNOWN = 15

Unknown CLA (switch name).

integer(kind=I4P), private, parameter :: ERROR_ENVVAR_POSITIONAL = 16

Envvar not allowed for positional CLA.

integer(kind=I4P), private, parameter :: ERROR_ENVVAR_NOT_STORE = 17

Envvar not allowed action different from store;

integer(kind=I4P), private, parameter :: ERROR_ENVVAR_NARGS = 18

Envvar not allowed for list-values CLA.

integer(kind=I4P), private, parameter :: ERROR_STORE_STAR_POSITIONAL = 19

Action store* not allowed for positional CLA.

integer(kind=I4P), private, parameter :: ERROR_STORE_STAR_NARGS = 20

Action store* not allowed for list-values CLA.

integer(kind=I4P), private, parameter :: ERROR_STORE_STAR_ENVVAR = 21

Action store* not allowed for environment variable CLA.

integer(kind=I4P), private, parameter :: ERROR_ACTION_UNKNOWN = 22

Unknown CLA (switch name).

integer(kind=I4P), private, parameter :: ERROR_DUPLICATED_CLAS = 23

Duplicated CLAs passed, passed multiple instance of the same CLA.

integer(kind=I4P), private, parameter :: ERROR_MISSING_REQUIRED_VAL = 24

Missing required value of CLA.


Derived Types

type, public, extends(object) ::  command_line_argument

Command Line Argument (CLA) class.

Read more…

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: progname

Program name.

character(len=:), public, allocatable :: version

Program version.

character(len=:), public, allocatable :: help

Help message.

character(len=:), public, allocatable :: help_color

ANSI color of help messages.

character(len=:), public, allocatable :: help_style

ANSI style of help messages.

character(len=:), public, allocatable :: help_markdown

Longer help message, markdown formatted.

character(len=:), public, allocatable :: description

Detailed description.

character(len=:), public, allocatable :: license

License description.

character(len=:), public, allocatable :: authors

Authors list.

character(len=:), public, allocatable :: epilog

Epilogue message.

character(len=:), public, allocatable :: m_exclude

Mutually exclude other CLA(s group).

character(len=:), public, allocatable :: error_message

Meaningful error message to standard-error.

character(len=:), public, allocatable :: error_color

ANSI color of error messages.

character(len=:), public, allocatable :: error_style

ANSI style of error messages.

character(len=512), public, allocatable :: examples(:)

Examples of correct usage.

integer(kind=I4P), public :: error = 0_I4P

Error trapping flag.

integer(kind=I4P), public :: usage_lun = stderr

Output unit to print help/usage messages

integer(kind=I4P), public :: version_lun = stdout

Output unit to print version message

integer(kind=I4P), public :: error_lun = stderr

Error unit to print error messages

character(len=:), public, allocatable :: switch

Switch name.

character(len=:), public, allocatable :: switch_ab

Abbreviated switch name.

character(len=:), public, allocatable :: act

CLA value action.

character(len=:), public, allocatable :: def

Default value.

character(len=:), public, allocatable :: nargs

Number of arguments consumed by CLA.

character(len=:), public, allocatable :: choices

List (comma separated) of allowable values for the argument.

character(len=:), public, allocatable :: val

CLA value.

character(len=:), public, allocatable :: envvar

Environment variable from which take value.

logical, public :: is_required = .false.

Flag for set required argument.

logical, public :: is_positional = .false.

Flag for checking if CLA is a positional or a named CLA.

integer(kind=I4P), public :: position = 0_I4P

Position of positional CLA.

logical, public :: is_passed = .false.

Flag for checking if CLA has been passed to CLI.

logical, public :: is_hidden = .false.

Flag for hiding CLA, thus it does not compare into help.

logical, public :: is_val_required = .true.

Flag for set required value for not required (optional) CLA.

Finalizations Procedures

final :: finalize

Free dynamic memory when finalizing.

Type-Bound Procedures

procedure, public, pass(self) :: free_object ../../../../

Free dynamic memory.

procedure, public, pass(self) :: print_version ../../../../

Print version.

procedure, public, pass(self) :: print_error_message ../../../../

Print meaningful error message.

procedure, public, pass(self) :: set_examples ../../../../

Set examples of correct usage.

procedure, public, pass(lhs ) :: assign_object ../../../../

Assignment overloading.

procedure, public :: free ../../../../

Free dynamic memory.

procedure, public :: check ../../../../

Check data consistency.

procedure, public :: is_required_passed ../../../../

Check if required CLA is passed.

procedure, public :: raise_error_m_exclude ../../../../

Raise error mutually exclusive CLAs passed.

procedure, public :: raise_error_nargs_insufficient ../../../../

Raise error insufficient number of argument values passed.

procedure, public :: raise_error_value_missing ../../../../

Raise error missing value.

procedure, public :: raise_error_switch_unknown ../../../../

Raise error switch_unknown.

procedure, public :: raise_error_duplicated_clas ../../../../

Raise error duplicated CLAs passed.

generic, public :: get => get_cla, get_cla_list ../../../../

Get CLA value(s).

generic, public :: get_varying => get_cla_list_varying_R8P, get_cla_list_varying_R4P, get_cla_list_varying_I8P, get_cla_list_varying_I4P, get_cla_list_varying_I2P, get_cla_list_varying_I1P, get_cla_list_varying_logical, get_cla_list_varying_char ../../../../

Get CLA value(s) from varying size list.

procedure, public :: has_choices ../../../../

Return true if CLA has defined choices.

procedure, public :: sanitize_defaults ../../../../

Sanitize default values.

procedure, public :: signature ../../../../

Get signature.

procedure, public :: usage ../../../../

Get correct usage.

procedure, private :: errored ../../../../

Trig error occurence and print meaningful message.

procedure, private :: check_envvar_consistency ../../../../

Check data consistency for envvar CLA.

procedure, private :: check_action_consistency ../../../../

Check CLA action consistency.

procedure, private :: check_optional_consistency ../../../../

Check optional CLA consistency.

procedure, private :: check_m_exclude_consistency ../../../../

Check mutually exclusion consistency.

procedure, private :: check_named_consistency ../../../../

Check named CLA consistency.

procedure, private :: check_positional_consistency ../../../../

Check positional CLA consistency.

procedure, private :: check_choices ../../../../

Check if CLA value is in allowed choices.

procedure, private :: check_list_size ../../../../

Check CLA multiple values list size consistency.

procedure, private :: get_cla ../../../../

Get CLA (single) value.

procedure, private :: get_cla_from_buffer ../../../../

Get CLA (single) value from a buffer.

procedure, private :: get_cla_list ../../../../

Get CLA multiple values.

procedure, private :: get_cla_list_from_buffer ../../../../

Get CLA (single) value from a buffer.

procedure, private :: get_cla_list_varying_R16P ../../../../

Get CLA multiple values, varying size, R16P.

procedure, private :: get_cla_list_varying_R8P ../../../../

Get CLA multiple values, varying size, R8P.

procedure, private :: get_cla_list_varying_R4P ../../../../

Get CLA multiple values, varying size, R4P.

procedure, private :: get_cla_list_varying_I8P ../../../../

Get CLA multiple values, varying size, I8P.

procedure, private :: get_cla_list_varying_I4P ../../../../

Get CLA multiple values, varying size, I4P.

procedure, private :: get_cla_list_varying_I2P ../../../../

Get CLA multiple values, varying size, I2P.

procedure, private :: get_cla_list_varying_I1P ../../../../

Get CLA multiple values, varying size, I1P.

procedure, private :: get_cla_list_varying_logical ../../../../

Get CLA multiple values, varying size, bool.

procedure, private :: get_cla_list_varying_char ../../../../

Get CLA multiple values, varying size, char.

procedure, private :: cla_assign_cla ../../../../

Assignment operator.

generic, private :: assignment(=) => cla_assign_cla ../../../../

Assignment operator overloading.


Functions

private function is_required_passed(self, pref) result(is_ok)

Check if required CLA is passed.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

character(len=*), intent(in), optional :: pref

Prefixing string.

Return Value logical

Check result.

private function is_required_val_passed(self, pref) result(is_ok)

Check if required value of CLA is passed.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

character(len=*), intent(in), optional :: pref

Prefixing string.

Return Value logical

Check result.

private function usage(self, pref, markdown)

Get correct usage.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(in) :: self

CLAs group data.

character(len=*), intent(in), optional :: pref

Prefixing string.

logical, intent(in), optional :: markdown

Format for markdown

Return Value character(len=:), allocatable

Usage string.

private function signature(self, bash_completion, plain)

Get signature.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(in) :: self

CLA data.

logical, intent(in), optional :: bash_completion

Return the signature for bash completion.

logical, intent(in), optional :: plain

Return the signature as plain switches list.

Return Value character(len=:), allocatable

Signature.

private pure function has_choices(self)

Return true if CLA has choices.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(in) :: self

CLA data.

Return Value logical

Check result.

private function check_list_size(self, Nv, val, pref) result(is_ok)

Check CLA multiple values list size consistency.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

integer(kind=I4P), intent(in) :: Nv

Number of values.

character(len=*), intent(in) :: val

First value.

character(len=*), intent(in), optional :: pref

Prefixing string.

Return Value logical

Check result.


Subroutines

private elemental subroutine free(self)

Free dynamic memory.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

private subroutine check(self, pref)

Check data consistency.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine raise_error_m_exclude(self, pref)

Raise error mutually exclusive CLAs passed.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine raise_error_nargs_insufficient(self, pref)

Raise error insufficient number of argument values passed.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine raise_error_value_missing(self, pref)

Raise error missing value.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine raise_error_switch_unknown(self, switch, pref)

Raise error switch_unknown.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

character(len=*), intent(in), optional :: switch

CLA switch name.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine raise_error_duplicated_clas(self, switch, pref)

Raise error duplicated CLAs passed.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

character(len=*), intent(in), optional :: switch

CLA switch name.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine sanitize_defaults(self)

Sanitize defaults values.

Read more…

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLAsG data.

private subroutine errored(self, error, pref, switch, val_str, log_value)

Trig error occurence and print meaningful message.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

integer(kind=I4P), intent(in) :: error

Error occurred.

character(len=*), intent(in), optional :: pref

Prefixing string.

character(len=*), intent(in), optional :: switch

CLA switch name.

character(len=*), intent(in), optional :: val_str

Value string.

character(len=*), intent(in), optional :: log_value

Logical value to be casted.

private subroutine check_envvar_consistency(self, pref)

Check data consistency for envvar CLA.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine check_action_consistency(self, pref)

Check CLA action consistency.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine check_optional_consistency(self, pref)

Check optional CLA consistency.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine check_m_exclude_consistency(self, pref)

Check mutually exclusion consistency.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine check_named_consistency(self, pref)

Check named CLA consistency.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine check_positional_consistency(self, pref)

Check positional CLA consistency.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine check_choices(self, val, pref)

Check if CLA value is in allowed choices.

Read more…

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

class(*), intent(in) :: val

CLA value.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine get_cla(self, val, pref)

Get CLA (single) value.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

class(*), intent(inout) :: val

CLA value.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine get_cla_from_buffer(self, buffer, val, pref)

Get CLA (single) value from parsed value.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

character(len=*), intent(in) :: buffer

Buffer containing values (parsed or default CLA value).

class(*), intent(inout) :: val

CLA value.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine get_cla_list(self, pref, val)

Get CLA multiple values.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

character(len=*), intent(in), optional :: pref

Prefixing string.

class(*), intent(inout) :: val(1:)

CLA values.

private subroutine get_cla_list_from_buffer(self, buffer, val, pref)

Get CLA multiple values from a buffer.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

character(len=*), intent(in) :: buffer

Buffer containing values (parsed or default CLA value).

class(*), intent(inout) :: val(1:)

CLA value.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine get_cla_list_varying_R16P(self, val, pref)

Get CLA (multiple) value with varying size, real(R16P).

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

real(kind=R16P), intent(out), allocatable :: val(:)

CLA values.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine get_cla_list_varying_R8P(self, val, pref)

Get CLA (multiple) value with varying size, real(R8P).

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

real(kind=R8P), intent(out), allocatable :: val(:)

CLA values.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine get_cla_list_varying_R4P(self, val, pref)

Get CLA (multiple) value with varying size, real(R4P).

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

real(kind=R4P), intent(out), allocatable :: val(:)

CLA values.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine get_cla_list_varying_I8P(self, val, pref)

Get CLA (multiple) value with varying size, integer(I8P).

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

integer(kind=I8P), intent(out), allocatable :: val(:)

CLA values.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine get_cla_list_varying_I4P(self, val, pref)

Get CLA (multiple) value with varying size, integer(I4P).

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

integer(kind=I4P), intent(out), allocatable :: val(:)

CLA values.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine get_cla_list_varying_I2P(self, val, pref)

Get CLA (multiple) value with varying size, integer(I2P).

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

integer(kind=I2P), intent(out), allocatable :: val(:)

CLA values.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine get_cla_list_varying_I1P(self, val, pref)

Get CLA (multiple) value with varying size, integer(I1P).

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

integer(kind=I1P), intent(out), allocatable :: val(:)

CLA values.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine get_cla_list_varying_logical(self, val, pref)

Get CLA (multiple) value with varying size, logical.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

logical, intent(out), allocatable :: val(:)

CLA values.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine get_cla_list_varying_char(self, val, pref)

Get CLA (multiple) value with varying size, character.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: self

CLA data.

character(len=*), intent(out), allocatable :: val(:)

CLA values.

character(len=*), intent(in), optional :: pref

Prefixing string.

private elemental subroutine cla_assign_cla(lhs, rhs)

Assignment operator.

Arguments

Type IntentOptional Attributes Name
class(command_line_argument), intent(inout) :: lhs

Left hand side.

type(command_line_argument), intent(in) :: rhs

Rigth hand side.

private elemental subroutine finalize(self)

Free dynamic memory when finalizing.

Arguments

Type IntentOptional Attributes Name
type(command_line_argument), intent(inout) :: self

CLA data.