aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/core
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2019-03-25 14:06:14 +0000
committerGeorgios Pinitas <georgios.pinitas@arm.com>2019-03-27 15:49:14 +0000
commitf52cd78acdedc9b4e2342daf2ca65578a6da28e1 (patch)
tree85850cc536a4360668a8a6185f691065fdb66c00 /arm_compute/core
parent8cf8c1123440c2002ee108d1949529bf21eac944 (diff)
downloadComputeLibrary-f52cd78acdedc9b4e2342daf2ca65578a6da28e1.tar.gz
COMPMID-1995: Minor code fixes.
-Remove FIXMEs and link to tickets. -Pass large object by const reference. -Implement copy assignment operator for Window. Change-Id: I975223ac42ec424f153569a8c963f29e6b86ad29 Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com> Reviewed-on: https://review.mlplatform.org/c/899 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Diffstat (limited to 'arm_compute/core')
-rw-r--r--arm_compute/core/Window.h17
-rw-r--r--arm_compute/core/Window.inl14
2 files changed, 28 insertions, 3 deletions
diff --git a/arm_compute/core/Window.h b/arm_compute/core/Window.h
index 73c8d4385b..a56227996b 100644
--- a/arm_compute/core/Window.h
+++ b/arm_compute/core/Window.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2018 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -56,6 +56,13 @@ public:
* @param[in] src Copy the values from src to a new object
*/
Window(const Window &src);
+ /** Copy assignment operator
+ *
+ * @param[in] rhs Copy the values from rhs to the current object
+ *
+ * @return Reference to the updated object
+ */
+ Window &operator=(const Window &rhs);
/** Describe one of the image's dimensions with a start, end and step.
*
@@ -384,6 +391,12 @@ public:
{
return broadcast_if_dimension_le_one(info.tensor_shape());
}
+ /** Friend function that swaps the contents of two windows
+ *
+ * @param[in] lhs First window to swap.
+ * @param[in] rhs Second window to swap.
+ */
+ friend void swap(Window &lhs, Window &rhs);
private:
/** First slice of the window
@@ -407,6 +420,6 @@ private:
private:
std::array<Dimension, Coordinates::num_max_dimensions> _dims;
};
-}
+} // namespace arm_compute
#include "Window.inl"
#endif /*__ARM_COMPUTE_WINDOW_H__ */
diff --git a/arm_compute/core/Window.inl b/arm_compute/core/Window.inl
index c6fc8848aa..eeef3df7b0 100644
--- a/arm_compute/core/Window.inl
+++ b/arm_compute/core/Window.inl
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2018 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -32,6 +32,13 @@ inline Window::Window(const Window &src)
}
}
+inline Window &Window::operator=(const arm_compute::Window &rhs)
+{
+ Window tmp(rhs);
+ swap(*this, tmp);
+ return *this;
+}
+
inline constexpr const Window::Dimension &Window::operator[](size_t dimension) const
{
// Precondition: dimension < Coordinates::num_max_dimensions
@@ -267,4 +274,9 @@ inline size_t Window::num_iterations_total() const
}
return total;
}
+
+inline void swap(Window &lhs, Window &rhs)
+{
+ lhs._dims.swap(rhs._dims);
}
+} // namespace arm_compute