Skip to content

Commit a7a96d5

Browse files
committed
modules are auto-created
1 parent d5946e9 commit a7a96d5

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

Qor/Session.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,14 @@ class Session:
115115
std::shared_ptr<const Meta> meta() const { return m_pMeta; }
116116

117117
template<class T>
118-
T* module(std::string name) { return (T*)m_Modules[name].get(); }
118+
T* module(std::string name) {
119+
auto p = m_Modules[name];
120+
if(!p){
121+
p = std::make_shared<T>();
122+
m_Modules[name] = p;
123+
}
124+
return (T*)p.get();
125+
}
119126

120127
void module(std::string name, std::shared_ptr<IModule> module) {
121128
m_Modules[name] = module;

0 commit comments

Comments
 (0)