I'm having trouble with insert<> as called on a set. Specifically, it
doesn't seem to be possible to iterate over sets built with insert<>.
The following code, for example, works correctly (or at least,
compiles without errors):
---
typedef set m_set;
typedef transform > >::type result;
---
but the following (which as I understand it should be equivalent)
fails to compile:
---
typedef insert, double>::type, char>::type m_set;
typedef transform > >::type result;
---
The error consists basically of the compiler complaining there's no
member type next_ in set. I've provided the
full error log in an attachment (I'm using g++ 4.0.2 and Boost
1.33.0). The bug isn't specific to transform; I've encountered it when
using other algorithms when they iterate over a set built with
inserts.
It's possible this problem relates to the problem discussed in this
message: (http://thread.gmane.org/gmane.comp.lib.boost.devel/116988),
which also concerns non-identical behavior for sets built with the two
methods.
I hope I'm not doing something stupid, I'm starting to feel like a
broken record here...