summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/tools/nl_convert.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/netlist/tools/nl_convert.cpp')
-rw-r--r--src/lib/netlist/tools/nl_convert.cpp23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/lib/netlist/tools/nl_convert.cpp b/src/lib/netlist/tools/nl_convert.cpp
index 545377cc494..d8a7401018e 100644
--- a/src/lib/netlist/tools/nl_convert.cpp
+++ b/src/lib/netlist/tools/nl_convert.cpp
@@ -18,7 +18,7 @@
void nl_convert_base_t::add_pin_alias(const pstring &devname, const pstring &name, const pstring &alias)
{
pstring pname = devname + "." + name;
- m_pins.insert({pname, plib::make_unique<pin_alias_t>(pname, devname + "." + alias)});
+ m_pins.emplace(pname, plib::make_unique<pin_alias_t>(pname, devname + "." + alias));
}
void nl_convert_base_t::add_ext_alias(const pstring &alias)
@@ -26,7 +26,7 @@ void nl_convert_base_t::add_ext_alias(const pstring &alias)
m_ext_alias.push_back(alias);
}
-void nl_convert_base_t::add_device(std::shared_ptr<dev_t> dev)
+void nl_convert_base_t::add_device(std::unique_ptr<dev_t> dev)
{
for (auto & d : m_devs)
if (d->name() == dev->name())
@@ -34,20 +34,20 @@ void nl_convert_base_t::add_device(std::shared_ptr<dev_t> dev)
out("ERROR: Duplicate device {1} ignored.", dev->name());
return;
}
- m_devs.push_back(dev);
+ m_devs.push_back(std::move(dev));
}
void nl_convert_base_t::add_device(const pstring &atype, const pstring &aname, const pstring &amodel)
{
- add_device(std::make_shared<dev_t>(atype, aname, amodel));
+ add_device(plib::make_unique<dev_t>(atype, aname, amodel));
}
void nl_convert_base_t::add_device(const pstring &atype, const pstring &aname, double aval)
{
- add_device(std::make_shared<dev_t>(atype, aname, aval));
+ add_device(plib::make_unique<dev_t>(atype, aname, aval));
}
void nl_convert_base_t::add_device(const pstring &atype, const pstring &aname)
{
- add_device(std::make_shared<dev_t>(atype, aname));
+ add_device(plib::make_unique<dev_t>(atype, aname));
}
void nl_convert_base_t::add_term(pstring netname, pstring termname)
@@ -58,9 +58,9 @@ void nl_convert_base_t::add_term(pstring netname, pstring termname)
net = m_nets[netname].get();
else
{
- auto nets = std::make_shared<net_t>(netname);
+ auto nets = plib::make_unique<net_t>(netname);
net = nets.get();
- m_nets.insert({netname, nets});
+ m_nets.emplace(netname, std::move(nets));
}
/* if there is a pin alias, translate ... */
@@ -84,10 +84,11 @@ void nl_convert_base_t::dump_nl()
net->set_no_export();
}
- std::vector<int> sorted;
- for (unsigned i=0; i < m_devs.size(); i++)
+ std::vector<size_t> sorted;
+ for (size_t i=0; i < m_devs.size(); i++)
sorted.push_back(i);
- std::sort(sorted.begin(), sorted.end(), plib::indexed_compare<std::vector<std::shared_ptr<dev_t>>>(m_devs));
+ std::sort(sorted.begin(), sorted.end(),
+ [&](size_t i1, size_t i2) { return m_devs[i1]->name() < m_devs[i2]->name(); });
for (std::size_t i=0; i<m_devs.size(); i++)
{