Command Line Argument (CLA) class.
Note
If not otherwise declared the action on CLA value is set to “store” a value.
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. |
Free dynamic memory when finalizing.
Free dynamic memory when finalizing.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(command_line_argument), | intent(inout) | :: | self |
CLA data. |
Free dynamic memory.
Free dynamic memory.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(object), | intent(inout) | :: | self |
Object data. |
Print version.
Print version.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(object), | intent(in) | :: | self |
Object data. |
||
character(len=*), | intent(in), | optional | :: | pref |
Prefixing string. |
Print meaningful error message.
Print meaningful error message to standard-error.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(object), | intent(in) | :: | self |
Object data. |
Set examples of correct usage.
Set examples of correct usage.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(object), | intent(inout) | :: | self |
Object data. |
||
character(len=*), | intent(in), | optional | :: | examples(1:) |
Examples of correct usage. |
Assignment overloading.
Assign two abstract objects.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(object), | intent(inout) | :: | lhs |
Left hand side. |
||
class(object), | intent(in) | :: | rhs |
Rigth hand side. |
Free dynamic memory.
Free dynamic memory.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(command_line_argument), | intent(inout) | :: | self |
CLA data. |
Check data consistency.
Check data consistency.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(command_line_argument), | intent(inout) | :: | self |
CLA data. |
||
character(len=*), | intent(in), | optional | :: | pref |
Prefixing string. |
Check if required CLA is passed.
Check if required CLA is passed.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(command_line_argument), | intent(inout) | :: | self |
CLA data. |
||
character(len=*), | intent(in), | optional | :: | pref |
Prefixing string. |
Check result.
Raise error mutually exclusive CLAs passed.
Raise error mutually exclusive CLAs passed.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(command_line_argument), | intent(inout) | :: | self |
CLA data. |
||
character(len=*), | intent(in), | optional | :: | pref |
Prefixing string. |
Raise error insufficient number of argument values passed.
Raise error insufficient number of argument values passed.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(command_line_argument), | intent(inout) | :: | self |
CLA data. |
||
character(len=*), | intent(in), | optional | :: | pref |
Prefixing string. |
Raise error missing value.
Raise error missing value.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(command_line_argument), | intent(inout) | :: | self |
CLA data. |
||
character(len=*), | intent(in), | optional | :: | pref |
Prefixing string. |
Raise error switch_unknown.
Raise error switch_unknown.
Type | Intent | Optional | 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. |
Raise error duplicated CLAs passed.
Raise error duplicated CLAs passed.
Type | Intent | Optional | 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. |
Get CLA value(s).
Get CLA (single) value.
Type | Intent | Optional | 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. |
Get CLA multiple values.
Type | Intent | Optional | 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. |
Get CLA value(s) from varying size list.
Get CLA (multiple) value with varying size, real(R8P).
Type | Intent | Optional | 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. |
Get CLA (multiple) value with varying size, real(R4P).
Type | Intent | Optional | 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. |
Get CLA (multiple) value with varying size, integer(I8P).
Type | Intent | Optional | 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. |
Get CLA (multiple) value with varying size, integer(I4P).
Type | Intent | Optional | 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. |
Get CLA (multiple) value with varying size, integer(I2P).
Type | Intent | Optional | 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. |
Get CLA (multiple) value with varying size, integer(I1P).
Type | Intent | Optional | 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. |
Get CLA (multiple) value with varying size, logical.
Type | Intent | Optional | 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. |
Get CLA (multiple) value with varying size, character.
Type | Intent | Optional | 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. |
Return true if CLA has defined choices.
Return true if CLA has choices.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(command_line_argument), | intent(in) | :: | self |
CLA data. |
Check result.
Sanitize default values.
Sanitize defaults values.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(command_line_argument), | intent(inout) | :: | self |
CLAsG data. |
Get signature.
Get signature.
Type | Intent | Optional | 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. |
Signature.
Get correct usage.
Get correct usage.
Type | Intent | Optional | 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 |
Usage string.
Trig error occurence and print meaningful message.
Trig error occurence and print meaningful message.
Type | Intent | Optional | 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. |
Check data consistency for envvar CLA.
Check data consistency for envvar CLA.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(command_line_argument), | intent(inout) | :: | self |
CLA data. |
||
character(len=*), | intent(in), | optional | :: | pref |
Prefixing string. |
Check CLA action consistency.
Check CLA action consistency.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(command_line_argument), | intent(inout) | :: | self |
CLA data. |
||
character(len=*), | intent(in), | optional | :: | pref |
Prefixing string. |
Check optional CLA consistency.
Check optional CLA consistency.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(command_line_argument), | intent(inout) | :: | self |
CLA data. |
||
character(len=*), | intent(in), | optional | :: | pref |
Prefixing string. |
Check mutually exclusion consistency.
Check mutually exclusion consistency.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(command_line_argument), | intent(inout) | :: | self |
CLA data. |
||
character(len=*), | intent(in), | optional | :: | pref |
Prefixing string. |
Check named CLA consistency.
Check named CLA consistency.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(command_line_argument), | intent(inout) | :: | self |
CLA data. |
||
character(len=*), | intent(in), | optional | :: | pref |
Prefixing string. |
Check positional CLA consistency.
Check positional CLA consistency.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(command_line_argument), | intent(inout) | :: | self |
CLA data. |
||
character(len=*), | intent(in), | optional | :: | pref |
Prefixing string. |
Check if CLA value is in allowed choices.
Check if CLA value is in allowed choices.
Type | Intent | Optional | 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. |
Check CLA multiple values list size consistency.
Check CLA multiple values list size consistency.
Type | Intent | Optional | 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. |
Check result.
Get CLA (single) value.
Get CLA (single) value.
Type | Intent | Optional | 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. |
Get CLA (single) value from a buffer.
Get CLA (single) value from parsed value.
Type | Intent | Optional | 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. |
Get CLA multiple values.
Get CLA multiple values.
Type | Intent | Optional | 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. |
Get CLA (single) value from a buffer.
Get CLA multiple values from a buffer.
Type | Intent | Optional | 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. |
Get CLA multiple values, varying size, R16P.
Get CLA (multiple) value with varying size, real(R16P).
Type | Intent | Optional | 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. |
Get CLA multiple values, varying size, R8P.
Get CLA (multiple) value with varying size, real(R8P).
Type | Intent | Optional | 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. |
Get CLA multiple values, varying size, R4P.
Get CLA (multiple) value with varying size, real(R4P).
Type | Intent | Optional | 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. |
Get CLA multiple values, varying size, I8P.
Get CLA (multiple) value with varying size, integer(I8P).
Type | Intent | Optional | 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. |
Get CLA multiple values, varying size, I4P.
Get CLA (multiple) value with varying size, integer(I4P).
Type | Intent | Optional | 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. |
Get CLA multiple values, varying size, I2P.
Get CLA (multiple) value with varying size, integer(I2P).
Type | Intent | Optional | 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. |
Get CLA multiple values, varying size, I1P.
Get CLA (multiple) value with varying size, integer(I1P).
Type | Intent | Optional | 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. |
Get CLA multiple values, varying size, bool.
Get CLA (multiple) value with varying size, logical.
Type | Intent | Optional | 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. |
Get CLA multiple values, varying size, char.
Get CLA (multiple) value with varying size, character.
Type | Intent | Optional | 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. |
Assignment operator.
Assignment operator.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(command_line_argument), | intent(inout) | :: | lhs |
Left hand side. |
||
type(command_line_argument), | intent(in) | :: | rhs |
Rigth hand side. |
Assignment operator overloading.
Assignment operator.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(command_line_argument), | intent(inout) | :: | lhs |
Left hand side. |
||
type(command_line_argument), | intent(in) | :: | rhs |
Rigth hand side. |
type, extends(object) :: command_line_argument !< Command Line Argument (CLA) class. !< !< @note If not otherwise declared the action on CLA value is set to "store" a value. private character(len=:), allocatable, public :: switch !< Switch name. character(len=:), allocatable, public :: switch_ab !< Abbreviated switch name. character(len=:), allocatable, public :: act !< CLA value action. character(len=:), allocatable, public :: def !< Default value. character(len=:), allocatable, public :: nargs !< Number of arguments consumed by CLA. character(len=:), allocatable, public :: choices !< List (comma separated) of allowable values for the argument. character(len=:), allocatable, public :: val !< CLA value. character(len=:), allocatable, public :: 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(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. contains ! public methods 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 => & #if defined _R16P get_cla_list_varying_R16P, & #endif 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. ! private methods 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. final :: finalize !< Free dynamic memory when finalizing. endtype command_line_argument