aboutsummaryrefslogtreecommitdiff
path: root/arm_compute
diff options
context:
space:
mode:
Diffstat (limited to 'arm_compute')
-rw-r--r--arm_compute/core/CL/ICLArray.h4
-rw-r--r--arm_compute/core/Window.inl2
-rw-r--r--arm_compute/runtime/CL/CLArray.h11
3 files changed, 13 insertions, 4 deletions
diff --git a/arm_compute/core/CL/ICLArray.h b/arm_compute/core/CL/ICLArray.h
index e12695f206..6c3dbcd170 100644
--- a/arm_compute/core/CL/ICLArray.h
+++ b/arm_compute/core/CL/ICLArray.h
@@ -43,7 +43,9 @@ public:
ICLArray(const ICLArray &) = delete;
ICLArray &operator=(const ICLArray &) = delete;
- virtual ~ICLArray() = default;
+ ICLArray(ICLArray &&) = default;
+ ICLArray &operator=(ICLArray &&) = default;
+ virtual ~ICLArray() = default;
/** Interface to be implemented by the child class to return a reference to the OpenCL buffer containing the array's data.
*
* @return A reference to an OpenCL buffer containing the array's data.
diff --git a/arm_compute/core/Window.inl b/arm_compute/core/Window.inl
index 6b02128797..e46a0ec8f7 100644
--- a/arm_compute/core/Window.inl
+++ b/arm_compute/core/Window.inl
@@ -114,7 +114,7 @@ inline void Window::validate() const
for(size_t i = 0; i < Coordinates::num_max_dimensions; ++i)
{
ARM_COMPUTE_ERROR_ON(_dims[i].step() == 0);
- ARM_COMPUTE_ERROR_ON(_dims[i].end() <= _dims[i].start());
+ ARM_COMPUTE_ERROR_ON(_dims[i].end() < _dims[i].start());
ARM_COMPUTE_ERROR_ON((_dims[i].end() - _dims[i].start()) % _dims[i].step());
}
}
diff --git a/arm_compute/runtime/CL/CLArray.h b/arm_compute/runtime/CL/CLArray.h
index 3dc7f19bc7..dda26e2e89 100644
--- a/arm_compute/runtime/CL/CLArray.h
+++ b/arm_compute/runtime/CL/CLArray.h
@@ -37,16 +37,23 @@ template <class T>
class CLArray : public ICLArray<T>
{
public:
+ /** Default constructor: empty array */
+ CLArray()
+ : ICLArray<T>(0), _buffer()
+ {
+ }
/** Prevent instances of this class from being copied (As this class contains pointers) */
CLArray(const CLArray &) = delete;
/** Prevent instances of this class from being copied (As this class contains pointers) */
- const CLArray &operator=(const CLArray &) = delete;
+ CLArray &operator=(const CLArray &) = delete;
+ CLArray(CLArray &&) = default;
+ CLArray &operator=(CLArray &&) = default;
/** Constructor: initializes an array which can contain up to max_num_points values
*
* @param[in] max_num_values Maximum number of values the array will be able to stored
*/
CLArray(size_t max_num_values)
- : ICLArray<T>(max_num_values), _buffer(cl::Buffer(CLScheduler::get().context(), CL_MEM_ALLOC_HOST_PTR | CL_MEM_READ_WRITE, max_num_values * sizeof(T)))
+ : ICLArray<T>(max_num_values), _buffer(CLScheduler::get().context(), CL_MEM_ALLOC_HOST_PTR | CL_MEM_READ_WRITE, max_num_values * sizeof(T))
{
}
/** Enqueue a map operation of the allocated buffer.