One configuration field: schema metadata + validation constraint + a typed pointer into a live config instance. Exactly one of the pointer components is associated, per value_kind.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=32), | public | :: | key | = | '' | ||
| character(len=32), | public | :: | group | = | '' | ||
| integer, | public | :: | value_kind | = | 0 | ||
| character(len=256), | public | :: | help | = | '' | ||
| logical, | public | :: | has_min | = | .false. | ||
| logical, | public | :: | min_exclusive | = | .false. | ||
| real(kind=wp), | public | :: | min_value | = | 0.0_wp | ||
| logical, | public | :: | has_max | = | .false. | ||
| real(kind=wp), | public | :: | max_value | = | 0.0_wp | ||
| character(len=64), | public, | allocatable | :: | choices(:) | |||
| integer, | public | :: | choice_msg_style | = | choice_msg_valid_list | ||
| character(len=160), | public | :: | msg_choice | = | '' | ||
| logical, | public | :: | casefold | = | .false. | ||
| logical, | public | :: | check_in_validate | = | .true. |
.false. => published in the schema but NOT checked by validate_fields (conditional/cross-field rules stay in the per-dim validate routine). |
|
| character(len=160), | public | :: | msg_min | = | '' | ||
| character(len=160), | public | :: | msg_max | = | '' | ||
| integer, | public, | pointer | :: | iptr | => | null() | |
| real(kind=wp), | public, | pointer | :: | rptr | => | null() | |
| logical, | public, | pointer | :: | lptr | => | null() | |
| character(len=:), | public, | pointer | :: | sptr | => | null() | |
| real(kind=wp), | public, | pointer | :: | r3ptr(:) | => | null() |