mirror of
https://github.com/boostorg/spirit.git
synced 2026-01-19 04:42:11 +00:00
ts_real_policies: One iterator copy less optimization
This commit is contained in:
@@ -169,15 +169,14 @@ struct ts_real_policies : boost::spirit::qi::ureal_policies<T>
|
||||
if (parse(first, last, uint3, result))
|
||||
{
|
||||
T n;
|
||||
Iterator save = first;
|
||||
Iterator iter = first;
|
||||
|
||||
while (qi::parse(first, last, ',') && qi::parse(first, last, uint3_3, n))
|
||||
while (qi::parse(iter, last, ',') && qi::parse(iter, last, uint3_3, n))
|
||||
{
|
||||
result = result * 1000 + n;
|
||||
save = first;
|
||||
first = iter;
|
||||
}
|
||||
|
||||
first = save;
|
||||
attr = result;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -72,15 +72,14 @@ struct ts_real_policies : boost::spirit::qi::ureal_policies<T>
|
||||
if (parse(first, last, uint3, result))
|
||||
{
|
||||
acc_type n;
|
||||
Iterator save = first;
|
||||
Iterator iter = first;
|
||||
|
||||
while (qi::parse(first, last, ',') && qi::parse(first, last, uint3_3, n))
|
||||
while (qi::parse(iter, last, ',') && qi::parse(iter, last, uint3_3, n))
|
||||
{
|
||||
result = result * 1000 + n;
|
||||
save = first;
|
||||
first = iter;
|
||||
}
|
||||
|
||||
first = save;
|
||||
attr = result;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -68,15 +68,14 @@ struct ts_real_policies : boost::spirit::x3::ureal_policies<T>
|
||||
if (parse(first, last, uint3, result))
|
||||
{
|
||||
T n;
|
||||
Iterator save = first;
|
||||
Iterator iter = first;
|
||||
|
||||
while (x3::parse(first, last, ',') && x3::parse(first, last, uint3_3, n))
|
||||
while (x3::parse(iter, last, ',') && x3::parse(iter, last, uint3_3, n))
|
||||
{
|
||||
result = result * 1000 + n;
|
||||
save = first;
|
||||
first = iter;
|
||||
}
|
||||
|
||||
first = save;
|
||||
attr = result;
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user