| 87 | static constexpr bool op_enable_if_hook = true; |
| 88 | template <typename Class, typename... Extra> |
| 89 | void execute(Class &cl, const Extra &...extra) const { |
| 90 | using Base = typename Class::type; |
| 91 | using L_type = conditional_t<std::is_same<L, self_t>::value, Base, L>; |
| 92 | using R_type = conditional_t<std::is_same<R, self_t>::value, Base, R>; |
| 93 | using op = op_impl<id, ot, Base, L_type, R_type>; |
| 94 | cl.def(op::name(), &op::execute, is_operator(), extra...); |
| 95 | } |
| 96 | template <typename Class, typename... Extra> |
| 97 | void execute_cast(Class &cl, const Extra &...extra) const { |
| 98 | using Base = typename Class::type; |
no test coverage detected