-
Carsten Gräser authored
* Rename `*NodeFactorsBuilder` to `*PreBasisFactory` * Rename `*FactoryTag` to `*PreBasisFactory` * Rename `build()` to `makePreBasis()` * Make `makePreBasis()` `const` * Make implementation of `BasisBuilder::composite()` more readable. * Fix `BasisBuilder::composite()` and `BasisBuilder::power()`. Both did not store the `ChildPreBasisFactory` objects but recreated them using default-construction during `build()`. This prevented stateful `ChildPreBasisFactory` implementations. Now the passed `ChildPreBasisFactory` objects are now stored and used during `makePreBasis()` such that stateful `PreBasisFactories` should work. * Hide internal members of `PreBasisFactories` * Use return type deduction for all `PreBasisFactory` creation helpers. This makes the code much more readable and also hides the concrete `Imp::*` return type from the use. * Add utility `applyPartial()` which is like `std::apply` but allows to select the tuple entries to be used as arguments This is what you need to do to update your code: * If you only use the `makeBasis()` mechanism this will work as before. * If you explicitly constructed the `*Builder` classes in your code, you must follow the renaming. * If you explicitly used the `build()` methods, you have to change this to `makePreBasis()` * If you implemented your own `FactoryTag`/`NodeFactoryBuilder`/`PreBasisFactory` to hook into the `makeBasis()` mechanism, then you have to rename `build()` to `makePreBasis()`.
29094a6b