void insert(symbol const & name, param_kind k, char const * descr) { SASSERT(!name.is_numerical()); info i; if (m_info.find(name, i)) { SASSERT(i.first == k); return; } m_info.insert(name, info(k, descr)); m_names.push_back(name); }
void register_module(char const * module_name, param_descrs * d) { // Don't need synchronization here, this method // is invoked from check_registered that is already protected. symbol s(module_name); param_descrs * old_d; if (m_module_param_descrs.find(s, old_d)) { old_d->copy(*d); dealloc(d); } else { m_module_param_descrs.insert(s, d); } }
params_ref & get_params(symbol const & mod_name) { if (mod_name == symbol::null) { return m_params; } else { params_ref * p = nullptr; if (!m_module_params.find(mod_name, p)) { p = alloc(params_ref); m_module_params.insert(mod_name, p); } SASSERT(p != 0); return *p; } }
void register_module_descr(char const * module_name, char const * descr) { // Don't need synchronization here, this method // is invoked from check_registered that is already protected. m_module_descrs.insert(symbol(module_name), descr); }