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);
  DUNE_THROW(IOError{}, fmt::format("The key '{}' does not exist. Allowed keys are {}", key, registry.keys()));
  • Add test

Merge request reports