namespace cv { namespace cudev {
template <typename T>
-__host__ GpuMat_<T>::GpuMat_()
- : GpuMat()
+__host__ GpuMat_<T>::GpuMat_(Allocator* allocator)
+ : GpuMat(allocator)
{
flags = (flags & ~CV_MAT_TYPE_MASK) | DataType<T>::type;
}
template <typename T>
-__host__ GpuMat_<T>::GpuMat_(int arows, int acols)
- : GpuMat(arows, acols, DataType<T>::type)
+__host__ GpuMat_<T>::GpuMat_(int arows, int acols, Allocator* allocator)
+ : GpuMat(arows, acols, DataType<T>::type, allocator)
{
}
template <typename T>
-__host__ GpuMat_<T>::GpuMat_(Size asize)
- : GpuMat(asize.height, asize.width, DataType<T>::type)
+__host__ GpuMat_<T>::GpuMat_(Size asize, Allocator* allocator)
+ : GpuMat(asize.height, asize.width, DataType<T>::type, allocator)
{
}
template <typename T>
-__host__ GpuMat_<T>::GpuMat_(int arows, int acols, Scalar val)
- : GpuMat(arows, acols, DataType<T>::type, val)
+__host__ GpuMat_<T>::GpuMat_(int arows, int acols, Scalar val, Allocator* allocator)
+ : GpuMat(arows, acols, DataType<T>::type, val, allocator)
{
}
template <typename T>
-__host__ GpuMat_<T>::GpuMat_(Size asize, Scalar val)
- : GpuMat(asize.height, asize.width, DataType<T>::type, val)
+__host__ GpuMat_<T>::GpuMat_(Size asize, Scalar val, Allocator* allocator)
+ : GpuMat(asize.height, asize.width, DataType<T>::type, val, allocator)
{
}
}
template <typename T>
-__host__ GpuMat_<T>::GpuMat_(const GpuMat& m)
- : GpuMat()
+__host__ GpuMat_<T>::GpuMat_(const GpuMat& m, Allocator* allocator)
+ : GpuMat(allocator)
{
flags = (flags & ~CV_MAT_TYPE_MASK) | DataType<T>::type;
}
template <typename T>
-__host__ GpuMat_<T>::GpuMat_(InputArray arr)
- : GpuMat()
+__host__ GpuMat_<T>::GpuMat_(InputArray arr, Allocator* allocator)
+ : GpuMat(allocator)
{
flags = (flags & ~CV_MAT_TYPE_MASK) | DataType<T>::type;
upload(arr);
typedef T value_type;
//! default constructor
- __host__ GpuMat_();
+ __host__ GpuMat_(Allocator* allocator = defaultAllocator());
//! constructs GpuMat of the specified size
- __host__ GpuMat_(int arows, int acols);
- __host__ explicit GpuMat_(Size asize);
+ __host__ GpuMat_(int arows, int acols, Allocator* allocator = defaultAllocator());
+ __host__ explicit GpuMat_(Size asize, Allocator* allocator = defaultAllocator());
//! constucts GpuMat and fills it with the specified value
- __host__ GpuMat_(int arows, int acols, Scalar val);
- __host__ GpuMat_(Size asize, Scalar val);
+ __host__ GpuMat_(int arows, int acols, Scalar val, Allocator* allocator = defaultAllocator());
+ __host__ GpuMat_(Size asize, Scalar val, Allocator* allocator = defaultAllocator());
//! copy constructor
__host__ GpuMat_(const GpuMat_& m);
//! copy/conversion contructor. If m is of different type, it's converted
- __host__ explicit GpuMat_(const GpuMat& m);
+ __host__ explicit GpuMat_(const GpuMat& m, Allocator* allocator = defaultAllocator());
//! constructs a matrix on top of user-allocated data. step is in bytes(!!!), regardless of the type
__host__ GpuMat_(int arows, int acols, T* adata, size_t astep = Mat::AUTO_STEP);
__host__ GpuMat_(const GpuMat_& m, Rect roi);
//! builds GpuMat from host memory (Blocking call)
- __host__ explicit GpuMat_(InputArray arr);
+ __host__ explicit GpuMat_(InputArray arr, Allocator* allocator = defaultAllocator());
//! assignment operators
__host__ GpuMat_& operator =(const GpuMat_& m);