COMPMID-2856 Add PrintLayer at graph level

Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Change-Id: I8f02bb67adae8cc7d884f2417cc9c408985f0d5a
Reviewed-on: https://review.mlplatform.org/c/2546
Reviewed-by: Manuel Bottini <manuel.bottini@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
diff --git a/arm_compute/graph/GraphBuilder.h b/arm_compute/graph/GraphBuilder.h
index c178ae1..33c222d 100644
--- a/arm_compute/graph/GraphBuilder.h
+++ b/arm_compute/graph/GraphBuilder.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018-2019 ARM Limited.
+ * Copyright (c) 2018-2020 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -366,6 +366,19 @@
      * @return Node ID of the created node, EmptyNodeID in case of error
      */
     static NodeID add_pooling_node(Graph &g, NodeParams params, NodeIdxPair input, PoolingLayerInfo pool_info);
+    /** Adds a print layer node to the graph
+     *
+     * @param[in] g           Graph to add the node to
+     * @param[in] params      Common node parameters
+     * @param[in] input       Input to the print layer node as a NodeID-Index pair
+     * @param[in] stream      Output stream.
+     * @param[in] format_info (Optional) Format info.
+     * @param[in] transform   (Optional) Transformation function to be applied to the input tensor before printing.
+     *
+     * @return Node ID of the created node, EmptyNodeID in case of error
+     */
+    static NodeID add_print_node(Graph &g, NodeParams params, NodeIdxPair input, std::ostream &stream, const IOFormatInfo &format_info = IOFormatInfo(),
+                                 const std::function<ITensor *(ITensor *)> transform = nullptr);
     /** Adds a priorbox layer node to the graph
      *
      * @param[in] g          Graph to add the node to