📄 group.h
字号:
#ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6> typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type>( this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6)); } #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7> typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type operator() (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type>( this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7)); } #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7> typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type>( this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7)); } #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD lambda_group1(typename type_trait<T_functor>::take _A_func, typename type_trait<T_type1>::take _A_1) : value1_(_A_1), func_(_A_func) {} value1_type value1_; mutable functor_type func_;};template <class T_functor, class T_type1>typename lambda_group1<T_functor, T_type1>::result_typelambda_group1<T_functor, T_type1>::operator ()() const { return func_(value1_()); }template <class T_action, class T_functor, class T_type1>void visit_each(const T_action& _A_action, const lambda_group1<T_functor, T_type1>& _A_target){ visit_each(_A_action, _A_target.value1_); visit_each(_A_action, _A_target.func_);}template <class T_functor, class T_type1,class T_type2>struct lambda_group2 : public lambda_base{ typedef typename functor_trait<T_functor>::result_type result_type; typedef typename lambda<T_type1>::lambda_type value1_type; typedef typename lambda<T_type2>::lambda_type value2_type; typedef typename adaptor_trait<T_functor>::adaptor_type functor_type; template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void> struct deduce_result_type { typedef typename functor_type::template deduce_result_type< typename value1_type::template deduce_result_type< typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::type, typename value2_type::template deduce_result_type< typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::type >::type type; }; result_type operator ()() const; template <class T_arg1> typename deduce_result_type<T_arg1>::type operator() (T_arg1 _A_1) const { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename value1_type::template deduce_result_type<T_arg1>::type, typename value2_type::template deduce_result_type<T_arg1>::type>( this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename type_trait<T_arg1>::pass>(_A_1), this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename type_trait<T_arg1>::pass>(_A_1)); } #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD template <class T_arg1> typename deduce_result_type<T_arg1>::type sun_forte_workaround (T_arg1 _A_1) const { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename value1_type::template deduce_result_type<T_arg1>::type, typename value2_type::template deduce_result_type<T_arg1>::type>( this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename type_trait<T_arg1>::pass>(_A_1), this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename type_trait<T_arg1>::pass>(_A_1)); } #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD template <class T_arg1,class T_arg2> typename deduce_result_type<T_arg1,T_arg2>::type operator() (T_arg1 _A_1,T_arg2 _A_2) const { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename value1_type::template deduce_result_type<T_arg1,T_arg2>::type, typename value2_type::template deduce_result_type<T_arg1,T_arg2>::type>( this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>(_A_1,_A_2), this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>(_A_1,_A_2)); } #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD template <class T_arg1,class T_arg2> typename deduce_result_type<T_arg1,T_arg2>::type sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2) const { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename value1_type::template deduce_result_type<T_arg1,T_arg2>::type, typename value2_type::template deduce_result_type<T_arg1,T_arg2>::type>( this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>(_A_1,_A_2), this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>(_A_1,_A_2)); } #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD template <class T_arg1,class T_arg2,class T_arg3> typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type operator() (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3>::type, typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3>::type>( this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>(_A_1,_A_2,_A_3), this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>(_A_1,_A_2,_A_3)); } #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD template <class T_arg1,class T_arg2,class T_arg3> typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3>::type, typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3>::type>( this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>(_A_1,_A_2,_A_3), this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>(_A_1,_A_2,_A_3)); } #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD template <class T_arg1,class T_arg2,class T_arg3,class T_arg4> typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type operator() (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type, typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type>( this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>(_A_1,_A_2,_A_3,_A_4), this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>(_A_1,_A_2,_A_3,_A_4)); } #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD template <class T_arg1,class T_arg2,class T_arg3,class T_arg4> typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type, typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type>( this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>(_A_1,_A_2,_A_3,_A_4), this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>(_A_1,_A_2,_A_3,_A_4)); } #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5> typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type operator() (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type, typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type>( this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5), this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5)); } #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5> typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES< typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type, typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type>(
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -