...
- Just a few arguments passed to wrapper (and not several)
- Information passed to wrapper is well structured (classes keeping all arguments and settings)
- Proposed solution prevents from errors resulting from incorrect order/type/number of arguments
- List of arguments can be easily extended - no API changes required
Arguments required by user C++/F method
...
- A class passed as wrapper arguments
- Tree (of classes) describing job settings
- FC2PyJobSettings class:
- batch_job - class FC2PyBatchJob:
- queue
- ???
- debug - class FC2PyDebug
- debugger - TotalView/gdb
- mode - attach/standalone
- mpi - class FC2PyMPI
- mpi parameters - TBD
- ???
- open_mp - class FC2PyOpenMP
- openMP parameters - TBD
- ???
- sandbox
- path to sandbox
- sandbox 'lifetime'
- batch_job - class FC2PyBatchJob:
Wrapper outcome
- To be discussed -
- PREFERRED: OUT arguments - wrapper will update fields of <ActorName>Arguments class
- Returned values - packed within a class:
- autogenerated
- a part of wrapper package
...