My statement:
T::iterator it = std::find_if(container.begin(), container.end(),
l::bind(&typename T::value_type::GetName, l::_1) != l::constant(0)
&& !l::bind(stricmp, l::bind(&typename T::value_type::GetName,
l::_1), l::var(name)));
GetName() returns a char*.
I get errors about there being no != or ! for const
boost::lambda::lambda_functor<T> I also tried == 0 and == constant(0)
for the second part.
More detailed error follows:
1>c:\documents and settings\nroberts\my documents\visual studio
2005\projects\pipeflo refactor\code\clist_util.h(60) : error C2678:
binary '!=' : no operator found which takes a left-hand operand of
type 'const boost::lambda::lambda_functor<T>' (or there is no
acceptable conversion)
1> with
1> [
1> T=boost::lambda::lambda_functor_base>,boost::tuples::tuple>,boost::lambda::detail::bind_traitsboost::tuples::null_type::type,boost::lambda::detail::bind_traitsboost::tuples::null_type::type,boost::lambda::detail::bind_traitsboost::tuples::null_type::type,boost::lambda::detail::bind_traitsboost::tuples::null_type::type,boost::lambda::detail::bind_traitsboost::tuples::null_type::type,boost::lambda::detail::bind_traitsboost::tuples::null_type::type,boost::lambda::detail::bind_traitsboost::tuples::null_type::type,boost::lambda::detail::bind_traitsboost::tuples::null_type::type>>
1> ]
1> c:\program files\microsoft visual studio
8\vc\platformsdk\include\guiddef.h(197): could be 'int operator
!=(const GUID &,const GUID &)'
1> while trying to match the argument list '(const
boost::lambda::lambda_functor<T>, boost::lambda::lambda_functor<T>)'
1> with
1> [
1> T=boost::lambda::lambda_functor_base>,boost::tuples::tuple>,boost::lambda::detail::bind_traitsboost::tuples::null_type::type,boost::lambda::detail::bind_traitsboost::tuples::null_type::type,boost::lambda::detail::bind_traitsboost::tuples::null_type::type,boost::lambda::detail::bind_traitsboost::tuples::null_type::type,boost::lambda::detail::bind_traitsboost::tuples::null_type::type,boost::lambda::detail::bind_traitsboost::tuples::null_type::type,boost::lambda::detail::bind_traitsboost::tuples::null_type::type,boost::lambda::detail::bind_traitsboost::tuples::null_type::type>>
1> ]
1> and
1> [
1> T=boost::lambda::identity<const int>
1> ]
1> c:\documents and settings\nroberts\my documents\visual
studio 2005\projects\pipeflo refactor\code\clist.h(358) : see
reference to function template instantiation 'bool
NameInUse>(T &,const char *,DLinkObject
*,HWND)' being compiled
1> with
1> [
1> VALUE_TYPE=DLinkObject,
1> T=CList_tmpl<DLinkObject>
1> ]
1> c:\documents and settings\nroberts\my documents\visual
studio 2005\projects\pipeflo refactor\code\clist.h(357) : while
compiling class template member function 'bool
CList_tmpl::NameInUse(char *,VALUE_TYPE *,HWND)'
1> with
1> [
1> VALUE_TYPE=DLinkObject
1> ]
1> c:\documents and settings\nroberts\my documents\visual
studio 2005\projects\pipeflo refactor\code\lineupchangeable.h(13) :
see reference to class template instantiation 'CList_tmpl'
being compiled
1> with
1> [
1> VALUE_TYPE=DLinkObject
1> ]