| 95 | } |
| 96 | template <typename Class, typename... Extra> |
| 97 | void execute_cast(Class &cl, const Extra &...extra) const { |
| 98 | using Base = typename Class::type; |
| 99 | using L_type = conditional_t<std::is_same<L, self_t>::value, Base, L>; |
| 100 | using R_type = conditional_t<std::is_same<R, self_t>::value, Base, R>; |
| 101 | using op = op_impl<id, ot, Base, L_type, R_type>; |
| 102 | cl.def(op::name(), &op::execute_cast, is_operator(), extra...); |
| 103 | } |
| 104 | }; |
| 105 | |
| 106 | #define PYBIND11_BINARY_OPERATOR(id, rid, op, expr) \ |
no test coverage detected