1 // This file is part of OpenCV project.
2 // It is subject to the license terms in the LICENSE file found in the top-level directory
3 // of this distribution and at http://opencv.org/license.html.
5 // Copyright (C) 2018-2019 Intel Corporation
8 #ifndef OPENCV_GAPI_GMATREF_HPP
9 #define OPENCV_GAPI_GMATREF_HPP
11 #include "opencv2/gapi/util/variant.hpp"
12 #include "opencv2/gapi/garg.hpp"
14 #include "api/gapi_priv.hpp" // GShape, HostCtor
23 int id; // id is unique but local to shape
24 GShape shape; // pair <id,shape> IS the unique ID
25 HostCtor ctor; // FIXME: is it really used here? Or in <Data>?
27 bool operator==(const RcDesc &rhs) const
29 // FIXME: ctor is not checked (should be?)
30 return id == rhs.id && shape == rhs.shape;
33 bool operator< (const RcDesc &rhs) const
35 return (id == rhs.id) ? shape < rhs.shape : id < rhs.id;
42 template<> struct GTypeTraits<cv::gimpl::RcDesc>
44 static constexpr const ArgKind kind = ArgKind::GOBJREF;
50 #endif // OPENCV_GAPI_GMATREF_HPP