mirror of
https://github.com/opencv/opencv.git
synced 2025-01-06 02:08:12 +08:00
29e88e50ff
* G-API Initial code upload * Update G-API code base to Sep-24-2018 * The majority of OpenCV buildbot problems was addressed * Update G-API code base to 24-Sep-18 EOD * G-API code base update 25-Sep-2018 * Linux warnings should be resolved * Documentation build should become green * Number of Windows warnings should be reduced * Update G-API code base to 25-Sep-18 EOD * ARMv7 build issue should be resolved * ADE is bumped to latest version and should fix Clang builds for macOS/iOS * Remaining Windows warnings should be resolved * New Linux32 / ARMv7 warnings should be resolved * G-API code base update 25-Sep-2018-EOD2 * Final Windows warnings should be resolved now * G-API code base update 26-Sep-2018 * Fixed issues with precompiled headers in module and its tests
59 lines
1.2 KiB
C++
59 lines
1.2 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
|
|
|
|
|
|
#ifndef OPENCV_GAPI_GNODE_HPP
|
|
#define OPENCV_GAPI_GNODE_HPP
|
|
|
|
#include <memory> // std::shared_ptr
|
|
|
|
namespace cv {
|
|
|
|
class GCall;
|
|
|
|
// TODO Move "internal" namespace
|
|
// TODO Expose details?
|
|
|
|
// This class won't be public
|
|
|
|
// data GNode = Call Operation [GNode]
|
|
// | Const <T>
|
|
// | Param <GMat|GParam>
|
|
|
|
class GNode
|
|
{
|
|
public:
|
|
class Priv;
|
|
|
|
// Constructors
|
|
GNode(); // Empty (invalid) constructor
|
|
static GNode Call (const GCall &c); // Call constructor
|
|
static GNode Param(); // Param constructor
|
|
static GNode Const();
|
|
|
|
// Internal use only
|
|
Priv& priv();
|
|
const Priv& priv() const;
|
|
enum class NodeShape: unsigned int;
|
|
|
|
const NodeShape& shape() const;
|
|
const GCall& call() const;
|
|
|
|
protected:
|
|
struct ParamTag {};
|
|
struct ConstTag {};
|
|
|
|
explicit GNode(const GCall &c);
|
|
explicit GNode(ParamTag unused);
|
|
explicit GNode(ConstTag unused);
|
|
|
|
std::shared_ptr<Priv> m_priv;
|
|
};
|
|
|
|
}
|
|
|
|
#endif // OPENCV_GAPI_GNODE_HPP
|