summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/nl_setup.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/netlist/nl_setup.cpp')
-rw-r--r--src/lib/netlist/nl_setup.cpp26
1 files changed, 12 insertions, 14 deletions
diff --git a/src/lib/netlist/nl_setup.cpp b/src/lib/netlist/nl_setup.cpp
index c48ca48ae0c..9625ed5b15b 100644
--- a/src/lib/netlist/nl_setup.cpp
+++ b/src/lib/netlist/nl_setup.cpp
@@ -41,8 +41,6 @@ setup_t::~setup_t()
m_param_values.clear();
m_sources.clear();
-
- pstring::resetmem();
}
pstring setup_t::build_fqn(const pstring &obj_name) const
@@ -97,10 +95,10 @@ bool setup_t::device_exists(const pstring &name) const
void setup_t::register_model(const pstring &model_in)
{
auto pos = model_in.find(" ");
- if (pos == model_in.end())
+ if (pos == pstring::npos)
log().fatal(MF_1_UNABLE_TO_PARSE_MODEL_1, model_in);
pstring model = model_in.left(pos).trim().ucase();
- pstring def = model_in.substr(std::next(pos, 1)).trim();
+ pstring def = model_in.substr(pos + 1).trim();
if (!m_models.insert({model, def}).second)
log().fatal(MF_1_MODEL_ALREADY_EXISTS_1, model_in);
}
@@ -791,13 +789,13 @@ static pstring model_string(detail::model_map_t &map)
void setup_t::model_parse(const pstring &model_in, detail::model_map_t &map)
{
pstring model = model_in;
- pstring::iterator pos(nullptr);
+ std::size_t pos = 0;
pstring key;
while (true)
{
pos = model.find("(");
- if (pos != model.end()) break;
+ if (pos != pstring::npos) break;
key = model.ucase();
auto i = m_models.find(key);
@@ -818,19 +816,19 @@ void setup_t::model_parse(const pstring &model_in, detail::model_map_t &map)
log().fatal(MF_1_MODEL_NOT_FOUND, model_in);
}
- pstring remainder=model.substr(std::next(pos, 1)).trim();
+ pstring remainder = model.substr(pos + 1).trim();
if (!remainder.endsWith(")"))
log().fatal(MF_1_MODEL_ERROR_1, model);
// FIMXE: Not optimal
- remainder = remainder.left(std::next(remainder.begin(), (remainder.len() - 1)));
+ remainder = remainder.left(remainder.len() - 1);
std::vector<pstring> pairs(plib::psplit(remainder," ", true));
for (pstring &pe : pairs)
{
auto pose = pe.find("=");
- if (pose == pe.end())
+ if (pose == pstring::npos)
log().fatal(MF_1_MODEL_ERROR_ON_PAIR_1, model);
- map[pe.left(pose).ucase()] = pe.substr(std::next(pose, 1));
+ map[pe.left(pose).ucase()] = pe.substr(pose + 1);
}
}
@@ -854,7 +852,7 @@ nl_double setup_t::model_value(detail::model_map_t &map, const pstring &entity)
pstring tmp = model_value_str(map, entity);
nl_double factor = NL_FCONST(1.0);
- auto p = std::next(tmp.begin(), (tmp.len() - 1));
+ auto p = std::next(tmp.begin(), static_cast<pstring::difference_type>(tmp.len() - 1));
switch (*p)
{
case 'M': factor = 1e6; break;
@@ -870,7 +868,7 @@ nl_double setup_t::model_value(detail::model_map_t &map, const pstring &entity)
log().fatal(MF_1_UNKNOWN_NUMBER_FACTOR_IN_1, entity);
}
if (factor != NL_FCONST(1.0))
- tmp = tmp.left(std::next(tmp.begin(), (tmp.len() - 1)));
+ tmp = tmp.left(tmp.len() - 1);
return tmp.as_double() * factor;
}
@@ -975,8 +973,8 @@ bool setup_t::parse_stream(plib::putf8_reader &istrm, const pstring &name)
void setup_t::register_define(pstring defstr)
{
auto p = defstr.find("=");
- if (p != defstr.end())
- register_define(defstr.left(p), defstr.substr(std::next(p, 1)));
+ if (p != pstring::npos)
+ register_define(defstr.left(p), defstr.substr(p+1));
else
register_define(defstr, "1");
}