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/GLES_COMPUTE/GCTensor.h b/arm_compute/runtime/GLES_COMPUTE/GCTensor.h
index 05305f9..344c788 100644
--- a/arm_compute/runtime/GLES_COMPUTE/GCTensor.h
+++ b/arm_compute/runtime/GLES_COMPUTE/GCTensor.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2018 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -34,7 +34,7 @@
 class ITensorInfo;
 
 /** Interface for OpenGL ES tensor */
-class GCTensor : public IGCTensor
+class GCTensor : public IGCTensor, public IMemoryManageable
 {
 public:
     /** Default constructor */
@@ -84,6 +84,7 @@
     TensorInfo *info() override;
     uint8_t    *buffer() const override;
     GLuint      gc_buffer() const override;
+    void associate_memory_group(IMemoryGroup *memory_group) override;
 
 protected:
     // Inherited methods overridden:
@@ -96,6 +97,5 @@
 
 /** OpenGL ES Image */
 using GCImage = GCTensor;
-}
-
+} // namespace arm_compute
 #endif /*__ARM_COMPUTE_GCTENSOR_H__ */