From 2e74e298c8015aa594ca33f77bf966bf1fae949c Mon Sep 17 00:00:00 2001 From: Jeremy Siek Date: Fri, 2 Nov 2001 17:19:18 +0000 Subject: [PATCH] towards a fix [SVN r11536] --- include/boost/iterator_adaptors.hpp | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/include/boost/iterator_adaptors.hpp b/include/boost/iterator_adaptors.hpp index 9da7fdd..d2c334e 100644 --- a/include/boost/iterator_adaptors.hpp +++ b/include/boost/iterator_adaptors.hpp @@ -523,7 +523,31 @@ namespace detail { // built out of std::pair's and is terminated by end_of_list. #ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - // UNDER CONSTRUCTION + struct find_param_continue { + template struct bind { + typedef typename AssocList::first_argument Head; + typedef typename Head::first_argument Key1; + typedef typename Head::second_argument Value; + typedef typename ct_if::value, + Value, + typename find_param::type + >::type type; + }; + }; + struct find_param_end { + template + struct bind { typedef default_argument type; }; + }; + template struct find_param_helper1 + { typedef find_param_continue type; }; + template <> struct find_param_helper1 + { typedef find_param_end type; }; + + template + struct find_param { + typedef typename find_param_helper1::type select1; + typedef typename select1::template bind::type type; + }; #else template struct find_param;