Skip to content

Draft: Add a key getter for parameterized object factory

Keys for this factory are often exposed to the users (e.g., ISTL solver factory). However, when the wrong key is set, diagnostics are not very helpful. This MR enable us to have better diagnostics when this class does not contain a key. Example:

static PreconditionerRegistry<O, X, Y, A> registry;
/* ...registry setup... */
if (registry.contains(key))
  return registry.create(key, op, config, alloc);
else
  DUNE_THROW(IOError{}, fmt::format("The key '{}' does not exist. Allowed keys are {}", key, registry.keys()));
  • Add test
  • Add CHANGELOG

Merge request reports