diff --git a/23.05/globals_c.xhtml b/23.05/globals_c.xhtml
new file mode 100644
index 0000000..cb43c91
--- /dev/null
+++ b/23.05/globals_c.xhtml
@@ -0,0 +1,297 @@
+<!-- Copyright (c) 2020 ARM Limited. -->
+<!--                                 -->
+<!-- SPDX-License-Identifier: MIT    -->
+<!--                                 -->
+<!-- HTML header for doxygen 1.8.13-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="robots" content="NOINDEX, NOFOLLOW" />
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>ArmNN: File Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/x-mathjax-config">
+  MathJax.Hub.Config({
+    extensions: ["tex2jax.js"],
+    jax: ["input/TeX","output/HTML-CSS"],
+});
+</script>
+<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="stylesheet.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 10rem; margin-top: .5rem; margin-left 10px"/>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   &#160;<span id="projectnumber">23.05</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('globals_c.xhtml',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a id="index_c"></a>- c -</h3><ul>
+<li>CHECK_BUFFER
+: <a class="el" href="_tf_lite_parser_8cpp.xhtml#a7c88d54e3f895030c70330a4c9d76a7a">TfLiteParser.cpp</a>
+</li>
+<li>CHECK_BUFFER_SIZE
+: <a class="el" href="_tf_lite_parser_8cpp.xhtml#ae6440b8ea95cf981cd7bbffa52c22fe1">TfLiteParser.cpp</a>
+</li>
+<li>CHECK_CONST_TENSOR_PTR
+: <a class="el" href="_deserializer_8cpp.xhtml#a637ba180b64a3cd1a4f83d048a030772">Deserializer.cpp</a>
+</li>
+<li>CHECK_CONST_TENSOR_SIZE
+: <a class="el" href="_deserializer_8cpp.xhtml#aa6fd9c6c98bdd08620d75cac3a2e17e6">Deserializer.cpp</a>
+</li>
+<li>CHECK_GRAPH
+: <a class="el" href="_deserializer_8cpp.xhtml#ab90eef134463f7b44cd4c9cfb2529825">Deserializer.cpp</a>
+</li>
+<li>CHECK_LAYERS
+: <a class="el" href="_deserializer_8cpp.xhtml#aa6798881c467e8e1a1906303f6d9e26d">Deserializer.cpp</a>
+</li>
+<li>CHECK_LOCATION
+: <a class="el" href="_exceptions_8hpp.xhtml#aa3be76aec4ce713822a5ea1ecbb7bc61">Exceptions.hpp</a>
+</li>
+<li>CHECK_MODEL
+: <a class="el" href="_tf_lite_parser_8cpp.xhtml#afbe702264a4e175da37c4941c0894bdb">TfLiteParser.cpp</a>
+</li>
+<li>CHECK_SUBGRAPH
+: <a class="el" href="_tf_lite_parser_8cpp.xhtml#a315ccf3e3cb207b1fbd10a2ad3e6333a">TfLiteParser.cpp</a>
+</li>
+<li>CHECK_SUPPORTED_FUSED_ACTIVATION
+: <a class="el" href="_tf_lite_parser_8cpp.xhtml#ac578671d13bca92fee7f492110247cbf">TfLiteParser.cpp</a>
+</li>
+<li>CHECK_TENSOR
+: <a class="el" href="_tf_lite_parser_8cpp.xhtml#aa1664dc13adbc85ac12fb584b76bfdae">TfLiteParser.cpp</a>
+</li>
+<li>CHECK_TENSOR_PTR
+: <a class="el" href="_deserializer_8cpp.xhtml#ae38d96fe05581ea025713b3e781c5a43">Deserializer.cpp</a>
+, <a class="el" href="_tf_lite_parser_8cpp.xhtml#ae38d96fe05581ea025713b3e781c5a43">TfLiteParser.cpp</a>
+</li>
+<li>CHECK_VALID_DATATYPE
+: <a class="el" href="_onnx_parser_8cpp.xhtml#a71cae957feb9162183d6f62fd549ffe1">OnnxParser.cpp</a>
+</li>
+<li>CHECK_VALID_SIZE
+: <a class="el" href="_verification_helpers_8hpp.xhtml#a479b2821a7a2cbb8fa8eb7f60a47065d">VerificationHelpers.hpp</a>
+</li>
+<li>CHECKED_INT32
+: <a class="el" href="_verification_helpers_8hpp.xhtml#aa693ef8620e450b6362938828002f2a6">VerificationHelpers.hpp</a>
+</li>
+<li>CHECKED_NON_NEGATIVE
+: <a class="el" href="_verification_helpers_8hpp.xhtml#aaef93dc9a69f51b59f3cdd0ff0165927">VerificationHelpers.hpp</a>
+</li>
+<li>CheckNumberOfInputSlot()
+: <a class="el" href="_graph_utils_8cpp.xhtml#a4c04337db4d5f380219a005657a8223b">GraphUtils.cpp</a>
+, <a class="el" href="_graph_utils_8hpp.xhtml#a4c04337db4d5f380219a005657a8223b">GraphUtils.hpp</a>
+</li>
+<li>CheckNumberOfOutputSlot()
+: <a class="el" href="_graph_utils_8cpp.xhtml#aada2e27f100807f5786eecb03390ba58">GraphUtils.cpp</a>
+, <a class="el" href="_graph_utils_8hpp.xhtml#aada2e27f100807f5786eecb03390ba58">GraphUtils.hpp</a>
+</li>
+<li>CheckOrder()
+: <a class="el" href="_graph_utils_8cpp.xhtml#a21d963c71be62057ed99b5007e7bbbfd">GraphUtils.cpp</a>
+, <a class="el" href="_graph_utils_8hpp.xhtml#a21d963c71be62057ed99b5007e7bbbfd">GraphUtils.hpp</a>
+</li>
+<li>CheckRelatedLayers()
+: <a class="el" href="_test_utils_8hpp.xhtml#a5feebf8a18dcfe73ccc0c97c82fcb032">TestUtils.hpp</a>
+</li>
+<li>CheckSequence()
+: <a class="el" href="_test_utils_8hpp.xhtml#a0eedb278f57355b47fa983450d4e378c">TestUtils.hpp</a>
+</li>
+<li>Clip()
+: <a class="el" href="_lstm_utils_8cpp.xhtml#ad5b8e4843a3b303d5b56c0a70dbfd1bf">LstmUtils.cpp</a>
+, <a class="el" href="_lstm_utils_8hpp.xhtml#ad5b8e4843a3b303d5b56c0a70dbfd1bf">LstmUtils.hpp</a>
+</li>
+<li>ClipVector()
+: <a class="el" href="_lstm_utils_8cpp.xhtml#a117781e8e9b7321722bbdd8ff74b484a">LstmUtils.cpp</a>
+, <a class="el" href="_lstm_utils_8hpp.xhtml#a117781e8e9b7321722bbdd8ff74b484a">LstmUtils.hpp</a>
+</li>
+<li>Compare()
+: <a class="el" href="_common_test_utils_8hpp.xhtml#ae828f1d70436f4ad1e74a5c4ecf96929">CommonTestUtils.hpp</a>
+</li>
+<li>CompareRefTestFunction()
+: <a class="el" href="_unit_tests_8hpp.xhtml#a2d8f71b48349370e1d5c0a9b39e3d162">UnitTests.hpp</a>
+</li>
+<li>CompareRefTestFunctionUsingTensorHandleFactory()
+: <a class="el" href="_unit_tests_8hpp.xhtml#a82ab208235e164dca8c02f925e03dc44">UnitTests.hpp</a>
+</li>
+<li>CompareTestResultIfSupported()
+: <a class="el" href="_unit_tests_8hpp.xhtml#acbe506e0365feeed352effe52b1e4852">UnitTests.hpp</a>
+</li>
+<li>ConfigureLoggingTest()
+: <a class="el" href="_unit_tests_8hpp.xhtml#af9e4dd62da9266a1364032ada0267f9b">UnitTests.hpp</a>
+</li>
+<li>Connect()
+: <a class="el" href="_test_utils_8cpp.xhtml#a0b295acb179f15eb3fb862b32008f782">TestUtils.cpp</a>
+, <a class="el" href="_test_utils_8hpp.xhtml#a6229539fdf0a5a0f667620174a69fe5a">TestUtils.hpp</a>
+</li>
+<li>CONSTRUCT_IN_PLACE
+: <a class="el" href="_optional_8hpp.xhtml#acbec11f88a308826fa811f370d363a4a">Optional.hpp</a>
+</li>
+<li>Contains()
+: <a class="el" href="_common_test_utils_8hpp.xhtml#a5fa64e793b38cf9074e6fcdb2c9c7293">CommonTestUtils.hpp</a>
+</li>
+<li>ConvertAvgPool2DIgnoreValueToTosaOperator()
+: <a class="el" href="_avg_pool2_d_ignore_value_operator_8cpp.xhtml#a26533443785461820d946b113f12bc97">AvgPool2DIgnoreValueOperator.cpp</a>
+, <a class="el" href="_avg_pool2_d_ignore_value_operator_8hpp.xhtml#a26533443785461820d946b113f12bc97">AvgPool2DIgnoreValueOperator.hpp</a>
+</li>
+<li>ConvertConcatToTosaOperator()
+: <a class="el" href="_concat_operator_8cpp.xhtml#ab703c7d091e3b0c9bdbf3a0da16aa8c7">ConcatOperator.cpp</a>
+, <a class="el" href="_concat_operator_8hpp.xhtml#ab703c7d091e3b0c9bdbf3a0da16aa8c7">ConcatOperator.hpp</a>
+</li>
+<li>ConvertConstantTensorDataToBuffer()
+: <a class="el" href="_tosa_operator_utils_8hpp.xhtml#ae03fdd5482e75faa3b846bd021678f3b">TosaOperatorUtils.hpp</a>
+</li>
+<li>ConvertConstantToTosaOperator()
+: <a class="el" href="_constant_operator_8cpp.xhtml#a6251bd290e6037b34ce341c7506b49b7">ConstantOperator.cpp</a>
+, <a class="el" href="_constant_operator_8hpp.xhtml#a6251bd290e6037b34ce341c7506b49b7">ConstantOperator.hpp</a>
+</li>
+<li>ConvertConv2dToTosaOperator()
+: <a class="el" href="_conv2d_operator_8cpp.xhtml#a68084d1082900574f7bbc3c1e6a10ba0">Conv2dOperator.cpp</a>
+, <a class="el" href="_conv2d_operator_8hpp.xhtml#a68084d1082900574f7bbc3c1e6a10ba0">Conv2dOperator.hpp</a>
+</li>
+<li>ConvertElementwiseBinaryToTosaOperator()
+: <a class="el" href="_elementwise_binary_operator_8cpp.xhtml#a9b2cb86c35b6f93df14608390a3e70d7">ElementwiseBinaryOperator.cpp</a>
+, <a class="el" href="_elementwise_binary_operator_8hpp.xhtml#a9b2cb86c35b6f93df14608390a3e70d7">ElementwiseBinaryOperator.hpp</a>
+</li>
+<li>ConvertElementwiseUnaryOperator()
+: <a class="el" href="_elementwise_unary_operator_8cpp.xhtml#a99f70cdf08ee4d679bace71967e36de9">ElementwiseUnaryOperator.cpp</a>
+, <a class="el" href="_elementwise_unary_operator_8hpp.xhtml#a99f70cdf08ee4d679bace71967e36de9">ElementwiseUnaryOperator.hpp</a>
+</li>
+<li>ConvertPooling2DToTosaOperator()
+: <a class="el" href="_pooling2_d_operator_8hpp.xhtml#a8984e959093cbec520731a67a396c553">Pooling2DOperator.hpp</a>
+, <a class="el" href="_pooling2_d_operator_8cpp.xhtml#a8984e959093cbec520731a67a396c553">Pooling2DOperator.cpp</a>
+</li>
+<li>ConvertReshapeToTosaOperator()
+: <a class="el" href="_reshape_operator_8hpp.xhtml#afce169c8927468aab621fe3400a8d317">ReshapeOperator.hpp</a>
+, <a class="el" href="_reshape_operator_8cpp.xhtml#afce169c8927468aab621fe3400a8d317">ReshapeOperator.cpp</a>
+</li>
+<li>ConvertSliceToTosaOperator()
+: <a class="el" href="_slice_operator_8cpp.xhtml#aa5b008264274541ea86993429005d003">SliceOperator.cpp</a>
+, <a class="el" href="_slice_operator_8hpp.xhtml#aa5b008264274541ea86993429005d003">SliceOperator.hpp</a>
+</li>
+<li>ConvertToDataType()
+: <a class="el" href="_data_type_utils_8hpp.xhtml#a5108a466fa589ec9d98b29aead0a5ccf">DataTypeUtils.hpp</a>
+</li>
+<li>ConvertTransposeConv2dToTosaOperator()
+: <a class="el" href="_transpose_conv2d_operator_8hpp.xhtml#a6d30ef27a71abb69a0bb31d398759fda">TransposeConv2dOperator.hpp</a>
+, <a class="el" href="_transpose_conv2d_operator_8cpp.xhtml#a6d30ef27a71abb69a0bb31d398759fda">TransposeConv2dOperator.cpp</a>
+</li>
+<li>ConvertTransposeToTosaOperator()
+: <a class="el" href="_transpose_operator_8cpp.xhtml#ae1ed6c9514a6fbddb536941d4350abb3">TransposeOperator.cpp</a>
+, <a class="el" href="_transpose_operator_8hpp.xhtml#ae1ed6c9514a6fbddb536941d4350abb3">TransposeOperator.hpp</a>
+</li>
+<li>CopyDataFromITensorHandle()
+: <a class="el" href="_tensor_copy_utils_8cpp.xhtml#a99b626c58a926dc7d6df78d22ec186c8">TensorCopyUtils.cpp</a>
+</li>
+<li>CopyDataToITensorHandle()
+: <a class="el" href="_tensor_copy_utils_8cpp.xhtml#ae15f1a3c55d2db87683577de9fa4437c">TensorCopyUtils.cpp</a>
+</li>
+<li>CopyVector()
+: <a class="el" href="_lstm_utils_8cpp.xhtml#a00d8a623c04f1120f6fee3fe38d1cee9">LstmUtils.cpp</a>
+, <a class="el" href="_lstm_utils_8hpp.xhtml#a00d8a623c04f1120f6fee3fe38d1cee9">LstmUtils.hpp</a>
+</li>
+<li>CreateBackendObject()
+: <a class="el" href="_common_test_utils_8hpp.xhtml#a7a4090354279f08b1e27244bab25aa86">CommonTestUtils.hpp</a>
+, <a class="el" href="_common_test_utils_8cpp.xhtml#a7a4090354279f08b1e27244bab25aa86">CommonTestUtils.cpp</a>
+</li>
+<li>CreateEmptyTosaSerializationBasicBlock()
+: <a class="el" href="_tosa_mappings_8cpp.xhtml#a4f2946ee396f814b2e002f1b5dc1ea12">TosaMappings.cpp</a>
+</li>
+<li>CreateInputsFrom()
+: <a class="el" href="_common_test_utils_8cpp.xhtml#a175e573ad9edfd57e06bf0f74df6d5f2">CommonTestUtils.cpp</a>
+, <a class="el" href="_common_test_utils_8hpp.xhtml#acf0f7bc470dd0c25766f3e730df086f4">CommonTestUtils.hpp</a>
+</li>
+<li>CreateOutputsFrom()
+: <a class="el" href="_common_test_utils_8hpp.xhtml#a42a94b723fe2a28cd2d942dc54321d02">CommonTestUtils.hpp</a>
+, <a class="el" href="_common_test_utils_8cpp.xhtml#a23a17b36dfd2e677e95d375000cec464">CommonTestUtils.cpp</a>
+</li>
+<li>CreateSubgraphViewFrom()
+: <a class="el" href="_common_test_utils_8hpp.xhtml#abf999283bc03f1bafd01680149ed7e3e">CommonTestUtils.hpp</a>
+, <a class="el" href="_common_test_utils_8cpp.xhtml#a3ed487c53d08c08186837be90030a855">CommonTestUtils.cpp</a>
+</li>
+<li>CXXOPTS_VECTOR_DELIMITER
+: <a class="el" href="_armnn_converter_8cpp.xhtml#a564e0c1dcc7d9a5202f36755f4fb07c7">ArmnnConverter.cpp</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Thu May 18 2023 10:35:52 for ArmNN by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>
