는 다음과 같이 모델링 무언가의 컬렉션을 감안할 때 빈}. 표준 STL 컨테이너는 약속의 땅에 나를 점점되지 않습니다컨테이너 주문 요구 사항 (부스트 :: multi_index을 이해하기위한 노력의 일환으로)
select id, name from Foo group by name order by id
:
어떻게 날에 해당 할 수 부스트 :: multi_index 같은 자료 구조를 사용합니까. 위의 SQL 변형을 사용하여 내 요점을 파악합니다. 나는 어떤 데이터베이스도 다루고 있지 않다.
UPDATE :
그래서, 분명히 내가 필요한 모든은 다음과 같습니다
typedef boost::multi_index_container<
Foo,
indexed_by<
ordered_unique<identity<Foo>>,
ordered_unique<member<Foo, std::string, &Foo::name>>
>
> MIC;
누군가 내가이 권리를 가지고 확인 할 수 있나요? 작동하는 것 같습니다. 나는 아직 그것을 테스트하지 않았다.
[std :: map, 값순으로 정렬 한 다음 키별로 정렬하는 방법]의 가능한 복제본 (http://stackoverflow.com/questions/19842035/stdmap-how-to-sort-byvalue-then-by -key) – Treycos
@Treycos 그것은 전혀 중복되지 않습니다. 제 SQL 쿼리를 다시 한번보세요. 나는 이드 (id), 그 다음 이름 (name) 순으로 물어 보지 않았다. 나는 ID별로 정렬하고 동시에 모든 * 동일한 * 이름을 그룹화하고 그 중 하나를 할당하려고한다고 말했습니다. 그래서 {1, "Foo"} {2, "Bar"} {3, "Foo"}는 결국 {1, "Foo"} {2, "Bar"} ** OR ** { } {3, "Foo"} – ForeverLearning
SO mojo가 더 많은 사람이 "이 질문에 이미 답변이있을 수 있습니다"라는 태그를 제거 할 수 있습니까? 내 경우에는 부적절 해 보입니다. – ForeverLearning