
Markus Schöpflin wrote:
Markus Schöpflin wrote:
OK, I applied the patch. You might want to massage the comment a bit, and probably extend the condition to include GCC 4.3 as well.
This enable_if trick works for GCC 4.3. Could you try it with EDG? Modify boost/trunk/boost/intrusive/detail/any_node_and_algorithms.hpp: [...] #include <boost/intrusive/detail/mpl.hpp> [...] template<class VoidPointer> class any_algorithms { public: template <class T> static void function_not_available_for_any_hooks(typename detail::enable_if<detail::is_same<T, bool> >::type) {} public: [...] static void unlink(node_ptr) { //Auto-unlink hooks and unlink() call for safe hooks are not //available for any hooks!!! any_algorithms<VoidPointer>::template function_not_available_for_any_hooks<node_ptr>(); } static void swap_nodes(node_ptr l, node_ptr r) { //Any nodes have no swap_nodes capability because they don't know //what algorithm they must use from unlink them from the container any_algorithms<VoidPointer>::template function_not_available_for_any_hooks<node_ptr>(); } Ion