operator.h
来自「一个对象回调接口库」· C头文件 代码 · 共 1,277 行 · 第 1/5 页
H
1,277 行
template <>struct lambda_action<logical<or_> >{ template <class T_arg1, class T_arg2> static typename lambda_action_deduce_result_type<logical<or_>, T_arg1, T_arg2>::type do_action(T_arg1 _A_1, T_arg2 _A_2) { return _A_1 || _A_2; }};template <>struct lambda_action<relational<less> >{ template <class T_arg1, class T_arg2> static typename lambda_action_deduce_result_type<relational<less>, T_arg1, T_arg2>::type do_action(T_arg1 _A_1, T_arg2 _A_2) { return _A_1 < _A_2; }};template <>struct lambda_action<relational<greater> >{ template <class T_arg1, class T_arg2> static typename lambda_action_deduce_result_type<relational<greater>, T_arg1, T_arg2>::type do_action(T_arg1 _A_1, T_arg2 _A_2) { return _A_1 > _A_2; }};template <>struct lambda_action<relational<less_equal> >{ template <class T_arg1, class T_arg2> static typename lambda_action_deduce_result_type<relational<less_equal>, T_arg1, T_arg2>::type do_action(T_arg1 _A_1, T_arg2 _A_2) { return _A_1 <= _A_2; }};template <>struct lambda_action<relational<greater_equal> >{ template <class T_arg1, class T_arg2> static typename lambda_action_deduce_result_type<relational<greater_equal>, T_arg1, T_arg2>::type do_action(T_arg1 _A_1, T_arg2 _A_2) { return _A_1 >= _A_2; }};template <>struct lambda_action<relational<equal_to> >{ template <class T_arg1, class T_arg2> static typename lambda_action_deduce_result_type<relational<equal_to>, T_arg1, T_arg2>::type do_action(T_arg1 _A_1, T_arg2 _A_2) { return _A_1 == _A_2; }};template <>struct lambda_action<relational<not_equal_to> >{ template <class T_arg1, class T_arg2> static typename lambda_action_deduce_result_type<relational<not_equal_to>, T_arg1, T_arg2>::type do_action(T_arg1 _A_1, T_arg2 _A_2) { return _A_1 != _A_2; }};template <>struct lambda_action<arithmetic_assign<plus> >{ template <class T_arg1, class T_arg2> static typename lambda_action_deduce_result_type<arithmetic_assign<plus>, T_arg1, T_arg2>::type do_action(T_arg1 _A_1, T_arg2 _A_2) { return _A_1 += _A_2; }};template <>struct lambda_action<arithmetic_assign<minus> >{ template <class T_arg1, class T_arg2> static typename lambda_action_deduce_result_type<arithmetic_assign<minus>, T_arg1, T_arg2>::type do_action(T_arg1 _A_1, T_arg2 _A_2) { return _A_1 -= _A_2; }};template <>struct lambda_action<arithmetic_assign<multiplies> >{ template <class T_arg1, class T_arg2> static typename lambda_action_deduce_result_type<arithmetic_assign<multiplies>, T_arg1, T_arg2>::type do_action(T_arg1 _A_1, T_arg2 _A_2) { return _A_1 *= _A_2; }};template <>struct lambda_action<arithmetic_assign<divides> >{ template <class T_arg1, class T_arg2> static typename lambda_action_deduce_result_type<arithmetic_assign<divides>, T_arg1, T_arg2>::type do_action(T_arg1 _A_1, T_arg2 _A_2) { return _A_1 /= _A_2; }};template <>struct lambda_action<arithmetic_assign<modulus> >{ template <class T_arg1, class T_arg2> static typename lambda_action_deduce_result_type<arithmetic_assign<modulus>, T_arg1, T_arg2>::type do_action(T_arg1 _A_1, T_arg2 _A_2) { return _A_1 %= _A_2; }};template <>struct lambda_action<bitwise_assign<leftshift> >{ template <class T_arg1, class T_arg2> static typename lambda_action_deduce_result_type<bitwise_assign<leftshift>, T_arg1, T_arg2>::type do_action(T_arg1 _A_1, T_arg2 _A_2) { return _A_1 <<= _A_2; }};template <>struct lambda_action<bitwise_assign<rightshift> >{ template <class T_arg1, class T_arg2> static typename lambda_action_deduce_result_type<bitwise_assign<rightshift>, T_arg1, T_arg2>::type do_action(T_arg1 _A_1, T_arg2 _A_2) { return _A_1 >>= _A_2; }};template <>struct lambda_action<bitwise_assign<and_> >{ template <class T_arg1, class T_arg2> static typename lambda_action_deduce_result_type<bitwise_assign<and_>, T_arg1, T_arg2>::type do_action(T_arg1 _A_1, T_arg2 _A_2) { return _A_1 &= _A_2; }};template <>struct lambda_action<bitwise_assign<or_> >{ template <class T_arg1, class T_arg2> static typename lambda_action_deduce_result_type<bitwise_assign<or_>, T_arg1, T_arg2>::type do_action(T_arg1 _A_1, T_arg2 _A_2) { return _A_1 |= _A_2; }};template <>struct lambda_action<bitwise_assign<xor_> >{ template <class T_arg1, class T_arg2> static typename lambda_action_deduce_result_type<bitwise_assign<xor_>, T_arg1, T_arg2>::type do_action(T_arg1 _A_1, T_arg2 _A_2) { return _A_1 ^= _A_2; }};template <>struct lambda_action<other<subscript> >{ template <class T_arg1, class T_arg2> static typename lambda_action_deduce_result_type<other<subscript>, T_arg1, T_arg2>::type do_action(T_arg1 _A_1, T_arg2 _A_2) { return _A_1[_A_2]; }};template <>struct lambda_action<other<assign> >{ template <class T_arg1, class T_arg2> static typename lambda_action_deduce_result_type<other<assign>, T_arg1, T_arg2>::type do_action(T_arg1 _A_1, T_arg2 _A_2) { return _A_1 = _A_2; }};template <>struct lambda_action_unary<unary_arithmetic<pre_increment> >{ template <class T_arg> static typename lambda_action_unary_deduce_result_type<unary_arithmetic<pre_increment>, T_arg>::type do_action(T_arg _Aa) { return ++_Aa; }};template <>struct lambda_action_unary<unary_arithmetic<pre_decrement> >{ template <class T_arg> static typename lambda_action_unary_deduce_result_type<unary_arithmetic<pre_decrement>, T_arg>::type do_action(T_arg _Aa) { return --_Aa; }};template <>struct lambda_action_unary<unary_arithmetic<negate> >{ template <class T_arg> static typename lambda_action_unary_deduce_result_type<unary_arithmetic<negate>, T_arg>::type do_action(T_arg _Aa) { return -_Aa; }};template <>struct lambda_action_unary<unary_bitwise<not_> >{ template <class T_arg> static typename lambda_action_unary_deduce_result_type<unary_bitwise<not_>, T_arg>::type do_action(T_arg _Aa) { return ~_Aa; }};template <>struct lambda_action_unary<unary_logical<not_> >{ template <class T_arg> static typename lambda_action_unary_deduce_result_type<unary_logical<not_>, T_arg>::type do_action(T_arg _Aa) { return !_Aa; }};template <>struct lambda_action_unary<unary_other<address> >{ template <class T_arg> static typename lambda_action_unary_deduce_result_type<unary_other<address>, T_arg>::type do_action(T_arg _Aa) { return &_Aa; }};template <>struct lambda_action_unary<unary_other<dereference> >{ template <class T_arg> static typename lambda_action_unary_deduce_result_type<unary_other<dereference>, T_arg>::type do_action(T_arg _Aa) { return *_Aa; }};template <class T_type>struct lambda_action_convert<cast_<reinterpret_>, T_type>{ template <class T_arg> static typename lambda_action_convert_deduce_result_type<cast_<reinterpret_>, T_type, T_arg>::type do_action(T_arg _Aa) { return reinterpret_cast<T_type>(_Aa); }};template <class T_type>struct lambda_action_convert<cast_<static_>, T_type>{ template <class T_arg> static typename lambda_action_convert_deduce_result_type<cast_<static_>, T_type, T_arg>::type do_action(T_arg _Aa) { return static_cast<T_type>(_Aa); }};template <class T_type>struct lambda_action_convert<cast_<dynamic_>, T_type>{
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?