부스트 멀티 인덱스를 사용하여 하나의 멀티 맵 (4 개 변수)을 만들려고합니다. 내가멀티 인덱스에서 값을 얻는 방법
tmp_Container.get<name>().find("aaa")->firstVariable
편집
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;
}
당신이, 더 구체적으로 주시겠습니까? 적어도 컨테이너의 정의를 알려주세요. – vissi
@vissi 편집 – prabhakaran
코드를 보면 컴파일 오류가 발생합니다. 주된 이유는 bmi :: multi_index_container에 대한 두 번째 템플릿 인수가 주위에 bmi :: indexed_by가 필요하기 때문입니다. (적어도 내가 가지고있는 Boost 버전의 경우, 이것이 어떤 점에서 바뀌지 않았다는 것을 보장하지는 않는다.) –