optimize performance by using function template - it avoids type erasure and heap allocation
This commit is contained in:
parent
07eeac8beb
commit
c98df614c4
4
src/ha.h
4
src/ha.h
@ -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);
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user