From 9286143ca45ac0f106ffe1baecf7dd8efa9fc70d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Thu, 26 Jun 2008 16:00:21 +0000 Subject: [PATCH] Fix detection of improper use of any nodes for EDG. [SVN r46720] --- .../boost/intrusive/detail/any_node_and_algorithms.hpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/include/boost/intrusive/detail/any_node_and_algorithms.hpp b/include/boost/intrusive/detail/any_node_and_algorithms.hpp index 6b75f57..9662138 100644 --- a/include/boost/intrusive/detail/any_node_and_algorithms.hpp +++ b/include/boost/intrusive/detail/any_node_and_algorithms.hpp @@ -269,6 +269,14 @@ class any_algorithms static bool unique(const_node_ptr node) { return 0 == node->node_ptr_1; } + +#if defined(__EDG__) && defined(__STD_STRICT_ANSI) + // For compilers checking the full source code at compile time, regardless + // of whether the code is instantiated or not, we turn the compile error + // below into a link error. + static void unlink(node_ptr); + static void swap_nodes(node_ptr l, node_ptr r); +#else static void unlink(node_ptr) { //Auto-unlink hooks and unlink() call for safe hooks are not @@ -282,6 +290,7 @@ class any_algorithms //what algorithm they must use from unlink them from the container any_algorithms::swap_nodes_not_available_for_any_hooks(); } +#endif }; } //namespace intrusive