Boost logo

Boost :

From: Joaquín Mª López Muñoz (joaquin_at_[hidden])
Date: 2003-09-11 12:31:42

Aleksey Gurtovoy ha escrito:

> Hmm, one way to improve this one is to make
> 'TypeListofTypeListsElement::type_list' a set. Do you need a guarantee of
> a particular iteration order on this sequence?

Yes, it needs to be iterated from begin to end.

> >
> > This works but seems to make MSVC++ 6.0 choke under moderate
> > stress. Any idea to simplify it? (unrolling, etc.) Thanx in advance
> You can try out the simplified version above (without 'bind'), but I
> guess to be able to suggest more options I need to know how does is
> chokes :). Does it ICE, returns a wrong result, or something else?

I've tried to make a simple test showing the problem to no avail. I guess
it is just a problem of complexity popping up in random ways.
The issue has arisen in connection with mi recently posted indexed_set

when compiling with MSVC++ 6.0 SP5. For an occurence of the problem
please change line 79 in example2.cpp

    nth_iterator_type<dictionary,1>::type it2=get<1>(d).find(word);


    nth_iterator_type<dictionary,1>::type it2=get<to>(d).find(word);

(note the change from get<1> to get<to>). This produces a compiler heap limit.
Similar substitutions in this example result in various errors, it is not always
heap thing. The same works OK with g++ 3.2, for instance.

I know what I have is not any good for investigating the problem, but in case
you decide to give it a look, please tell me so and I'll try to assist you with
as much info as you need.

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