1) Document GFrame/MediaFrame (and also other G-API types) - Added doxygen comments for GMat, GScalar, GArray<T>, GOpaque classes; - Documented GFrame and its host-side counterpart MediaFrame; - Added some more notes to the data type classes. 2) Give @brief descriptions to most of the cv::gapi::* namespaces 3) Make some symbols private - These structures are mainly internal and shouldn't be used directly
52 lines
1.4 KiB
C++
52 lines
1.4 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) 2020 Intel Corporation
|
|
|
|
#ifndef OPENCV_GAPI_S11N_BASE_HPP
|
|
#define OPENCV_GAPI_S11N_BASE_HPP
|
|
|
|
#include <opencv2/gapi/own/assert.hpp>
|
|
#include <opencv2/gapi/own/exports.hpp>
|
|
|
|
namespace cv {
|
|
namespace gapi {
|
|
|
|
/**
|
|
* @brief This namespace contains G-API serialization and
|
|
* deserialization functions and data structures.
|
|
*/
|
|
namespace s11n {
|
|
struct IOStream;
|
|
struct IIStream;
|
|
|
|
namespace detail {
|
|
|
|
struct NotImplemented {
|
|
};
|
|
|
|
// The default S11N for custom types is NotImplemented
|
|
// Don't! sublass from NotImplemented if you actually implement S11N.
|
|
template<typename T>
|
|
struct S11N: public NotImplemented {
|
|
static void serialize(IOStream &, const T &) {
|
|
GAPI_Assert(false && "No serialization routine is provided!");
|
|
}
|
|
static T deserialize(IIStream &) {
|
|
GAPI_Assert(false && "No deserialization routine is provided!");
|
|
}
|
|
};
|
|
|
|
template<typename T> struct has_S11N_spec {
|
|
static constexpr bool value = !std::is_base_of<NotImplemented,
|
|
S11N<typename std::decay<T>::type>>::value;
|
|
};
|
|
|
|
} // namespace detail
|
|
} // namespace s11n
|
|
} // namespace gapi
|
|
} // namespace cv
|
|
|
|
#endif // OPENCV_GAPI_S11N_BASE_HPP
|