12 #ifndef ZYPP_BASE_FUNCTIONAL_H
13 #define ZYPP_BASE_FUNCTIONAL_H
15 #include <boost/functional.hpp>
30 using boost::mem_fun_ref;
78 namespace functor_detail
80 template <
class _Functor,
class res_type>
96 template <
class _Functor,
class res_type,
class arg1_type>
97 struct FunctorRef1 :
public std::unary_function<arg1_type, res_type>
112 template <
class _Functor,
class res_type,
class arg1_type,
class arg2_type>
113 struct FunctorRef2 :
public std::binary_function<arg1_type, arg2_type, res_type>
142 : functor_detail::
FunctorRef2<_Functor, res_type, arg1_type, arg2_type>( f_r )
149 template <
class _Functor,
class res_type,
class arg1_type>
154 : functor_detail::FunctorRef1<_Functor, res_type, arg1_type>( f_r )
161 template <
class _Functor,
class res_type>
166 : functor_detail::FunctorRef0<_Functor, res_type>( f_r )
171 template <
class res_type,
class arg1_type,
class arg2_type,
class _Functor>
172 FunctorRef<_Functor, res_type, arg1_type, arg2_type>
175 template <
class res_type,
class arg1_type,
class _Functor>
176 FunctorRef<_Functor, res_type, arg1_type>
179 template <
class res_type,
class _Functor>
180 FunctorRef<_Functor, res_type>
272 template<
class _Condition>
289 template<
class _Condition>
297 template<
class _ACondition,
class _BCondition>
300 Or( _ACondition conda_r, _BCondition condb_r )
318 template<
class _ACondition,
class _BCondition>
326 template<
class _ACondition,
class _BCondition>
329 Chain( _ACondition conda_r, _BCondition condb_r )
347 template<
class _ACondition,
class _BCondition>
376 { *
_result = val_r;
return false; }
397 { *
_result = val_r;
return true; }
416 template<
class _OutputIterator>
425 { *(
_result++) = val_r;
return true; }
432 template<
class _OutputIterator>
445 #endif // ZYPP_BASE_FUNCTIONAL_H