Как получить map<string, factory<BaseClass, ConstructorType> >
от такой функции?
Итак, у меня есть
template <class BaseClass, class ConstructorType>
map<string, factory<BaseClass, ConstructorType> > get_factories (shared_library & lib) {
type_map lib_types;
if (!lib.call(lib_types)) {
cerr << "Types map not found!" << endl;
}
map<string, factory<BaseClass, ConstructorType> >& lib_factories(lib_types.get());
if (lib_factories.empty()) {
cerr << "Producers not found!" << endl;
}
return lib_factories;
}
, и я пытаюсь получить его значение с чем-то вроде:
map<string, factory<PublicProducerPrototype, int> > producer_factories();
producer_factories = get_factories<PublicProducerPrototype, int>(simple_producer);
Я пытаюсь обобщить / упростить некоторые методы boost.extension для себя.
Так как правильно получить map<A, B>&
?
Как правильно инициализировать ссылку или как вернуть не ссылку, а реальнуюобъект?(извините, C ++ nube)