class cv::MatOp

#include <mat.hpp>

class MatOp
{
public:
    // methods

    virtual
    void
    abs(
        const MatExpr& expr,
        MatExpr& res
        ) const;

    virtual
    void
    add(
        const MatExpr& expr1,
        const MatExpr& expr2,
        MatExpr& res
        ) const;

    virtual
    void
    add(
        const MatExpr& expr1,
        const Scalar& s,
        MatExpr& res
        ) const;

    virtual
    void
    assign(
        const MatExpr& expr,
        Mat& m,
        int type = -1
        ) const = 0;

    virtual
    void
    augAssignAdd(
        const MatExpr& expr,
        Mat& m
        ) const;

    virtual
    void
    augAssignAnd(
        const MatExpr& expr,
        Mat& m
        ) const;

    virtual
    void
    augAssignDivide(
        const MatExpr& expr,
        Mat& m
        ) const;

    virtual
    void
    augAssignMultiply(
        const MatExpr& expr,
        Mat& m
        ) const;

    virtual
    void
    augAssignOr(
        const MatExpr& expr,
        Mat& m
        ) const;

    virtual
    void
    augAssignSubtract(
        const MatExpr& expr,
        Mat& m
        ) const;

    virtual
    void
    augAssignXor(
        const MatExpr& expr,
        Mat& m
        ) const;

    virtual
    void
    diag(
        const MatExpr& expr,
        int d,
        MatExpr& res
        ) const;

    virtual
    void
    divide(
        const MatExpr& expr1,
        const MatExpr& expr2,
        MatExpr& res,
        double scale = 1
        ) const;

    virtual
    void
    divide(
        double s,
        const MatExpr& expr,
        MatExpr& res
        ) const;

    virtual
    bool
    elementWise(const MatExpr& expr) const;

    virtual
    void
    invert(
        const MatExpr& expr,
        int method,
        MatExpr& res
        ) const;

    virtual
    void
    matmul(
        const MatExpr& expr1,
        const MatExpr& expr2,
        MatExpr& res
        ) const;

    virtual
    void
    multiply(
        const MatExpr& expr1,
        const MatExpr& expr2,
        MatExpr& res,
        double scale = 1
        ) const;

    virtual
    void
    multiply(
        const MatExpr& expr1,
        double s,
        MatExpr& res
        ) const;

    virtual
    void
    roi(
        const MatExpr& expr,
        const Range& rowRange,
        const Range& colRange,
        MatExpr& res
        ) const;

    virtual
    Size
    size(const MatExpr& expr) const;

    virtual
    void
    subtract(
        const MatExpr& expr1,
        const MatExpr& expr2,
        MatExpr& res
        ) const;

    virtual
    void
    subtract(
        const Scalar& s,
        const MatExpr& expr,
        MatExpr& res
        ) const;

    virtual
    void
    transpose(
        const MatExpr& expr,
        MatExpr& res
        ) const;

    virtual
    int
    type(const MatExpr& expr) const;
};