> typedef boost::multi_index_container<
> value_type,
> indexed_by<
> ordered_non_unique<
> tag<index1>,member<value_type,Key1,&value_type::first> >,
This cannot possibly work, as value_type does not have a
member called first (you're using a tuple, not an std::pair).
Anyway, the problem does not lie here.
Yes, I've been ignoring this while I figured out the iterator... it's leftover from the example and I just named things first,second,third while I get the rest figured out. What I did instead was use the structure below... I didn't want to mess with stuff like tuple_element<N>::template get<RET>(x) (or whatever the correct type-independent tuple-element accessor would be) becuase I'm really not that familiar with this sort of meta programming... this seems like it will work but if you're familiar with a better way, I'd love to hear about it.
template <typename T1, typename T2, typename T3>
struct bimultimap_triple
{
typedef T1 first_type;
typedef T2 second_type;
typedef T3 third_type;
bimultimap_triple():first(T1()),second(T2()),third(T3()){}
bimultimap_triple(const T1& f,const T2& s, const T3& t):first(f),second(s),third(t){}
T1 first;
T2 second;
T3 third;
};
[...]
> typedef typename bimultimap<Key1,Key2,Data>::
> bimimap::index<index2>::type::iterator bimimapIterator2;
You need a disambiguating template keyword:
typedef typename bimultimap<Key1,Key2,Data>::
bimimap::template index<index2>::type::iterator bimimapIterator2;
That compiles (BIG THANK YOU). Next step is for me to figure out what this actually does. :) Can you give me some background (or point me to the correct reading material) on why the "template" qualifier is needed and what effect that has? I need to learn more about this...
Hope this helps. Thanks for using Boost.MultiIndex,
Definitely helped. Thanks. :)
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users