gpt4 book ai didi

c++ - 清除 multi_index_container

转载 作者:搜寻专家 更新时间:2023-10-31 00:17:08 25 4
gpt4 key购买 nike

我的代码(不是我的代码)中有一个使用 boost multi_index_container 的类

template <class T_key, class T_val>
class foo_map {
typedef MapEntry_T<T_key, T_val> MapEntry;

typedef multi_index_container
< MapEntry
, indexed_by
< sequenced< tag<by_LRU> >
, ordered_unique
< tag<by_index>
, member<MapEntry, T_key, &MapEntry::first>
>
>
> MapTable;
typedef typename MapTable::template index<by_index>::type::iterator IndexIter;

MapTable theMap;

public:
typedef IndexIter iterator;
void erase(iterator iter) {
theMap.get<by_index>().erase(iter);
}

};

假设所有变量和类型都已正确定义。我不想弄乱片段。该代码确实有效。我想要做的是添加一个 clear 函数来删除所有元素。

  void erase(iterator iter) {
for (iter = theMap.begin(); iter != theMap.end(); iter++ )
theMap.get<by_index>().erase(iter);
}

有人可以帮忙吗?我收到一个 100 行的错误!!!

最佳答案

另外,你可以考虑

theMap.get<by_index>().clear();

关于c++ - 清除 multi_index_container,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14181893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com