//~queue_base() noexcept override = default; //queue_base(const queue_base &) = delete; //queue_base(queue_base &&) = delete; //queue_base &operator=(const queue_base &) = delete; //queue_base &operator=(queue_base &&) = delete; public void register_state(plib.state_manager_t manager, string module) { throw new emu_unimplemented(); #if false manager.save_item(this, m_qsize, module + "." + "qsize"); manager.save_item(this, &m_times[0], module + "." + "times", m_times.size()); manager.save_item(this, &m_net_ids[0], module + "." + "names", m_net_ids.size()); #endif }
public void netlist_state_t_after_ctor(string name, plib.plog_delegate logger) { m_log = new log_type(logger); m_dummy_version = 1; m_setup = new setup_t(this); //m_setup = plib::make_unique<setup_t, host_arena>(*this); // create the run interface m_netlist = new netlist_t(this, name); //m_netlist = plib::make_unique<netlist_t>(m_pool, *this, name); // Make sure save states are invalidated when a new version is deployed m_state.save_item(this, m_dummy_version, "V" + version()); // Initialize factory netlist.devices.net_lib_global.initialize_factory(m_setup.parser().factory_()); // Add default include file string content = "#define RES_R(res) (res) \n" + "#define RES_K(res) ((res) * 1e3) \n" + "#define RES_M(res) ((res) * 1e6) \n" + "#define CAP_U(cap) ((cap) * 1e-6) \n" + "#define CAP_N(cap) ((cap) * 1e-9) \n" + "#define CAP_P(cap) ((cap) * 1e-12) \n" + "#define IND_U(ind) ((ind) * 1e-6) \n" + "#define IND_N(ind) ((ind) * 1e-9) \n" + "#define IND_P(ind) ((ind) * 1e-12) \n"; m_setup.parser().add_include(new plib.psource_str_t("netlist/devices/net_lib.h", content)); //m_setup->parser().add_include<plib::psource_str_t>("netlist/devices/net_lib.h", content); // This is for core macro libraries m_setup.parser().add_include(new plib.psource_str_t("devices/net_lib.h", content)); //m_setup->parser().add_include<plib::psource_str_t>("devices/net_lib.h", content); netlist_base_lib(m_setup.parser()); //NETLIST_NAME(base_lib)(m_setup->parser()); //throw new emu_unimplemented(); #if false m_setup->parser().register_source <source_pattern_t>("src/lib/netlist/macro/nlm_{1}.cpp", true); m_setup->parser().register_source <source_pattern_t>("src/lib/netlist/generated/nlm_{1}.cpp", true); m_setup->parser().register_source <source_pattern_t>("src/lib/netlist/macro/modules/nlmod_{1}.cpp", true); m_setup->parser().include("base_lib"); #endif }