diff --git a/latest/classarmnn_1_1_optimize_for_type_impl.html b/latest/classarmnn_1_1_optimize_for_type_impl.html
new file mode 100644
index 0000000..fd1fe85
--- /dev/null
+++ b/latest/classarmnn_1_1_optimize_for_type_impl.html
@@ -0,0 +1,234 @@
+<!-- HTML header for doxygen 1.8.17-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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="viewport" content="width=device-width, initial-scale=1"/>
+<title>Arm NN: OptimizeForTypeImpl&lt; BaseType, Wrapped &gt; Class Template Reference</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="customdoxygen.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: 15rem; margin-top: .5rem; margin-left 13px"/>
+  <td id="projectalign" style="padding-left: 0.9em;">
+   <div id="projectname">
+   &#160;<span id="projectnumber">23.08</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('classarmnn_1_1_optimize_for_type_impl.html',''); 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="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="classarmnn_1_1_optimize_for_type_impl-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">OptimizeForTypeImpl&lt; BaseType, Wrapped &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Wrapper <a class="el" href="classarmnn_1_1_optimization.html">Optimization</a> base class that calls Wrapped::Run() for every layer of type BaseType.  
+ <a href="classarmnn_1_1_optimize_for_type_impl.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="_optimization_8hpp_source.html">Optimization.hpp</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for OptimizeForTypeImpl&lt; BaseType, Wrapped &gt;:</div>
+<div class="dyncontent">
+<div class="center"><iframe scrolling="no" frameborder="0" src="classarmnn_1_1_optimize_for_type_impl__inherit__graph.svg" width="1212" height="242"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+</div>
+<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
+<div class="dynheader">
+Collaboration diagram for OptimizeForTypeImpl&lt; BaseType, Wrapped &gt;:</div>
+<div class="dyncontent">
+<div class="center"><iframe scrolling="no" frameborder="0" src="classarmnn_1_1_optimize_for_type_impl__coll__graph.svg" width="222" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+</div>
+<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a0c94c7fc320ff3451c159f726733a38d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimize_for_type_impl.html#a0c94c7fc320ff3451c159f726733a38d">Run</a> (<a class="el" href="classarmnn_1_1_graph.html">Graph</a> &amp;graph, <a class="el" href="classarmnn_1_1_layer.html">Layer</a> &amp;base) const override</td></tr>
+<tr class="separator:a0c94c7fc320ff3451c159f726733a38d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classarmnn_1_1_optimization"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarmnn_1_1_optimization')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarmnn_1_1_optimization.html">Optimization</a></td></tr>
+<tr class="memitem:abf796bec50bd8e210dc44b9531132e69 inherit pub_methods_classarmnn_1_1_optimization"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization.html#abf796bec50bd8e210dc44b9531132e69">Optimization</a> ()=default</td></tr>
+<tr class="separator:abf796bec50bd8e210dc44b9531132e69 inherit pub_methods_classarmnn_1_1_optimization"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af977853d9ce764161e4a1bed308f0e57 inherit pub_methods_classarmnn_1_1_optimization"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization.html#af977853d9ce764161e4a1bed308f0e57">~Optimization</a> ()=default</td></tr>
+<tr class="separator:af977853d9ce764161e4a1bed308f0e57 inherit pub_methods_classarmnn_1_1_optimization"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a14dc566d3fc3bd5380998a26190b8124"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimize_for_type_impl.html#a14dc566d3fc3bd5380998a26190b8124">~OptimizeForTypeImpl</a> ()=default</td></tr>
+<tr class="separator:a14dc566d3fc3bd5380998a26190b8124"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename BaseType, typename Wrapped&gt;<br />
+class armnn::OptimizeForTypeImpl&lt; BaseType, Wrapped &gt;</h3>
+
+<p>Wrapper <a class="el" href="classarmnn_1_1_optimization.html">Optimization</a> base class that calls Wrapped::Run() for every layer of type BaseType. </p>
+<ul>
+<li>Wrapped class mustn't remove the base layer. The optimizer will remove it if left unconnected after applying each optimization. </li>
+</ul>
+
+<p class="definition">Definition at line <a class="el" href="_optimization_8hpp_source.html#l00033">33</a> of file <a class="el" href="_optimization_8hpp_source.html">Optimization.hpp</a>.</p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a14dc566d3fc3bd5380998a26190b8124"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a14dc566d3fc3bd5380998a26190b8124">&#9670;&nbsp;</a></span>~OptimizeForTypeImpl()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">~<a class="el" href="classarmnn_1_1_optimize_for_type_impl.html">OptimizeForTypeImpl</a> </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">default</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a0c94c7fc320ff3451c159f726733a38d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0c94c7fc320ff3451c159f726733a38d">&#9670;&nbsp;</a></span>Run()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void Run </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classarmnn_1_1_graph.html">Graph</a> &amp;&#160;</td>
+          <td class="paramname"><em>graph</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classarmnn_1_1_layer.html">Layer</a> &amp;&#160;</td>
+          <td class="paramname"><em>base</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Implements <a class="el" href="classarmnn_1_1_optimization.html#aa074082916688cd92fa942f89a4e5274">Optimization</a>.</p>
+
+<p class="definition">Definition at line <a class="el" href="_optimization_8hpp_source.html#l00038">38</a> of file <a class="el" href="_optimization_8hpp_source.html">Optimization.hpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    {</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        <span class="keywordflow">if</span> (base.GetType() == LayerEnumOf&lt;BaseType&gt;())</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        {</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;            Wrapped::Run(graph, *PolymorphicDowncast&lt;BaseType*&gt;(&amp;base));</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        }</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>src/armnn/optimizations/<a class="el" href="_optimization_8hpp_source.html">Optimization.hpp</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="navelem"><a class="el" href="namespacearmnn.html">armnn</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_optimize_for_type_impl.html">OptimizeForTypeImpl</a></li>
+    <li class="footer">Generated on Tue Aug 22 2023 11:37:08 for Arm NN 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>
