COMPMID-2649: Generalize MemoryGroup.

Avoids any upcasting.

Change-Id: I2181c7c9df59a7fb8a78e11934fbd96058fd39c7
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-on: https://review.mlplatform.org/c/1918
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
diff --git a/arm_compute/runtime/CL/CLTensor.h b/arm_compute/runtime/CL/CLTensor.h
index 65ff4f2..bc72839 100644
--- a/arm_compute/runtime/CL/CLTensor.h
+++ b/arm_compute/runtime/CL/CLTensor.h
@@ -37,7 +37,7 @@
 class ITensorInfo;
 
 /** Basic implementation of the OpenCL tensor interface */
-class CLTensor : public ICLTensor
+class CLTensor : public ICLTensor, public IMemoryManageable
 {
 public:
     /** Constructor */
@@ -68,6 +68,7 @@
     TensorInfo       *info() override;
     const cl::Buffer &cl_buffer() const override;
     CLQuantization    quantization() const override;
+    void associate_memory_group(IMemoryGroup *memory_group) override;
 
 protected:
     // Inherited methods overridden:
@@ -80,5 +81,5 @@
 
 /** OpenCL Image */
 using CLImage = CLTensor;
-}
+} // namespace arm_compute
 #endif /*__ARM_COMPUTE_CLTENSOR_H__ */