Boost logo

Boost :

From: JOAQUIN LOPEZ MU?Z (joaquin_at_[hidden])
Date: 2006-03-07 13:54:29

----- Mensaje original -----
De: Felipe Magno de Almeida <felipe.m.almeida_at_[hidden]>
Fecha: Martes, Marzo 7, 2006 6:34 pm
Asunto: Re: [boost][multi_index]

> On 3/6/06, Joaquín Mª López Muñoz <joaquin_at_[hidden]> wrote:
> [snip]
> > >
> > > typedef std::pair<iterator, iterator> iterator_pair;
> >
> > Here. What is this "iterator" type? What index.equal_range(name)
> > returns is a
> typedef headers_multi_index_t::nth_index<1>::type::iterator iterator;


> Looks like that's not the problem

Yep, looks like this is OK, and, as you say, the thing
works on other compilers.
The following is a shot in the dark. Can replace your

typedef headers_multi_index_t::nth_index<1>::type::iterator iterator;

with something like

typedef headers_multi_index_t::nth_index<1>::type::iterator
  my_iterator; // note, name changed

adjust the dependent typedefs and try to compile? Older
versions of GCC have sometimes clashing symbol problems
with symbols that ought not to clash. Additionally, I'd
check the using decls and directives in effect.

If this does not shed any light, it'd be extremely
helpful if you can isolate the problem into a complete
testcase you can post or send to me. I've tried myself
to reproduce the issue following your general code outline,
but didn't get the compiler to choke as you have reported.

Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo

Boost list run by bdawes at, gregod at, cpdaniel at, john at