本文介绍了如何获取值了一个多指数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用的助推多指数试着做一多地图(4个变量)。我能知道如何得到这样一个特定的指数值
tmp_Container.get<名称>()找到(AAA) - GT; firstVariable
修改
结构EnumStruct
{
INT microsoftEnum;
标准::字符串microsoftEnumString;
INT localEnum;
标准::字符串localEnumString;
}BMI的typedef multi_index_container中:: LT&;
EnumStruct,
BMI :: ordered_unique< BMI ::标签<&localEnum GT;,BMI ::成员<
EnumStruct,标准::字符串,&安培; EnumStruct :: localEnumString> >
>
> boost_Enum_Container;boost_Enum_Container enumStructContainer;
诠释的main()
{
enumStructContainer.insert(EnumStruct(1,MS_1,11,LOC11));
enumStructContainer.insert(EnumStruct(2,MS_2,22,LOC22));
enumStructContainer.insert(EnumStruct(3,MS_3,33,LOC33));
//enumStructContainer.get<0>().find(1);
// boost_Enum_Container ::指数&LT; localEnum&GT; ::类型和放大器;
。localEnum_Index = enumStructContainer.get&LT; localEnum&GT;()找到(22) - GT; firstVariable;
boost_Enum_Container:迭代
返回0;
}
解决方案
您需要的项目
功能。见的和http://www.boost.org/doc/libs/1_46_0/libs/multi_index/doc/reference/multi_index_container.html#projection.因此: tmp_Container.project℃的&GT;(tmp_Container.get&LT;名称&gt; .find(AAA))
I am trying to do one multi map(4 variables) using boost- multi index. Can I know how to get the value of a particular index like
tmp_Container.get<name>().find("aaa")->firstVariable
EDIT
struct EnumStruct
{
int microsoftEnum;
std::string microsoftEnumString;
int localEnum;
std::string localEnumString;
}
typedef bmi::multi_index_container<
EnumStruct,
bmi::ordered_unique<bmi::tag<localEnum>,bmi::member <
EnumStruct,std::string,&EnumStruct::localEnumString > >
>
> boost_Enum_Container;
boost_Enum_Container enumStructContainer;
int main()
{
enumStructContainer.insert(EnumStruct(1,"MS_1",11,"LOC11"));
enumStructContainer.insert(EnumStruct(2,"MS_2",22,"LOC22"));
enumStructContainer.insert(EnumStruct(3,"MS_3",33,"LOC33"));
//enumStructContainer.get<0>().find(1);
//boost_Enum_Container::index<localEnum>::type&
localEnum_Index=enumStructContainer.get<localEnum>().find(22)->firstVariable;
boost_Enum_Container::iterator
return 0;
}
解决方案
You need the project
function. See http://www.boost.org/doc/libs/1_39_0/libs/multi_index/doc/tutorial/basics.html#projection and http://www.boost.org/doc/libs/1_46_0/libs/multi_index/doc/reference/multi_index_container.html#projection. Thus: tmp_Container.project<0>(tmp_Container.get<name>.find("aaa"))
.
这篇关于如何获取值了一个多指数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!