43#ifndef OPENCV_CUDA_TYPE_TRAITS_HPP
44#define OPENCV_CUDA_TYPE_TRAITS_HPP
46#include "detail/type_traits_detail.hpp"
54namespace cv {
namespace cuda {
namespace device
56 template <
typename T>
struct IsSimpleParameter
58 enum {
value = type_traits_detail::IsIntegral<T>::value || type_traits_detail::IsFloat<T>::value ||
59 type_traits_detail::PointerTraits<typename type_traits_detail::ReferenceTraits<T>::type>
::value};
62 template <
typename T>
struct TypeTraits
64 typedef typename type_traits_detail::UnConst<T>::type NonConstType;
65 typedef typename type_traits_detail::UnVolatile<T>::type NonVolatileType;
66 typedef typename type_traits_detail::UnVolatile<typename type_traits_detail::UnConst<T>::type>
::type UnqualifiedType;
67 typedef typename type_traits_detail::PointerTraits<UnqualifiedType>::type PointeeType;
68 typedef typename type_traits_detail::ReferenceTraits<T>::type ReferredType;
70 enum { isConst = type_traits_detail::UnConst<T>::value };
71 enum { isVolatile = type_traits_detail::UnVolatile<T>::value };
73 enum { isReference = type_traits_detail::ReferenceTraits<UnqualifiedType>::value };
74 enum { isPointer = type_traits_detail::PointerTraits<typename type_traits_detail::ReferenceTraits<UnqualifiedType>::type>
::value };
76 enum { isUnsignedInt = type_traits_detail::IsUnsignedIntegral<UnqualifiedType>::value };
77 enum { isSignedInt = type_traits_detail::IsSignedIntergral<UnqualifiedType>::value };
78 enum { isIntegral = type_traits_detail::IsIntegral<UnqualifiedType>::value };
79 enum { isFloat = type_traits_detail::IsFloat<UnqualifiedType>::value };
80 enum { isArith = isIntegral || isFloat };
81 enum { isVec = type_traits_detail::IsVec<UnqualifiedType>::value };
83 typedef typename type_traits_detail::Select<IsSimpleParameter<UnqualifiedType>::value,
84 T,
typename type_traits_detail::AddParameterType<T>::type>
::type ParameterType;
InputArrayOfArrays InputArrayOfArrays InputOutputArray InputOutputArray InputOutputArray InputOutputArray Size InputOutputArray InputOutputArray T
Definition calib3d.hpp:1867
int CvScalar value
Definition core_c.h:720
int int type
Definition core_c.h:221
"black box" representation of the file storage associated with a file on disk.
Definition calib3d.hpp:441