5 # ifndef VCCC_TYPE_SUPPORT_OPENCV_CV_SIZE_HPP
6 # define VCCC_TYPE_SUPPORT_OPENCV_CV_SIZE_HPP
9 # include <type_traits>
12 # include "opencv2/opencv.hpp"
23 struct get_cv_size<0> {
24 template<
typename T>
static constexpr T&
get( cv::Size_<T>& s ) noexcept {
return s.width; }
25 template<
typename T>
static constexpr
const T&
get(
const cv::Size_<T>& s ) noexcept {
return s.width; }
26 template<
typename T>
static constexpr T&&
get( cv::Size_<T>&& s) noexcept {
return std::move(s.width); }
27 template<
typename T>
static constexpr
const T&&
get(
const cv::Size_<T>&& s) noexcept {
return std::move(s.width); }
31 struct get_cv_size<1> {
32 template<
typename T>
static constexpr T&
get( cv::Size_<T>& s ) noexcept {
return s.height; }
33 template<
typename T>
static constexpr
const T&
get(
const cv::Size_<T>& s ) noexcept {
return s.height; }
34 template<
typename T>
static constexpr T&&
get( cv::Size_<T>&& s) noexcept {
return std::move(s.height); }
35 template<
typename T>
static constexpr
const T&&
get(
const cv::Size_<T>&& s) noexcept {
return std::move(s.height); }
53 struct tuple_size<cv::Size_<T>> : std::integral_constant<size_t, 2> {};
63 template<
typename T>
struct tuple_element<0, cv::Size_<T>> {
using type = T; };
64 template<
typename T>
struct tuple_element<1, cv::Size_<T>> {
using type = T; };
75 template<std::
size_t i,
typename T>
76 constexpr
inline tuple_element_t<i, cv::Size_<T>>&
81 template<std::
size_t i,
typename T>
82 constexpr
inline const tuple_element_t<i, cv::Size_<T>>&
87 template<std::
size_t i,
typename T>
88 constexpr
inline tuple_element_t<i, cv::Size_<T>>&&
93 template<std::
size_t i,
typename T>
94 constexpr
inline const tuple_element_t<i, cv::Size_<T>>&&
constexpr VCCC_INLINE_OR_STATIC detail::size_niebloid size
returns the size of a container or array
Definition: size.hpp:145
constexpr const tuple_element_t< i, cv::Size_< T > > && get(const cv::Size_< T > &&size) noexcept
Definition: cv_size.hpp:95
constexpr variant_alternative_t< I, variant< Types... > > & get(variant< Types... > &v)
Definition: variant.hpp:770
Definition: matrix.hpp:495
constexpr std::enable_if_t<(I< m *n), typename vccc::Matrix< T, m, n >::value_type & > get(vccc::Matrix< T, m, n > &matrix)
Definition: matrix.hpp:499
Definition: directory.h:12
T type
Definition: cv_size.hpp:63
T type
Definition: cv_size.hpp:64