本文整理汇总了C++中VectorList::erase方法的典型用法代码示例。如果您正苦于以下问题:C++ VectorList::erase方法的具体用法?C++ VectorList::erase怎么用?C++ VectorList::erase使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VectorList
的用法示例。
在下文中一共展示了VectorList::erase方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void
SimpleOptimizer::process(VectorList& path)
{
bool changed = true;
while (changed && path.size() > 2)
{
changed = false;
VectorList::iterator i = path.begin();
VectorList::iterator j = ++path.begin();
VectorList::iterator k = ++++path.begin();
while (i != path.end() && j != path.end() && k != path.end())
{
::rl::math::Real ik = this->model->distance(*i, *k);
if (!this->verifier->isColliding(*i, *k, ik))
{
VectorList::iterator l = j;
++j;
++k;
path.erase(l);
if (nullptr != this->viewer)
{
this->viewer->drawConfigurationPath(path);
}
changed = true;
}
else
{
++i;
++j;
++k;
}
}
}
}