diff --git a/eo/src/eoForge.h b/eo/src/eoForge.h index 394071565..cd87e3aed 100644 --- a/eo/src/eoForge.h +++ b/eo/src/eoForge.h @@ -203,7 +203,7 @@ class eoForgeOperator : public eoForgeInterface std::shared_ptr instantiate_ptr( bool no_cache = true ) override { if(no_cache or _instantiated == nullptr) { - _instantiated_ptr = std::shared_ptr(); + _instantiated_ptr = std::make_shared(); } return _instantiated_ptr; } @@ -479,7 +479,7 @@ class eoForgeMap : public std::map*> delete this->at(name); // Silent on nullptr. auto pfo = new eoForgeOperator...>( std::forward(args)...); - this->emplace({name, pfo}); + this->at(name) = pfo; } /** Specialization for empty constructors. @@ -489,7 +489,7 @@ class eoForgeMap : public std::map*> { delete this->at(name); auto pfo = new eoForgeOperator; - this->emplace({name, pfo}); + this->at(name) = pfo; } virtual ~eoForgeMap()