Implementation of the meta data for preprocessing.
A preprocess table can currently have the following fields
[preprocess]
[preprocess.cpp]
suffixes = ["F90", "f90"]
directories = ["src/feature1", "src/models"]
macros = []
Configuration meta data for a preprocessor
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(string_t), | public, | allocatable | :: | directories(:) |
Directories to search for files to be preprocessed |
||
type(string_t), | public, | allocatable | :: | macros(:) |
Macros to be defined for the preprocessor |
||
character(len=:), | public, | allocatable | :: | name |
Name of the preprocessor |
||
type(string_t), | public, | allocatable | :: | suffixes(:) |
Suffixes of the files to be preprocessed |
procedure, public :: add_config | |
procedure, public :: destroy | ../../ Operations |
generic, public :: dump => dump_to_toml, dump_to_file, dump_to_unit | |
procedure, public :: dump_to_toml | |
procedure, public :: info | ../../ Print information on this instance |
procedure, public :: is_cpp | ../../ Properties |
procedure, public :: is_fypp | |
generic, public :: load => load_from_toml, load_from_file, load_from_unit | |
procedure, public :: load_from_toml | |
generic, public :: operator(==) => serializable_is_same | |
procedure, public :: serializable_is_same => preprocess_is_same | ../../ Serialization interface |
procedure, public, non_overridable :: test_serialization | ../../ Test load/write roundtrip |
Construct a new preprocess configuration from TOML data structure
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(preprocess_config_t), | intent(out) | :: | self |
Instance of the preprocess configuration |
||
type(toml_table), | intent(inout) | :: | table |
Instance of the TOML data structure. |
||
type(error_t), | intent(out), | allocatable | :: | error |
Error handling |
Construct new preprocess array from a TOML data structure.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(preprocess_config_t), | intent(out), | allocatable | :: | preprocessors(:) |
Instance of the preprocess configuration |
|
type(toml_table), | intent(inout) | :: | table |
Instance of the TOML data structure |
||
type(error_t), | intent(out), | allocatable | :: | error |
Error handling |