COMPMID-2205: CL runtime context.

CL Interfaces implemented.
Concrete classes implemented.
One test (ActivationLayer) ported to the new interface.

Change-Id: I283808bec36ccfc2f13fe048c45cbbee698ce525
Signed-off-by: Pablo Tello <pablo.tello@arm.com>
Reviewed-on: https://review.mlplatform.org/c/1998
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
diff --git a/arm_compute/runtime/CL/CLTensorAllocator.h b/arm_compute/runtime/CL/CLTensorAllocator.h
index 3450c72..b3ffd8b 100644
--- a/arm_compute/runtime/CL/CLTensorAllocator.h
+++ b/arm_compute/runtime/CL/CLTensorAllocator.h
@@ -37,7 +37,7 @@
 namespace arm_compute
 {
 class CLTensor;
-
+class CLRuntimeContext;
 /** Basic implementation of a CL memory tensor allocator. */
 class CLTensorAllocator : public ITensorAllocator
 {
@@ -45,8 +45,9 @@
     /** Default constructor.
      *
      * @param[in] owner (Optional) Owner of the allocator.
+     * @param[in] ctx   (Optional) Runtime context.
      */
-    CLTensorAllocator(IMemoryManageable *owner = nullptr);
+    CLTensorAllocator(IMemoryManageable *owner = nullptr, CLRuntimeContext *ctx = nullptr);
     /** Prevent instances of this class from being copied (As this class contains pointers) */
     CLTensorAllocator(const CLTensorAllocator &) = delete;
     /** Prevent instances of this class from being copy assigned (As this class contains pointers) */
@@ -139,6 +140,7 @@
     static const cl::Buffer _empty_buffer;
 
 private:
+    CLRuntimeContext *_ctx;
     IMemoryManageable *_owner;                   /**< Memory manageable object that owns the allocator */
     IMemoryGroup      *_associated_memory_group; /**< Registered memory manager */
     CLMemory           _memory;                  /**< OpenCL memory */