Option class definition.
Overload option name with a function returning a new (initiliazed) option instance.
Return a new (initiliazed) option instance.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character, | intent(in), | optional | :: | option_name | Option name. |
|
| character, | intent(in), | optional | :: | option_values | Option values. |
|
| character, | intent(in), | optional | :: | option_comment | Option comment. |
New (initiliazed) option instance.
Option data of sections.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(string), | private | :: | ocomm | Eventual option inline comment. |
|||
| type(string), | private | :: | oname | Option name. |
|||
| type(string), | private | :: | ovals | Option values. |
Overload option name with a function returning a new (initiliazed) option instance.
| private elemental function new_option(option_name, option_values, option_comment) | Return a new (initiliazed) option instance. |
| procedure, private, pass(lhs) :: assign_option | Assignment overloading. |
| generic, public :: assignment(=) => assign_option | Assignment overloading. |
| procedure, public, pass(self) :: count_values | Counting option value(s). |
| procedure, public, pass(self) :: free | Free dynamic memory. |
| generic, public :: get => get_option, get_a_option | Get option value (scalar). Get option value (array). |
| procedure, private, pass(self) :: get_a_option | Get option value (array). |
| procedure, private, pass(self) :: get_option | Get option value (scalar). |
| procedure, public, pass(self) :: get_pairs | Return option name/values pairs. |
| procedure, public, pass(self) :: name_len | Return option name length. |
| generic, public :: operator(==) => option_eq_string, option_eq_character | Equal operator overloading. |
| procedure, private, pass(lhs) :: option_eq_character | Equal to character logical operator. |
| procedure, private, pass(lhs) :: option_eq_string | Equal to string logical operator. |
| procedure, public, pass(self) :: parse | Parse option data. |
| procedure, private, pass(self) :: parse_comment | Parse option inline comment. |
| procedure, private, pass(self) :: parse_name | Parse option name. |
| procedure, private, pass(self) :: parse_value | Parse option values. |
| procedure, public, pass(self) :: print => print_option | Pretty print data. |
| procedure, public, pass(self) :: save => save_option | Save data. |
| generic, public :: set => set_option, set_a_option | Set option value (scalar). Set option value (array). |
| procedure, private, pass(self) :: set_a_option | Set option value (array). |
| procedure, private, pass(self) :: set_option | Set option value (scalar). |
| procedure, public, pass(self) :: values_len | Return option values length. |
Get the number of values of option data.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(option), | intent(in) | :: | self | Option data. |
||
| character, | intent(in), | optional | :: | delimiter | Delimiter used for separating values. |
Number of values.
Return option name length.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(option), | intent(in) | :: | self | Option data. |
Option name length.
Return a new (initiliazed) option instance.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character, | intent(in), | optional | :: | option_name | Option name. |
|
| character, | intent(in), | optional | :: | option_values | Option values. |
|
| character, | intent(in), | optional | :: | option_comment | Option comment. |
New (initiliazed) option instance.
Equal to character logical operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(option), | intent(in) | :: | lhs | Left hand side. |
||
| character(kind=CK,len=*), | intent(in) | :: | rhs | Right hand side. |
Opreator test result.
Equal to string logical operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(option), | intent(in) | :: | lhs | Left hand side. |
||
| type(string), | intent(in) | :: | rhs | Right hand side. |
Opreator test result.
Return option values length.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(option), | intent(in) | :: | self | Option data. |
Option values length.
Free dynamic memory.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(option), | intent(inout) | :: | self | Option data. |
Get option data values (array).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(option), | intent(in) | :: | self | Option data. |
||
| class(*), | intent(inout) | :: | val(1:) | Value. |
||
| character, | intent(in), | optional | :: | delimiter | Delimiter used for separating values. |
|
| integer(kind=I4P), | intent(out), | optional | :: | error | Error code. |
for getting option data value (scalar).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(option), | intent(in) | :: | self | Option data. |
||
| class(*), | intent(inout) | :: | val | Value. |
||
| integer(kind=I4P), | intent(out), | optional | :: | error | Error code. |
Return option name/values pairs.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(option), | intent(in) | :: | self | Option data. |
||
| character(len=:), | intent(out), | allocatable | :: | pairs(:) | Option name/values pairs. |
Parse option data from a source string.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(option), | intent(inout) | :: | self | Option data. |
||
| character, | intent(in) | :: | sep | Separator of option name/value. |
||
| type(string), | intent(inout) | :: | source | String containing option data. |
||
| integer(kind=I4P), | intent(out) | :: | error | Error code. |
Parse option inline comment trimming it out from pure value string.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(option), | intent(inout) | :: | self | Option data. |
Parse option name from a source string.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(option), | intent(inout) | :: | self | Option data. |
||
| character, | intent(in) | :: | sep | Separator of option name/value. |
||
| type(string), | intent(in) | :: | source | String containing option data. |
||
| integer(kind=I4P), | intent(out) | :: | error | Error code. |
Parse option value from a source string.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(option), | intent(inout) | :: | self | Option data. |
||
| character, | intent(in) | :: | sep | Separator of option name/value. |
||
| type(string), | intent(in) | :: | source | String containing option data. |
||
| integer(kind=I4P), | intent(out) | :: | error | Error code. |
Print data with a pretty format.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(option), | intent(in) | :: | self | Option data. |
||
| integer(kind=I4P), | intent(in) | :: | unit | Logic unit. |
||
| logical, | intent(in) | :: | retain_comments | Flag for retaining eventual comments. |
||
| character, | intent(in), | optional | :: | pref | Prefixing string. |
|
| integer(kind=I4P), | intent(out), | optional | :: | iostat | IO error. |
|
| character, | intent(out), | optional | :: | iomsg | IO error message. |
Save data.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(option), | intent(in) | :: | self | Option data. |
||
| integer(kind=I4P), | intent(in) | :: | unit | Logic unit. |
||
| logical, | intent(in) | :: | retain_comments | Flag for retaining eventual comments. |
||
| integer(kind=I4P), | intent(out), | optional | :: | iostat | IO error. |
|
| character, | intent(out), | optional | :: | iomsg | IO error message. |
Set option data value (array).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(option), | intent(inout) | :: | self | Option data. |
||
| class(*), | intent(in) | :: | val(1:) | Value. |
||
| character, | intent(in), | optional | :: | delimiter | Delimiter used for separating values. |
Set option data value (scalar).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(option), | intent(inout) | :: | self | Option data. |
||
| class(*), | intent(in) | :: | val | Value. |