#ifndef PYTHONIC_OPERATOR_ITRUEDIV_HPP #define PYTHONIC_OPERATOR_ITRUEDIV_HPP #include "pythonic/include/operator_/itruediv.hpp" #include "pythonic/utils/functor.hpp" #include "pythonic/operator_/truediv.hpp" PYTHONIC_NS_BEGIN namespace operator_ { template auto itruediv(A const &a, B &&b) -> decltype(truediv(a, std::forward(b))) { return truediv(a, std::forward(b)); } template auto itruediv(A &a, B &&b) -> typename std::enable_if< std::is_same(b)))>::value, A &>::type { return a = truediv(a, std::forward(b)); } template auto itruediv(A &a, B &&b) -> typename std::enable_if< !std::is_same(b)))>::value, decltype(truediv(a, std::forward(b)))>::type { return truediv(a, std::forward(b)); } } PYTHONIC_NS_END #endif