COMPMID-1995: Prepare Graph to support different input/output quantization info

- Added support for different input/output qinfo in ActivationLayer and DepthwiseConv
- Added support for different input/output qinfo in ConcatenateLayer introducing ConcatDescriptor
- Added reshape validate
- Allow OutputLayer to return a specific connection index from the input
- Not run Inplace and Depth mutator when input/output quantization info are different

Change-Id: I03f5e416fc43ddd284e1501887202a3145f76d8a
Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com>
Reviewed-on: https://review.mlplatform.org/c/852
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
diff --git a/arm_compute/graph/nodes/ConcatenateLayerNode.h b/arm_compute/graph/nodes/ConcatenateLayerNode.h
index 20c8523..fc12284 100644
--- a/arm_compute/graph/nodes/ConcatenateLayerNode.h
+++ b/arm_compute/graph/nodes/ConcatenateLayerNode.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -36,10 +36,10 @@
 public:
     /** Constructor
      *
-     * @param[in] total_nodes Number of nodes that will get concatenated
-     * @param[in] axis        Concatenation axis
+     * @param[in] total_nodes       Number of nodes that will get concatenated
+     * @param[in] concat_descriptor Concatenate Layer Descriptor
      */
-    ConcatenateLayerNode(unsigned int total_nodes, DataLayoutDimension axis);
+    ConcatenateLayerNode(unsigned int total_nodes, descriptors::ConcatLayerDescriptor concat_descriptor);
     /** Computes concatenations output descriptor
      *
      * @param[in] input_descriptors Input descriptors
@@ -68,6 +68,12 @@
      */
     DataLayoutDimension concatenation_axis() const;
 
+    /** Concatenation output quantization info accessor
+     *
+     * @return Output quantization info
+     */
+    QuantizationInfo output_quantization_info() const;
+
     // Inherited overridden methods:
     NodeType         type() const override;
     bool             forward_descriptors() override;
@@ -75,9 +81,9 @@
     void accept(INodeVisitor &v) override;
 
 private:
-    unsigned int        _total_nodes;
-    DataLayoutDimension _axis;
-    bool                _is_enabled;
+    unsigned int                       _total_nodes;
+    descriptors::ConcatLayerDescriptor _concat_descriptor;
+    bool                               _is_enabled;
 };
 } // namespace graph
 } // namespace arm_compute