本文整理汇总了C++中list_t::end方法的典型用法代码示例。如果您正苦于以下问题:C++ list_t::end方法的具体用法?C++ list_t::end怎么用?C++ list_t::end使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类list_t
的用法示例。
在下文中一共展示了list_t::end方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
handle_t *MEM_CacheLimiterCClass::insert(void *data)
{
cclass_list.push_back(new MEM_CacheLimiterHandleCClass(data, this));
list_t::iterator it = cclass_list.end();
--it;
cclass_list.back()->set_iter(it);
return cache.insert(cclass_list.back());
}
示例2: remove_even
static void remove_even(list_t &l) {
bool even = false;
for (auto it = l.begin(); it != l.end();) {
if (even)
it = l.erase(it);
else
++it;
even = !even;
}
}
示例3: prune_if
void prune_if (size_t max_size, pred op)
{
if (list_.empty())
return;
auto i (std::prev(list_.end()));
while (size_ > max_size)
{
if (op(*i))
{
map_.erase(i->first);
i = list_.erase(i);
--size_;
}
if (i == list_.begin())
return;
--i;
}
}
示例4: solve
void solve(int dataId)
{
int s = -1, t= -1, use = -1;
for(int i=0;i<26;i++)
{
int outd = 0, ind=0;
for(int j=0;j<26;j++)
{
outd += links[i][j].size();
ind += links[j][i].size();
}
if(outd || ind) use = i;
if(outd > ind+1 || ind > outd+1)
{
cout << "IMPOSSIBLE" << endl;
return;
}
if(outd > ind)
{
if(s != -1)
{
cout << "IMPOSSIBLE" << endl;
return;
}
s = i;
}
if(ind > outd)
{
if(t != -1)
{
cout << "IMPOSSIBLE" << endl;
return;
}
t = i;
}
}
if(s == -1) s = t = use;
if(walk2(output.end(), s, t) == -1)
{
cout << "IMPOSSIBLE" << endl;
return;
}
output.pb(mp("", t));
foreach(it, output)
{
if(pump(it) == -1)
{
cout << "IMPOSSIBLE" << endl;
return;
}
}
for(int i=0;i<30;i++) for(int j=0;j<30;j++) if(links[i][j].size())
{
cout << "IMPOSSIBLE" << endl;
return;
}
output.pop_back();
list_t::iterator it = output.begin();
do
{
cout << it->first;
++it;
if(it == output.end()) break;
cout << " ";
} while(true);
cout << endl;
}