Implement implicit derivation of mechanisms. (#817)
Implement implicit derivation of mechanisms. * When a mechanism of the form "foo/param=value,..." or "foo/newion" is requested from a mechanism catalogue, attempt to perform a derive the information or override set from the mechanism "foo" using the given global parameter settings and/or ion remappings given in the name. * Split mechanism catalogue implementation into a private catalogue state with non-throwing behaviour and without any implicit mutation, with mechanism_catalogue methods responsible for throwing any generated errors, with the aim of avoiding throw/catch in expected program flow. Implements #807.
Showing
- arbor/arbexcept.cpp 9 additions, 0 deletionsarbor/arbexcept.cpp
- arbor/fvm_layout.cpp 8 additions, 8 deletionsarbor/fvm_layout.cpp
- arbor/include/arbor/arbexcept.hpp 2 additions, 0 deletionsarbor/include/arbor/arbexcept.hpp
- arbor/include/arbor/mechcat.hpp 26 additions, 48 deletionsarbor/include/arbor/mechcat.hpp
- arbor/include/arbor/simulation.hpp 1 addition, 1 deletionarbor/include/arbor/simulation.hpp
- arbor/mechcat.cpp 417 additions, 150 deletionsarbor/mechcat.cpp
- test/unit/test_mechcat.cpp 43 additions, 14 deletionstest/unit/test_mechcat.cpp
Please register or sign in to comment