Repository: opencv/opencv
File: modules/core/include/opencv2/core/cuda.hpp (C++)

Code before:
    CV_WRAP GpuMat& setTo(Scalar s, Stream& stream);

    //! sets some of the GpuMat elements to s, according to the mask (Blocking call)
    CV_WRAP GpuMat& setTo(Scalar s, InputArray mask);

    //! sets some of the GpuMat elements to s, according to the mask (Non-Blocking call)
    CV_WRAP GpuMat& setTo(Scalar s, InputArray mask, Stream& stream);

    //! converts GpuMat to another datatype (Blocking call)
    void convertTo(OutputArray dst, int rtype) const;

    //! converts GpuMat to another datatype (Non-Blocking call)
    void convertTo(OutputArray dst, int rtype, Stream& stream) const;
    //! bindings overload which converts GpuMat to another datatype (Non-Blocking call)
    CV_WRAP void convertTo(CV_OUT GpuMat& dst, int rtype, Stream& stream) const {
        convertTo(static_cast<OutputArray>(dst), rtype, stream);
    }

    //! converts GpuMat to another datatype with scaling (Blocking call)
    void convertTo(OutputArray dst, int rtype, double alpha, double beta = 0.0) const;
    //! bindings overload which converts GpuMat to another datatype with scaling(Blocking call)
    CV_WRAP void convertTo(CV_OUT GpuMat& dst, int rtype, double alpha, double beta = 0.0) const {
        convertTo(static_cast<OutputArray>(dst), rtype, alpha, beta);
    }

    //! converts GpuMat to another datatype with scaling (Non-Blocking call)
    void convertTo(OutputArray dst, int rtype, double alpha, Stream& stream) const;

    //! converts GpuMat to another datatype with scaling (Non-Blocking call)
    void convertTo(OutputArray dst, int rtype, double alpha, double beta, Stream& stream) const;
    //! bindings overload which converts GpuMat to another datatype with scaling (Non-Blocking call)
    CV_WRAP void convertTo(CV_OUT GpuMat& dst, int rtype, double alpha, double beta, Stream& stream) const {
        convertTo(static_cast<OutputArray>(dst), rtype, alpha, beta, stream);
    }

    CV_WRAP void assignTo(GpuMat& m, int type = -1) const;

    //! returns pointer to y-th row
    uchar* ptr(int y = 0);
    const uchar* ptr(int y = 0) const;

    //! template version of the above method
    template<typename _Tp> _Tp* ptr(int y = 0);
    template<typename _Tp> const _Tp* ptr(int y = 0) const;

    template <typename _Tp> operator PtrStepSz<_Tp>() const;
    template <typename _Tp> operator PtrStep<_Tp>() const;

    //! returns a new GpuMat header for the specified row
    CV_WRAP GpuMat row(int y) const;


Review comment (performance):
Hm.. It changes Python and Java bindings logic. It requires scale now. Looking on more efficient solution.

Code after:
    CV_WRAP GpuMat& setTo(Scalar s, Stream& stream);

    //! sets some of the GpuMat elements to s, according to the mask (Blocking call)
    CV_WRAP GpuMat& setTo(Scalar s, InputArray mask);

    //! sets some of the GpuMat elements to s, according to the mask (Non-Blocking call)
    CV_WRAP GpuMat& setTo(Scalar s, InputArray mask, Stream& stream);

    //! converts GpuMat to another datatype (Blocking call)
    void convertTo(OutputArray dst, int rtype) const;
    //! bindings overload which converts GpuMat to another datatype (Blocking call)
    CV_WRAP void convertTo(CV_OUT GpuMat& dst, int rtype) const {
        convertTo(static_cast<OutputArray>(dst), rtype);
    }

    //! converts GpuMat to another datatype (Non-Blocking call)
    void convertTo(OutputArray dst, int rtype, Stream& stream) const;
    //! bindings overload which converts GpuMat to another datatype (Non-Blocking call)
    CV_WRAP void convertTo(CV_OUT GpuMat& dst, int rtype, Stream& stream) const {
        convertTo(static_cast<OutputArray>(dst), rtype, stream);
    }

    //! converts GpuMat to another datatype with scaling (Blocking call)
    void convertTo(OutputArray dst, int rtype, double alpha, double beta = 0.0) const;

    //! bindings overload which converts GpuMat to another datatype with scaling(Blocking call)
#ifdef OPENCV_BINDINGS_PARSER
    CV_WRAP void convertTo(CV_OUT GpuMat& dst, int rtype, double alpha=1.0, double beta = 0.0) const {
        convertTo(static_cast<OutputArray>(dst), rtype, alpha, beta);
    }
#endif

    //! converts GpuMat to another datatype with scaling (Non-Blocking call)
    void convertTo(OutputArray dst, int rtype, double alpha, Stream& stream) const;

    //! converts GpuMat to another datatype with scaling (Non-Blocking call)
    void convertTo(OutputArray dst, int rtype, double alpha, double beta, Stream& stream) const;
    //! bindings overload which converts GpuMat to another datatype with scaling (Non-Blocking call)
    CV_WRAP void convertTo(CV_OUT GpuMat& dst, int rtype, double alpha, double beta, Stream& stream) const {
        convertTo(static_cast<OutputArray>(dst), rtype, alpha, beta, stream);
    }

    CV_WRAP void assignTo(GpuMat& m, int type = -1) const;

    //! returns pointer to y-th row
    uchar* ptr(int y = 0);
    const uchar* ptr(int y = 0) const;

    //! template version of the above method
    template<typename _Tp> _Tp* ptr(int y = 0);
    template<typename _Tp> const _Tp* ptr(int y = 0) const;