
2009/9/30 Jeff Flinn <TriumphSprint2000@hotmail.com>:
I've been able to get what I currently need of the itl to compile/link and pass tests under CodeWarrior 9.4 on windows and Mac.
good news :-)
The attached patch file clears up the ambiguous template definition errors I was getting. The culprit was the use of 'using base_type::insert' in boost/itl/map.hpp. CodeWarrior sees both std::map::insert(const value_type&) and itl::map::insert(const value_type&) because of the using declaration unhiding all overloads of std::map::insert. I'm not sure what the standard says about this. So I removed the 'using base_type::insert' and provide an explicit forwarding function to insert(iterator, value_type).
which is better than the combination of 'using' and redefinition.
This is probably the case for other classes that privately derive from std::containers.
I have checked this. I have found no more flaws of this kind.
There also were two add_front function bodies that didn't use the co_val argument, so I commented out those args to quiet warnings.
Jeff, thank you again for contributing work on portability for the itl. I have integrated your patch and checked the code for more flaws of this kind. I have compiled and tested the changes with gcc and msvc and committed the code to the sandbox. Best regards Joachim