AMDG Dominique Devienne wrote:
I've been using B.MI for a few days, and until now it's worked great for me. I've included below in Exhibit A a simplified (and a bit obfuscated, sorry) version of what I've been using (a proxy, indexed by name and type, and a method returning all instances of a given type).
Filling in a list of all entries matching a given type (in exhibit A) works great.
But now I was trying to return a custom (non-standard) iterator, where the client gets a pointer to a abstract base iterator (allows to hide the B.MI stuff in the concrete derived iterator), wrapped in an auto_ptr. The private concrete iterator internally stores the B.MI iterator from the index I'm interested in (exhibit B). This compiles (vs2005 sp1 on winXP 32), but it crashes at runtime on the call to boost::tie, during iterator assignment apparently. (call stack in exhibit C).
After filling in enough to make your code compile, it works for me. I've attached what I did. If this works for you, can you post a minimal and complete example that fails? In Christ, Steven Watanabe