Path: blob/master/modules/gapi/src/api/gnode_priv.hpp
16338 views
// This file is part of OpenCV project.1// It is subject to the license terms in the LICENSE file found in the top-level directory2// of this distribution and at http://opencv.org/license.html.3//4// Copyright (C) 2018 Intel Corporation567#ifndef OPENCV_GNODE_PRIV_HPP8#define OPENCV_GNODE_PRIV_HPP910#include <string>11#include <vector>12#include <unordered_map>1314#include "opencv2/gapi/util/variant.hpp"1516#include "opencv2/gapi/gcall.hpp"17#include "opencv2/gapi/garg.hpp"18#include "opencv2/gapi/gkernel.hpp"1920#include "api/gnode.hpp"2122namespace cv {2324enum class GNode::NodeShape: unsigned int25{26EMPTY,27CALL,28PARAM,29CONST_BOUNDED30};3132class GNode::Priv33{34public:35// TODO: replace with optional?36typedef util::variant<util::monostate, GCall> NodeSpec;37const NodeShape m_shape;38const NodeSpec m_spec;39std::string m_island; // user-modifiable attribute40struct ParamTag {};41struct ConstTag {};4243Priv(); // Empty (invalid) constructor44explicit Priv(GCall c); // Call conctrustor45explicit Priv(ParamTag u); // Param constructor46explicit Priv(ConstTag u); // Param constructor47};4849}5051#endif // OPENCV_GNODE_PRIV_HPP525354