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. |