Subject: [Boost-users] [lambda] Massive Windows warnings with containers of smart pointers
From: Allen Cronce (allenslists_at_[hidden])
Date: 2009-04-09 12:08:49


Hi all,

I'm seeing massive C4181 warnings using boost lambda on containers of
smart pointers under Windows VS2005 with Boost 1.36. The warnings do
not happen under GCC, with all warning options at maximum.

I can see from the archives that Noah Roberts posted this issue, as
well as other lambda related problems, to the list back in 2006. I
can't find an answer to the warning issue.

Our development team has a policy of zero-warning tolerance. While
it's clear that the code is working on all platforms, the warnings are
troublesome. I'm hoping that there is a work around other than just
suppressing the 4181 warnings.

Sample code and the resulting warning follows below. Thank you in
advance for any suggestions.

Best,

--
Allen Cronce
= 
= 
= 
= 
= 
= 
= 
= 
= 
= 
========================================================================
/*
  The following is test code that generates a massive warning under  
Windows:
  warning C4181: qualifier applied to reference type; ignored
  */
class Foo
	{
	public:
		Foo(void):
		mValue(0)
		{
		};
		
		~Foo(void)
		{
		};
		
		int getValue(void) const
		{
			return mValue;
		}
		
	protected:
		int mValue;
	};
void TestBoostLambdaWarnings(void)
{	
	typedef	boost::shared_ptr<Foo>	SharedFoo_T;
	vector<SharedFoo_T> fooVect;
	vector<SharedFoo_T>::iterator fooFound;
	fooFound = find_if(fooVect.begin(), fooVect.end(),
					   boost::lambda::bind(&Foo::getValue, *boost::lambda::_1) == 3);	
}
= 
= 
= 
= 
= 
= 
= 
= 
= 
= 
========================================================================
1>c:\sources\client\thirdpartylibs\installedwin32\individual\boost 
\include\boost\lambda\detail\operator_return_type_traits.hpp(240) :  
warning C4181: qualifier applied to reference type; ignored
1>        c:\sources\client\thirdpartylibs\installedwin32\individual 
\boost\include\boost\lambda\detail\lambda_traits.hpp(45) : see  
reference to class template instantiation  
'boost::lambda::detail::contentsof_type<A>' being compiled
1>        with
1>        [
1>            A=const boost::shared_ptr<Foo>
1>        ]
1>        c:\sources\client\thirdpartylibs\installedwin32\individual 
\boost\include\boost\lambda\detail\lambda_traits.hpp(53) : see  
reference to class template instantiation  
'boost::lambda::detail::IF_type_<T>' being compiled
1>        with
1>        [
1>            T=boost::lambda::detail::contentsof_type<const  
boost::shared_ptr<Foo>>
1>        ]
1>        c:\sources\client\thirdpartylibs\installedwin32\individual 
\boost\include\boost\lambda\detail 
\operator_return_type_traits.hpp(314) : see reference to class  
template instantiation 'boost::lambda::detail::IF_type<C,T,E>' being  
compiled
1>        with
1>        [
1>            C=true,
1>            T=boost::lambda::detail::contentsof_type<const  
boost::shared_ptr<Foo>>,
1>             
E 
= 
boost 
::lambda::detail::identity_mapping<boost::lambda::detail::unspecified>
1>        ]
1>        c:\sources\client\thirdpartylibs\installedwin32\individual 
\boost\include\boost\lambda\detail\return_type_traits.hpp(88) : see  
reference to class template instantiation  
'boost::lambda::return_type_1<Act,A>' being compiled
1>        with
1>        [
1>             
Act=boost::lambda::other_action<boost::lambda::contentsof_action>,
1>            A=const boost::shared_ptr<Foo> &
1>        ]
1>        c:\sources\client\thirdpartylibs\installedwin32\individual 
\boost\include\boost\lambda\detail\operator_lambda_func_base.hpp(79) :  
see reference to class template instantiation  
'boost::lambda::return_type_1_prot<Act,A>' being compiled
1>        with
1>        [
1>             
Act=boost::lambda::other_action<boost::lambda::contentsof_action>,
1>            A=const boost::shared_ptr<Foo> &
1>        ]
1>        c:\sources\client\thirdpartylibs\installedwin32\individual 
\boost\include\boost\lambda\detail 
\operator_lambda_func_base.hpp(248) : see reference to class template  
instantiation 'boost::lambda::detail::unary_rt<Action,Bound,Open>'  
being compiled
1>        with
1>        [
1>             
Action=boost::lambda::other_action<boost::lambda::contentsof_action>,
1>             
Bound=boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<1>>,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>,
1>            Open=boost::tuples::tuple<const boost::shared_ptr<Foo>  
&,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>
1>        ]
1>        c:\sources\client\thirdpartylibs\installedwin32\individual 
\boost\include\boost\lambda\detail\lambda_functor_base.hpp(191) : see  
reference to class template instantiation  
'boost::lambda::lambda_functor_base<Act,Args>::sig<SigArgs>' being  
compiled
1>        with
1>        [
1>             
Act=boost::lambda::other_action<boost::lambda::contentsof_action>,
1>             
Args=boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<1>>,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>,
1>            SigArgs=boost::tuples::tuple<const  
boost::shared_ptr<Foo>  
&,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>
1>        ]
1>        c:\sources\client\thirdpartylibs\installedwin32\individual 
\boost\include\boost\lambda\detail\lambda_functor_base.hpp(197) : see  
reference to class template instantiation  
'boost::lambda::detail::deduce_non_ref_argument_types_<Args,SigArgs>'  
being compiled
1>        with
1>        [
1>            Args=boost::tuples::cons<const  
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::contentsof_action>,boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<1>>,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>>>,boost::tuples::detail::map_tuple_to_cons<boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>::type>,
1>            SigArgs=boost::tuples::tuple<const  
boost::shared_ptr<Foo>  
&,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>
1>        ]
1>        c:\sources\client\thirdpartylibs\installedwin32\individual 
\boost\include\boost\lambda\detail\lambda_functor_base.hpp(225) : see  
reference to class template instantiation  
'boost::lambda::detail::deduce_non_ref_argument_types_<Args,SigArgs>'  
being compiled
1>        with
1>        [
1>            Args=boost::tuples::tuple<int (__thiscall Foo::* const ) 
(void) const,const  
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::contentsof_action>,boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<1>>,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>>>,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type>,
1>            SigArgs=boost::tuples::tuple<const  
boost::shared_ptr<Foo>  
&,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>
1>        ]
1>        c:\sources\client\thirdpartylibs\installedwin32\individual 
\boost\include\boost\lambda\detail\lambda_functor_base.hpp(398) : see  
reference to class template instantiation  
'boost::lambda::detail::deduce_non_ref_argument_types<Args,SigArgs>'  
being compiled
1>        with
1>        [
1>            Args=boost::tuples::tuple<int (__thiscall Foo::* const ) 
(void) const,const  
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::contentsof_action>,boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<1>>,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>>>,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type>,
1>            SigArgs=boost::tuples::tuple<const  
boost::shared_ptr<Foo>  
&,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>
1>        ]
1>        c:\sources\client\thirdpartylibs\installedwin32\individual 
\boost\include\boost\lambda\detail\lambda_functor_base.hpp(164) : see  
reference to class template instantiation  
'boost::lambda::lambda_functor_base<Act,Args>::sig<SigArgs>' being  
compiled
1>        with
1>        [
1>             
Act=boost::lambda::action<2,boost::lambda::function_action<2>>,
1>            Args=boost::tuples::tuple<int (__thiscall Foo::* const ) 
(void) const,const  
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::contentsof_action>,boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<1>>,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>>>,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type,boost::lambda::detail::bind_traits<boost::tuples::null_type>::type>,
1>            SigArgs=boost::tuples::tuple<const  
boost::shared_ptr<Foo>  
&,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>
1>        ]
1>        c:\sources\client\thirdpartylibs\installedwin32\individual 
\boost\include\boost\lambda\detail\lambda_functor_base.hpp(213) : see  
reference to class template instantiation  
'boost::lambda::detail::deduce_argument_types_<Args,SigArgs>' being  
compiled
1>        with
1>        [
1>             
Args 
= 
boost 
::tuples 
::tuple 
< 
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::lambda_functor_base 
< 
boost 
::lambda 
::action<2,boost::lambda::function_action<2>>,boost::tuples::tuple<int  
(__thiscall Foo::* const )(void) const,const  
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::lambda_functor_base 
< 
boost 
::lambda 
::other_action 
< 
boost 
::lambda 
::contentsof_action 
 > 
,boost 
::tuples 
::tuple 
< 
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::placeholder 
< 
1 
 > 
 > 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
 > 
 > 
 > 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda::detail::bind_traits<boost::tuples::null_type>::type>>>,const  
int 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>,
1>            SigArgs=boost::tuples::tuple<const  
boost::shared_ptr<Foo>  
&,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>
1>        ]
1>        c:\sources\client\thirdpartylibs\installedwin32\individual 
\boost\include\boost\lambda\detail\operator_lambda_func_base.hpp(60) :  
see reference to class template instantiation  
'boost::lambda::detail::deduce_argument_types<Args,SigArgs>' being  
compiled
1>        with
1>        [
1>             
Args 
= 
boost 
::tuples 
::tuple 
< 
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::lambda_functor_base 
< 
boost 
::lambda 
::action<2,boost::lambda::function_action<2>>,boost::tuples::tuple<int  
(__thiscall Foo::* const )(void) const,const  
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::lambda_functor_base 
< 
boost 
::lambda 
::other_action 
< 
boost 
::lambda 
::contentsof_action 
 > 
,boost 
::tuples 
::tuple 
< 
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::placeholder 
< 
1 
 > 
 > 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
 > 
 > 
 > 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda::detail::bind_traits<boost::tuples::null_type>::type>>>,const  
int 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>,
1>            SigArgs=boost::tuples::tuple<const  
boost::shared_ptr<Foo>  
&,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>
1>        ]
1>        c:\sources\client\thirdpartylibs\installedwin32\individual 
\boost\include\boost\lambda\detail 
\operator_lambda_func_base.hpp(222) : see reference to class template  
instantiation 'boost::lambda::detail::binary_rt<Action,Bound,Open>'  
being compiled
1>        with
1>        [
1>             
Action=boost::lambda::relational_action<boost::lambda::equal_action>,
1>             
Bound 
= 
boost 
::tuples 
::tuple 
< 
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::lambda_functor_base 
< 
boost 
::lambda 
::action<2,boost::lambda::function_action<2>>,boost::tuples::tuple<int  
(__thiscall Foo::* const )(void) const,const  
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::lambda_functor_base 
< 
boost 
::lambda 
::other_action 
< 
boost 
::lambda 
::contentsof_action 
 > 
,boost 
::tuples 
::tuple 
< 
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::placeholder 
< 
1 
 > 
 > 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
 > 
 > 
 > 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda::detail::bind_traits<boost::tuples::null_type>::type>>>,const  
int 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>,
1>            Open=boost::tuples::tuple<const boost::shared_ptr<Foo>  
&,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>
1>        ]
1>        c:\program files (x86)\microsoft visual studio 8\vc\include 
\algorithm(87) : see reference to class template instantiation  
'boost::lambda::lambda_functor_base<Act,Args>::sig<SigArgs>' being  
compiled
1>        with
1>        [
1>             
Act=boost::lambda::relational_action<boost::lambda::equal_action>,
1>             
Args 
= 
boost 
::tuples 
::tuple 
< 
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::lambda_functor_base 
< 
boost 
::lambda 
::action<2,boost::lambda::function_action<2>>,boost::tuples::tuple<int  
(__thiscall Foo::* const )(void) const,const  
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::lambda_functor_base 
< 
boost 
::lambda 
::other_action 
< 
boost 
::lambda 
::contentsof_action 
 > 
,boost 
::tuples 
::tuple 
< 
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::placeholder 
< 
1 
 > 
 > 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
 > 
 > 
 > 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda::detail::bind_traits<boost::tuples::null_type>::type>>>,const  
int 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>,
1>            SigArgs=boost::tuples::tuple<const  
boost::shared_ptr<Foo>  
&,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>
1>        ]
1>        c:\program files (x86)\microsoft visual studio 8\vc\include 
\algorithm(96) : see reference to function template instantiation  
'_InIt  
std::_Find_if<std::_Vector_iterator<_Ty,_Alloc>,_Pr>(_InIt,_InIt,_Pr)'  
being compiled
1>        with
1>        [
1>             
_InIt=std::_Vector_iterator<SharedFoo_T,std::allocator<SharedFoo_T>>,
1>            _Ty=SharedFoo_T,
1>            _Alloc=std::allocator<SharedFoo_T>,
1>             
_Pr 
= 
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::lambda_functor_base 
< 
boost 
::lambda 
::relational_action 
< 
boost 
::lambda 
::equal_action 
 > 
,boost 
::tuples 
::tuple 
< 
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::lambda_functor_base 
< 
boost 
::lambda 
::action<2,boost::lambda::function_action<2>>,boost::tuples::tuple<int  
(__thiscall Foo::* const )(void) const,const  
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::lambda_functor_base 
< 
boost 
::lambda 
::other_action 
< 
boost 
::lambda 
::contentsof_action 
 > 
,boost 
::tuples 
::tuple 
< 
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::placeholder 
< 
1 
 > 
 > 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
 > 
 > 
 > 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda::detail::bind_traits<boost::tuples::null_type>::type>>>,const  
int 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>>>
1>        ]
1>        c:\sources\client\pace\libraries\src\libpaceutil 
\libpaceutil_test.cpp(2213) : see reference to function template  
instantiation '_InIt  
std 
::find_if 
< 
std 
::_Vector_iterator 
<_Ty,_Alloc>,boost::lambda::lambda_functor<T>>(_InIt,_InIt,_Pr)' being  
compiled
1>        with
1>        [
1>             
_InIt=std::_Vector_iterator<SharedFoo_T,std::allocator<SharedFoo_T>>,
1>            _Ty=SharedFoo_T,
1>            _Alloc=std::allocator<SharedFoo_T>,
1>             
T 
= 
boost 
::lambda 
::lambda_functor_base 
< 
boost 
::lambda 
::relational_action 
< 
boost 
::lambda 
::equal_action 
 > 
,boost 
::tuples 
::tuple 
< 
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::lambda_functor_base 
< 
boost 
::lambda 
::action<2,boost::lambda::function_action<2>>,boost::tuples::tuple<int  
(__thiscall Foo::* const )(void) const,const  
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::lambda_functor_base 
< 
boost 
::lambda 
::other_action 
< 
boost 
::lambda 
::contentsof_action 
 > 
,boost 
::tuples 
::tuple 
< 
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::placeholder 
< 
1 
 > 
 > 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
 > 
 > 
 > 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda::detail::bind_traits<boost::tuples::null_type>::type>>>,const  
int 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>>,
1>             
_Pr 
= 
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::lambda_functor_base 
< 
boost 
::lambda 
::relational_action 
< 
boost 
::lambda 
::equal_action 
 > 
,boost 
::tuples 
::tuple 
< 
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::lambda_functor_base 
< 
boost 
::lambda 
::action<2,boost::lambda::function_action<2>>,boost::tuples::tuple<int  
(__thiscall Foo::* const )(void) const,const  
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::lambda_functor_base 
< 
boost 
::lambda 
::other_action 
< 
boost 
::lambda 
::contentsof_action 
 > 
,boost 
::tuples 
::tuple 
< 
boost 
::lambda 
::lambda_functor 
< 
boost 
::lambda 
::placeholder 
< 
1 
 > 
 > 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
 > 
 > 
 > 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda 
::detail 
::bind_traits 
< 
boost 
::tuples 
::null_type 
 > 
::type 
,boost 
::lambda::detail::bind_traits<boost::tuples::null_type>::type>>>,const  
int 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples 
::null_type 
,boost 
::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>>>
1>        ]