optimize performance by using function template - it avoids type erasure and heap allocation

This commit is contained in:
Nicu Hodos 2025-10-05 12:11:24 +02:00
parent 07eeac8beb
commit c98df614c4

View File

@ -401,7 +401,6 @@ namespace Ha {
template <class T>
struct Builder : AbstractBuilder {
using factory_builder = std::function<Builder&(Builder&)>;
T* cmp;
Builder(T* cmp) : AbstractBuilder(), cmp(cmp) {}
@ -497,7 +496,8 @@ namespace Ha {
return factoryBuilder(*this);
}
Builder& addPreconfigured(factory_builder factoryBuilder) {
template <typename Callable>
Builder& addPreconfigured(Callable&& factoryBuilder) {
return factoryBuilder(*this);
}