43
#ifndef OPENCV_CUDA_TYPE_TRAITS_HPP
 
44
#define OPENCV_CUDA_TYPE_TRAITS_HPP
 
46
#include "detail/type_traits_detail.hpp"
 
54
namespace
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;
 
"black box" representation of the file storage associated with a file on disk.
Definition:
aruco.hpp:75