opencv/modules/gapi/src/api/gorigin.cpp
Ruslan Garnov 1f517b8a02 Merge pull request #13943 from rgarnov:export_headers_for_backend_development
G-API external backend development (#13943)

* Moved HostCtor and ConstVal from gapi_priv.hpp to objref.hpp

* Added gmodel_priv.hpp, added export of symbols from gmodel.hpp

* Added export of binInArg and bindOutArg

* Renamed gapi_priv.*pp -> gorigin.*pp

* Added a fixme on collecting exports inside one class
2019-04-17 21:54:47 +03:00

45 lines
1.3 KiB
C++

// This file is part of OpenCV project.
// It is subject to the license terms in the LICENSE file found in the top-level directory
// of this distribution and at http://opencv.org/license.html.
//
// Copyright (C) 2018 Intel Corporation
#include "precomp.hpp"
#include <ade/util/assert.hpp>
#include "api/gorigin.hpp"
#include "api/gnode_priv.hpp"
cv::GOrigin::GOrigin(GShape s,
const cv::GNode& n,
std::size_t p,
const cv::gimpl::HostCtor c)
: shape(s), node(n), port(p), ctor(c)
{
}
cv::GOrigin::GOrigin(GShape s, cv::gimpl::ConstVal v)
: shape(s), node(cv::GNode::Const()), value(v), port(INVALID_PORT)
{
}
bool cv::detail::GOriginCmp::operator() (const cv::GOrigin &lhs,
const cv::GOrigin &rhs) const
{
const GNode::Priv* lhs_p = &lhs.node.priv();
const GNode::Priv* rhs_p = &rhs.node.priv();
if (lhs_p == rhs_p)
{
if (lhs.port == rhs.port)
{
// A data Origin is uniquely identified by {node/port} pair.
// The situation when there're two Origins with same {node/port}s
// but with different shapes (data formats) is illegal!
GAPI_Assert(lhs.shape == rhs.shape);
}
return lhs.port < rhs.port;
}
else return lhs_p < rhs_p;
}